Borrar filtros
Borrar filtros

Simulink does not support code generation issue.

6 visualizaciones (últimos 30 días)
Ryan Rizzo
Ryan Rizzo el 20 de Mzo. de 2018
Editada: Ryan Rizzo el 20 de Mzo. de 2018
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 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.

Respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by