如何用Matlab语言编写在N个数中随机选m个互不相同的数!

请问:如何用Matlab语言编写在N个数中随机选m个互不相同的数!

第1个回答  2009-01-18
a=[4 2 6 8 10 3];m=4;
b=a(randperm(length(a)));
b=b(1:m)

楼上这个对的,不过没有考虑如果有相同数。
再加上对已经选择的数判断,
for 。。。
if b==已经选择过数
b=a(randperm(length(a)));
end
if 数选择好
break
end
end

具体自己加代码吧。不难本回答被提问者采纳
第2个回答  2009-01-17
比如这N个数为[4 2 6 8 10 3]要从中选m=4个数

a=[4 2 6 8 10 3];m=4;
b=a(randperm(length(a)));
b=b(1:m)
相似回答
大家正在搜