xufeng1988 发表于 2009-4-28 06:51

plot只能做出最后一点?

v=0:0.01:2;
for g=1:200
t=linspace(0,v(g),10); h=1; e=1; f=4; w=20*f;
a1=(5/2)*f; a2=(5/2)*f; a3=(i/2)*f-2*e*w*cos(w*t);
b=i*a3; c=a1*a2;
r1=(-b-sqrt(b.^2-4*c))/2; r2=(-b+sqrt(b.^2-4*c))/2;
y=(r2.*r1.*(exp(r1.*t)-exp(r2.*t)))./(r2.*exp(r1.*t)-r1.*exp(r2.*t));
z=trapz(t,y); u3=(1/8)*sin(20*f*v(g))-2*i*z;
q=abs(u3);
end
plot(v,q)
不明白为什么只能做出最后一点

[ 本帖最后由 ChaChing 于 2009-4-29 07:53 编辑 ]

yufeng 发表于 2009-4-28 10:03

因为q就一个值

xufeng1988 发表于 2009-4-28 10:36

回复 沙发 yufeng 的帖子

我的u3是一系列的 值 q 怎么会是一个值 ,数值显示Q也显示有很多值啊

friendchj 发表于 2009-4-28 11:03

二楼回答是正确的,每次循环q值都被覆盖。
改一下:
v=0:0.01:2
q=zeros(1,length(v));
for g=1:200
t=linspace(0,v(g),10)
h=1
e=1
f=4
w=20*f
a1=(5/2)*f
a2=(5/2)*f
a3=(i/2)*f-2*e*w*cos(w*t)
b=i*a3
c=a1*a2
r1=(-b-sqrt(b.^2-4*c))/2
r2=(-b+sqrt(b.^2-4*c))/2
y=(r2.*r1.*(exp(r1.*t)-exp(r2.*t)))./(r2.*exp(r1.*t)-r1.*exp(r2.*t))
z=trapz(t,y)
u3=(1/8)*sin(20*f*v(g))-2*i*z
q(g)=abs(u3)
end
plot(v,q)
页: [1]
查看完整版本: plot只能做出最后一点?