matrix loop doesnt work

how can i make a loop with the matrix a, because its not working
G=10*10-9;%
l=1*10^-3;
c=10*10^-9;
u=4*pi*10^-7;
e=(l*c)/u;
g=(u*G)/l;
vs=1;
f=60;
zs=50;
long=10:10:100;
w=2*pi*f;
z0=((j*w*l)/(g+j*w*c))^(1/2);
prop=(j*w*l*(g+j*w*c))^(1/2);
zl=30+10j;
%problem%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:length(long)
a=[(z0+zs) (z0-zs);(z0-zl)*exp(-prop*long(i)) (z0+zl)*exp(prop*long(i))];
b=[z0*vs;0];
ain=inv(a);
v=ain*b;
vp(i) = v(1);
vn(i) = v(2);
vt(i)=vp(i)+vn(i);
end
plot(long,vt)
Warning: Imaginary parts of complex X and/or Y arguments ignored.

3 个评论

Could you please clarify what you mean by "it's not working"? I ran the code in your question, and there are no errors and it created a plot. How is this not what you expected?
Jan
Jan 2021-11-13
编辑:Jan 2021-11-13
"It is not working" is not a useful description of the problem. Yu know already, what's going wrong. Then it helps to solve your problem, if you share this knowledge.
Your code runs fine. So maybe the result differ from your expectations?
See if the expm function helps to produce the desired result.
It looks as though the code is attempting to model a state-space system of some sort, although it is not clear to me what it does.
.
.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by