これが私のコードです:
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 at line 57 [6] , column 3 [if ステートメントの前の方法]
エラー: C:\Users\dickweed\Documents\Study\Machine Learning\Tutorials\ex3\ex3.m 行 58 [7]、列 14 [文字 c の後]
コードが提供したコードのエラーを示す場所を太字にしました。
使用しているテキスト エディターが原因である可能性がありますが、実際の列は if ステートメントの前と end ステートメントの前を意味すると想定しています。
どんな助けでも大歓迎です。
PS。私は実際に Octave と Notepad++ を使用しています。この言語は、すべての意図と目的において、Matlab とまったく同じであるため、Matlab というラベルを付けました。