matlab中怎样生成一个区间内不重复的随机数

matlab中怎样生成一组区间内全部不重复的随机数,比如在区间[16 31]内的所有数,都生成在数组A中,且无序不能重复

    即产生随机排列:

    p = randperm(n) returns

    a random permutation of the integers 1:n.

    所以要产生[16 31]的随机排列,可以执行:

    randperm(31-16+1)+15

    随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

    在统计学的不同技术中需要使用随机数,比如在从统计总体中抽取有代表性的样本的时候,或者在将实验动物分配到不同的试验组的过程中,或者在进行蒙特卡罗模拟法计算的时候等等。

    产生随机数有多种不同的方法。这些方法被称为随机数发生器。随机数最重要的特性是:它所产生的后面的那个数与前面的那个数毫无关系。

    真正的随机数是使用物理现象产生的:比如掷钱币、骰子、转轮、使用电子元件的噪音、核裂变等等。这样的随机数发生器叫做物理性随机数发生器,它们的缺点是技术要求比较高。

    在实际应用中往往使用伪随机数就足够了。这些数列是“似乎”随机的数,实际上它们是通过一个固定的、可以重复的计算方法产生的。计算机或计算器产生的随机数有很长的周期性。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
即产生随机排列:
p = randperm(n) returns
a random permutation of the integers 1:n.
所以要产生[16 31]的随机排列,可以执行:
randperm(31-16+1)+15本回答被提问者采纳
相似回答