u(1)=0;
ki(1)=9000;
a(1)=3/ki(1)*2;
for i=2:4
u(i)=a(i-1)+u(i-1)
if u(i)>2
ki(i)=0
else
ki(i)=9000
for m=2:4
a(m)=3/ki(m)*2
continue
end
end
end
结果显示超出索引
请问要怎么让结果正常输出呢
像下面这样
左边是跑出来的结果
右边是我希望的结果
初学matlab麻烦各位大神了
谢谢!!!
if u(i)>2
ki(i)=0
else
ki(i)=9000
for m=2:4
a(m)=3/ki(m)*2
continue
end
end
这里, u(i) <= 2的时候, for循环初始化a(m), 你的ki(m)初始化了吗?
u = zeros(4, 1);
ki = ones(4, 1) * 9000;
a = ones(4, 1) * 3/ki(1)*2;
for i=2:4
u(i)=a(i-1)+u(i-1);
if u(i)>2
ki(i)=0 ;
else
ki(i)=9000;
for m=2:4
a(m)=3/ki(m)*2;
continue
end
end
end
这样可能就行了..但是我也不清楚你到底要做什么, 不知道计算对不对