用MATLAB编程:生成1到n的一个随机排列

2025-04-17 16:50:38
推荐回答(1个)
回答1:

function ranvec=fun(N)
ya=zeros(1,N);
xa=zeros(1,N);
for i=1:N
ya(i)=i; %记录数组的原始位置
end

for i=1:N
m=randint(1,1,[1,N-i+1]);
xa(i)=ya(m);
for j=m:N-i
ya(j)=ya(j+1);
end
end

ranvec=xa;