Matlab Simulink Function Block

5 visualizaciones (últimos 30 días)
BILAL ASAD
BILAL ASAD el 23 de Ag. de 2018
Comentada: BILAL ASAD el 24 de Ag. de 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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Modeling en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by