Matlab 怎么随机一个区间内的整数,比如我想得到从3到153的随机序列

我现在用的方法是先生成一个1到153的矩阵,然后randperm(153),再删掉1,2,3,太笨了,有没有简洁的方法
a = 1:153;
b = a(randperm(153));
b(find(b<=3)) = [];
我是想打乱顺序,不是随机生成3到153内的数,要每个数都有的

可以这么做:
floor((151*rand)+3)
rand给一个0到1的随机数,通过线性变换把它变到3到154
再通过floor向下取整
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-09-14
round(150*rand()+3)
randperm(151)+2
相似回答