Matlab Simulink Function Block

5 Ansichten (letzte 30 Tage)
BILAL ASAD
BILAL ASAD am 23 Aug. 2018
Kommentiert: BILAL ASAD am 24 Aug. 2018
Hi, I am trying to make a matrix using function. It works as a separate function but when I use it in Simulink Matlab Function block it gives error. Please help me to figure it out. Thanks in anticipation. Regards
function Induc = Lsrm(theta)
nb=27;
Nr=1;
Ns=30;
Lm=0.04;
for x=1:3
for y=1:nb
if x==1
L(x,y)=cos(theta+(2*(y-1)*pi/nb));
elseif x==2
L(x,y)=cos(theta+(4*pi/3)+(2*(y-1)*pi/nb));
else
L(x,y)=cos(theta+(2*pi/3)+(2*(y-1)*pi/nb));
end
end
end
Induc=((Nr/Ns)*Lm)*L;
end

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 23 Aug. 2018
You need to initialize L to full size. Simulink arrays can only grow beyond their first assignment if they are specially built.
  1 Kommentar
BILAL ASAD
BILAL ASAD am 24 Aug. 2018
I initialize a zero matrix first, it works now for me. Thanks a lot

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Modeling finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by