How do I avoid hardcoding output size when using simulink coder.extrinsic?
Mostrar comentarios más antiguos
I have a matlab function 'control_fun' that I'm using in a simulink model. It does not compile with codegen so I'm using coder.extrinsic to run the model. The problem is that I have to hardcode the size of the output of controlfun when I would like this to be parameter that can change (not during a simulation, but between simulations). I use a simulink matlab-function to call the control_fun.
This works:
function u = call_control_fun(data, parameter) % parameter = 5
coder.extrinsic('control_fun')
u = zeros(5,1);
u = control_fun(data)
But this doesn't:
function u = call_control_fun(data, parameter) % parameter = 5
coder.extrinsic('control_fun')
u = zeros(parameter, 1);
u = control_fun(data)
This results in an error:
Block ''call_controlfun'' does not fully set the dimensions of output 'u'.
I have tried playing with coder.varsize but haven't gotten anything to work.
1 comentario
Josiah Wai
el 1 de Mayo de 2023
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Event Functions en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!