MATLAB function gives me error
Mostrar comentarios más antiguos
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
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 21 de En. de 2022
1 voto
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 comentario
Milad Shojaee
el 21 de En. de 2022
Categorías
Más información sobre General Applications 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!