Matlab错误:索引超过矩阵维数(仅查看向量的单个元素)
这是我的密码: m是向量y的长度Matlab错误:索引超过矩阵维数(仅查看向量的单个元素),matlab,matrix,octave,dimensions,Matlab,Matrix,Octave,Dimensions,这是我的密码: m是向量y的长度 1 c=1; 2 cMax=1; 3 4 while c<=m 5 6 if abs((y(c)-y(c+1)))>0.001 7 cMax=cMax+1; 8 end 9 10 c=c+1; 11 end 我颠倒了if的说法如下: if y(c)==y(c+1) %do nothing ; else cMax=cMax+1; 我不确定我做错了什么,但错误信息总是一样的: 错误:A(I
1 c=1;
2 cMax=1;
3
4 while c<=m
5
6 if abs((y(c)-y(c+1)))>0.001
7 cMax=cMax+1;
8 end
9
10 c=c+1;
11 end
我颠倒了if的说法如下:
if y(c)==y(c+1)
%do nothing
;
else
cMax=cMax+1;
我不确定我做错了什么,但错误信息总是一样的:
错误:A(I):索引超出矩阵维度
错误:从以下位置调用:
错误:C:\Users\dickweed\Documents\Study\Machine
学习\Tutorials\ex3\oneVsA ll.m,第57行[6],第3列[if语句之前的方式]
错误:C:\Users\dickweed\Documents\Study\Machine
学习\Tutorials\ex3\ex3.m第58行[7],第14列[字母c后]
我用粗体标出了代码中指示错误的地方
列很奇怪,这可能是因为我使用的文本编辑器,但我假设实际列的意思是在if语句之前和end语句之前
任何帮助都将不胜感激
另外,我实际上使用的是八度音阶和记事本++。无论出于何种目的,该语言都与Matlab完全相同,因此我将其命名为Matlab。我认为您的索引超过了矩阵维度 具体如下:
y(c)-y(c+1)
在上一次迭代中,当c=m时,第二项y(c+1)尝试访问不存在的元素
建议:将停止条件更改为:
c<m
c非常感谢你!现在我知道那个错误(有时)是什么意思了哈哈。
c<m