Simulink does not support code generation issue.
6 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I am trying to replace a 3-point summing block with a function block.
First I started by placing the code inside the function block:
function y = fcn(u)
sys1 = tf(0.5,[1 0 0 4]);
sys2 = tf([3 0.5],[1 0 15]);
sys3 = tf(1,[1 1]);
y = sys1 + sys2 + sys3;
However I was greeted with an error saying that Simulink does not support code generation.
"The 'tf' class does not support code generation."
I then came across a similar problem here: https://nl.mathworks.com/matlabcentral/answers/74770-is-there-any-way-to-disable-code-generation-in-simulink
I am trying to implement an extrinsic function or'wrapper function` with some difficulty. I created a new script called myWrapper.m, containing the same code:
function y = myWrapper(u)
sys1 = tf(0.5,[1 0 0 0 4]);
sys2 = tf([3 5],[1 0 15]);
sys3 = tf(1,[1 1]);
y = sys1 + sys2 + sys3;
and the MATLAB Function edited to:
function y1 = fcn(u1)
y1 = myWrapper(u1);
The error persists.
I somehow want to access `myWrapper.m` file from the MATLAB Function block. Any pointers on how this should be done? Following the previous link given and the [official docs][2] I am ending up with something like this in my MATLAB Function block:
function y = fcn(u)coder.extrinsic('myWrapper')
y = myWrapper(u);
The last code above is syntactically incorrect and I am at a loss on how it should be done. MATLAB automaticaly corrects the above code to:
function y = fcn(u,coder,extrinsic, myWrapper )
y = myWrapper(u);
which is not what I want.
Any tips on how this could be done would be appreciated.
0 comentarios
Respuestas (0)
Ver también
Categorías
Más información sobre Sources en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!