Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab错误:索引超过矩阵维数(仅查看向量的单个元素)_Matlab_Matrix_Octave_Dimensions - Fatal编程技术网

Matlab错误:索引超过矩阵维数(仅查看向量的单个元素)

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

这是我的密码:

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):索引超出矩阵维度

错误:从以下位置调用:

错误: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