如何在已知数组中随机抽取若干个不重复的数 MATLAB

如题,数组n=[14:19,21,24,26,29,30],我要在这数组中随机选取若干个(最少两个,最多11个)数,如何用MATLAB编程序实现呢?十分感谢,急急急

第1个回答  2012-03-30
n=[14:19,21,24,26,29,30]
a=round(rand(1)*9)+2
b=randperm(length(n),a)
n(b)追问

不行啊哥们,说是错误利用了randperm

追答

哦,那就是你的Matlab版本低了,我在MATLAB2011b和MATLAB2012a上可以运行 ,我再帮你想想
n=[14:19,21,24,26,29,30]
a=round(rand(1)*9)+2
b=randperm(length(n))
c=b(1:a)
n(c)