matlab如何往一个空向量里一个一个的加任意数1到20,不确定向量长度,直到20个数字全部都被加进去才停止

停止后如何算循环的次数?我的第一步就错了,求求大神帮忙

v=[];
v=zeros(1,20);
for a = 1:length(v)
v(a)=randi(20);
end

for i = 1 :length(v)
for j = i+1 : length(v)

if v(i)==v(j)
v=[v randi(20)];
i=i+1;
break;
end
end
end

for k = 1:length(v)
for n = 1:20
if v(k)==n
v=v;
elseif v(k)~=n
a=randi(20);
v=[v a];
end
if a~=n
v=[v randi(20)];
k=k+1;
break;
end

end

end

disp('number of steps: ')
i*k

代码: ----------------------------------------- a=1:10; b=1:20; num=[]; num=[num length(a)]; num=[num length(b)]; %依次类推 m=length(num); n=max(num); c=zeros(m,n)*1/0; %用无穷大填充NaN %c=zeros(m,n); %用零填充 c(1,1:num(1))=a; c(2,1:num(2))=b; c ---------------------------------- 结果: c = 1 2 3 4 5 6 7 8 9 10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20追问

看不懂..难道不应该用randi(20)吗

温馨提示:答案为网友推荐,仅供参考
相似回答