How to solve a matlab function on simulink? (output cannot be an mxArray in this context)
24 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
Walter Roberson
2019-1-4
u1 = zeros(size(t));
u2 = zeros(size(t));
before doing the current assignments to u1 and u2.
2 个评论
Rafael Cordero
2020-10-20
What if you don't know what the size of u1 and u2 will be? Is there a way around that?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 MATLAB Report Generator 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!