注册 登录
编程论坛 Matlab

菜鳥求助 !!

時人 发布于 2007-01-24 21:42, 499 次点击
程序很简单就是总是出现Index exceeds matrix dimensions.
高手請看看
i=1:60;
t=1;
a(i)=4;
b(i)=4;
-100<i<100
while t<2400;
if i+1>60 a(i+1)=4; b(i+1)=4;end
if i-1<1 a(i-1)=4; b(i-1)=4;end
if a(i)<0;a(i)=0; end
a(i)=0.03125.*(16-a(i).*b(i))+0.25*(a(i+1)+a(i-1)-2.*a(i));
b(i)=0.03125.*(a(i).*b(i)-b(i)-12)+0.0625.*(b(i+1)+b(i-1)-2.*b(i));
t=t+1;
end
plot(i,a);xlabel('i');ylabel('a');
4 回复
#2
abingchem2007-01-29 19:26
呵呵,不好意思,来得太晚了
你的i-1为零了,这个说不过去啊
#3
時人2007-01-30 21:20
是啊,那么应该怎么改啊?
苦恼很久了。。。
大大指教一下吧。。。orz

[此贴子已经被作者于2007-1-30 21:20:59编辑过]

#4
abingchem2007-01-31 21:20
不太明白你程序的意思,如果只是确定下标,应该比较好调
#5
時人2007-02-02 22:28
我想把i的範圍1~60作成一個循環
就是到60后在從1開始
請問怎麽做呢??
1