lunarzheng 发表于 2007-6-26 16:32

Index exceeds matrix dimensions 错误

R=
R1=
R2=
N=length(R);
K=ones(N,1);
for i=1:1:N
if (R(i,1)>=R1(i,1))&(R(i,1)<=R1(i,2))
    K(i,1)=(-abs(R(i,1)-R1(i,1)/2-R1(i,2)/2)+R1(i,2)/2-R1(i,1)/2)/(R1(i,1)-R(i,2))
else
    K(i,1)=(abs(R(i,1)-R1(i,1)/2-R1(i,2)/2)-R1(i,2)/2+R1(i,1)/2)/((abs(R(i,1)-R2(i,1)/2-R2(i,2)/2)-R2(i,2)/2+R2(i,1)/2)-(abs(R(i,1)-R1(i,1)/2-R1(i,2)/2)-R1(i,2)/2+R1(i,1)/2));
end
end
请教一下,为什么总是出现Index exceeds matrix dimensions 错误?

w89986581 发表于 2007-6-26 16:50

首先不要用i作为循环变量,在matlab中它是虚数符号。
R(i,2)指向了并不存在的第二列元素,以后仔细检查。

eight 发表于 2007-6-27 00:29

原帖由 lunarzheng 于 2007-6-26 16:32 发表 http://www.chinavib.com/forum/images/common/back.gif
R=
R1=
R2=
N=length(R);
K=ones(N,1);
for i=1:1:N
if (R(i,1)>=R1(i,1))&(R(i,1)

看这个:常见的程序出错问题整理
页: [1]
查看完整版本: Index exceeds matrix dimensions 错误