ユーザー入力からの6つの要素を持つベクトル番号があります。重複する値を削除し、別の入力に置き換えたい (「一意」などを使用せずに)。
私は試した:
myvec=zeros(1,6);
disp('Choose numbers from 1 to 55')
for i=1:6
myvec(i)=input('');
if (find(myvec(i)<1 | myvec(i)>55))
disp('Enter new value')
myvec(i)=input('');
end
if myvec(i+1)==myvec(i)
myvec(i+1)==input('');
end
end
問題は:
1) 以下の記述は正しいですか?
if myvec(i+1)==myvec(i)
myvec(i+1)==input('');
end
2) ベクトルの長さが 6 で i+1 にアクセスしようとしているため、実行時に範囲外になります。2:7 から for ループを使用しようとしましたが、最初の要素としてゼロを myvec ベクトルに追加します。
ありがとうございました!