这是我的代码:
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
本质上,向量 y 是一个具有一组从最小到最大组织的整数的向量,我试图找出 y 有多少不同的值。
我将 y 的当前值与 y 的下一个值进行比较,并保存 cMax 中有多少变化。
我已经更改了几次 if 逻辑语句。它一直:
if y(c)~=y(c+1)
我把 if 语句颠倒过来是这样的:
if y(c)==y(c+1)
%do nothing
;
else
cMax=cMax+1;
我不确定我做错了什么,但错误信息总是一样的:
错误:A(I):索引超出矩阵维度。
错误:调用自:
错误:C:\Users\dickweed\Documents\Study\Machine Learning\Tutorials\ex3\oneVsA ll.m 第 57 行[6],第 3 列[if 语句之前的方式]
错误:C:\Users\dickweed\Documents\Study\Machine Learning\Tutorials\ex3\ex3.m 第 58 行[7],第 14 列[在字母 c 之后]
我在代码指示我提供的代码中的错误的地方加粗。
这些列很古怪,这可能是因为我正在使用的文本编辑器,但我假设实际列的意思是在 if 语句之前和 end 语句之前。
任何帮助将不胜感激。
PS。我实际上使用的是 Octave 和 Notepad++。出于所有意图和目的,该语言与 Matlab 完全相同,因此我将其标记为 Matlab。