MATLAB function gives me error
Afficher commentaires plus anciens
Hello,
As you can see from the photo I attached, I am trying to run a simulink model that uses MUX blocks, Matlab function block, and integrator in a feedback loop.

The code in the Matlab function is:
function y = fcn(u)
vta = u(1); vtb = u(2); vtc = u(3);
ea = u(4); eb = u(5); ec = u(6);
ia = u(7); ib = u(8); ic = u(9);
iLa = u(10); iLb = u(11); iLc = u(12);
R = 0.02; L = 0.04; RL = 3; LL = 0.01; C = 0.001;
de = (1/C)*[ia-iLa;ib-iLb;ic-iLc];
di = (1/L)*[vta-ea-R*ia; vtb-eb-R*ib; vtc-ec-R*ic];
diL = (1/LL)*[ea-RL*iLa; eb-RL*iLb; ec-RL*iLc];
y = [de;di;diL];
And the error is:

Could you please help me how to troubleshoot it? I think the issue has to do with the feedback loop but I don't know how to fix it.
Thank you
Réponse acceptée
Plus de réponses (1)
Walter Roberson
le 21 Jan 2022
1 vote
Those solid markings appear to me to indicate that you are using a Simulink Bus Creator https://www.mathworks.com/help/simulink/slref/buscreator.html
If you were concatenating the elements into a vector, you would see hollow white blocks instead of filled blocks; see https://www.mathworks.com/help/simulink/slref/vectorconcatenate.html
You can either switch to using vector concatenate and have the signal be a vector, or before you send the bus into the function block you can convert to vector; https://www.mathworks.com/help/simulink/slref/bustovector.html
1 commentaire
Milad Shojaee
le 21 Jan 2022
Catégories
En savoir plus sur General Applications 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!