我有来自用户输入的6个元素的向量数字 . 我想删除任何重复的值并用另一个输入替换它(不使用“unique”或类似的) .
我试过了:
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向量中添加零作为第一个元素 .
谢谢!
1 回答
如何使用
while
循环?一句小话,it is best not to use i and j as variables in Matlab .