Matlab Simulink Function Block
1 view (last 30 days)
Show older comments
BILAL ASAD
on 23 Aug 2018
Commented: BILAL ASAD
on 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
0 Comments
Accepted Answer
Walter Roberson
on 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.
More Answers (0)
See Also
Categories
Find more on String in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!