How to solve a matlab function on simulink? (output cannot be an mxArray in this context)
Afficher commentaires plus anciens
I'm using a matlab function on simulink like this:
function [u1,u2] = fcn(To,desf,clock)
t = clock;
F=1/To;
coder.extrinsic('square');
u1=square(2*pi*F*t);
u2=square(2*pi*F*(t-desf));
end
But appears this mistake:
Function output 'u1' cannot be an mxArray in this contextoutput 'u1' cannot be an mxArray in this context. Consider preinitializing the output variable with a known type. Function 'Controlador/Controlo/Modelador/MATLAB Function1' (#248.10.12), line 1, column 11: "u1" Launch diagnostic report.
How do I solve this?
Réponses (1)
Walter Roberson
le 4 Jan 2019
u1 = zeros(size(t));
u2 = zeros(size(t));
before doing the current assignments to u1 and u2.
2 commentaires
Rafael Cordero
le 20 Oct 2020
What if you don't know what the size of u1 and u2 will be? Is there a way around that?
Walter Roberson
le 20 Oct 2020
I am not sure. You might be able to use coder.varsize
Catégories
En savoir plus sur Simulink dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!