matlab 程序 哪儿有错?

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:55:03
i=1;sum1=0;
while (i<=602)
if d(i)>d(i+1)
t(i)=30;
else
j=i;
while (j>=1)
if (d(j)<d(i+1)&&d(i+1)<d(j+1))
sum2=0;
for(k=j+1:i+1)
sum2=sum2+s(k)-sum1;
end
V=sum2+10;
t(i)=V/0.6;
sum1=sum1+V;
break
else j=j-1;
end
end

end
i=i+1;
end
为什么显示Index exceeds matrix dimensions.

谢谢了
忘往上写了 我d s 都定义了 d是603个数据 s是602个数据

是下标越界了

首先你pu的程序里面没有定义 d 和 s 但是这个不影响 因为你说的错误是 index方面的 说明你用于试验的数据 你所输入的d 和 s 中起码 d 是一个少于602元素的数组 或者什么函数之类的 你给定了 d s 以后 看看 d 是不是不到602

d没有定义,或d没有值,所以d(i)无效