ypp207 发表于 2010-4-7 16:35

程序错误,,请教!

i=1
m=3;z=30;R1=m*z;R2=m*z/2;rp=m*z*cos(20);rg=m*z*cos(20)/2;a=20;rag=m*(z+2)/2;
for t=0:0.0001:0.1
   r1=sqrt(((rp+rg)*tan(a)-sqrt(rag*rag-rg*rg)+rp*wp*t)*((rp+rg)*tan(a)-sqrt(rag*rag-rg*rg)+rp*wp*t)+rp*rp);
r2=sqrt(((rag*rag-rg*rg)-rp*wp*t)*((rag*rag-rg*rg)-rp*wp*t)+rp*rp);
a0=23.867+1.612*z-0.029*z*z+0.0001553*z*z*z;
a1=17.060+0.7289*z-0.01728*z*z+0.00009993*z*z*z;
a2=2.637-1.222*z+0.02217*z*z-0.0001179*z*z*z;
a3=-6.330-1.033*z+0.02068*z*z-0.0001130*z*z*z;
Ri=m*z;
k1=(a0+0*a1)+(a2*((r1-R1)/m)+0*a3);
k2=(a0+0*a1)+(a2*((r2-R2)/m)+0*a3);
k(i)=k1*k2/(k1+k2);
i=i+1
end
plot(t(0:0.0001:6),k);
运行这段程序有错误,,请大侠们帮忙看看!

houxiaoyang 发表于 2010-4-7 18:36

wp是什么?

ChaChing 发表于 2010-4-7 20:38

本版规则
6) 求助完整格式:出错代码和出错提示

ypp207 发表于 2010-4-7 22:45

不好意思各位,我把上诉文件直接定义为一个M文件直接求解的。wp=200;

i =

   1

Warning: Integer operands are required for colon operator when used as index.
> In gd at 16
??? Subscript indices must either be real positive integers or logicals.

Error in ==> gd at 16
plot(t(0:0.0001:6),k);

ChaChing 发表于 2010-4-7 23:30

index没有非整数的!
LZ是否是要
t=0:0.0001:0.1; plot(t,k);

plot(0:0.0001:0.1,k);

ypp207 发表于 2010-4-8 16:24

回复 5楼 ChaChing 的帖子

谢谢回复!!主任说的对,k是时间t的函数,就是要求K随自变量t的曲线图。对这种就是不会处理,这个循环要怎么用?

ChaChing 发表于 2010-4-8 20:31

原帖由 ypp207 于 2010-4-8 16:24 发表 http://www.chinavib.com/forum/images/common/back.gif
...要求K随自变量t的曲线图。对这种就是不会处理,这个循环要怎么用?
5F不是给了??

hhbhhy 发表于 2010-4-11 22:15

5楼说得很对啊。
一般可以用t=0:0.0001:0.1;
N=length(t);
for i=1:N
...
end
这样来写程序,可能更清晰一些。
还有,我看你这个程序可以编得更紧凑一些。a1,a2,a3,a4 等计算可以放在循环之外嘛。

ypp207 发表于 2010-4-12 09:07

恩我用了各位的方法,很不错,谢谢各位!
页: [1]
查看完整版本: 程序错误,,请教!