文档

创建随机数的数组

MATLAB®使用算法来生成伪随机pseudoindependent数字。这些数字是没有严格的数学意义上的随机和独立,但他们通过各种统计测试的随机性和独立,和他们的计算可以重复测试或诊断的目的。

兰德,兰迪,randn,randperm创建数组函数的主要功能是随机的数字。的rng函数允许您控制种子和算法生成随机数。

随机数函数

有四种基本的随机数函数:兰德,兰迪,randn,randperm。的兰德函数返回实数在0和1之间,来自一个均匀分布。例如,

r1 =兰德(1000 1);
r1是1000 -,- 1列向量包含真正的浮点数来自均匀分布。所有的值r1在开区间(0,1)。这些值的直方图基本持平,这表明一个相当均匀采样的数字。

兰迪函数返回整数值从离散均匀分布。例如,

r2 =兰迪(1000 1);
r2是1000 -,- 1列向量包含整数值从离散均匀分布的范围是1,2,…,10。这些值的直方图基本持平,这表明一个相当均匀采样1到10之间的整数。

randn函数返回数组的浮点数,来自一个标准正态分布。例如,

r3 = randn (1000 1);
r3是1000 -,- 1列向量包含数字来自一个标准正态分布。的柱状图r3看起来像一个大约平均为0的正态分布和标准偏差是1。

您可以使用randperm创建数组函数的随机整数的值没有重复值。例如,

5 r4 = randperm(15日);
r4是一个1-by-5数组包含在闭区间随机选择的整数值,(1、15)。不像兰迪可以返回一个数组,其中包含重复值,返回的数组randperm没有重复值。

连续调用这些函数返回不同的结果。这种行为是非常有用的用于创建不同的随机值的数组。

随机数生成器

MATLAB提供了几种发生器算法选择,总结在下表中。

关键字 发电机 多个流和Substream支持金宝app 近似的时期完全精确
mt19937ar 梅森素数捻线机(使用默认流在MATLAB启动时) 没有 219937年1
dsfmt19937 SIMD-oriented快速梅森素数捻线机 没有 219937年1
mcg16807 可乘同余发电机 没有 231日2
mlfg6331_64 乘法滞后斐波那契发电机 是的 2124年(251流长度为2的72年)
mrg32k3a 结合多个递归发电机 是的 2191年(263年流长度为2的127年)
philox4x32_10 Philox 4×10轮发电机 是的 2193年(264年流长度为2的129年)
threefry4x64_20 Threefry 4 x64和20轮发电机 是的 2514年(2256年流长度为2的258年)
shr3cong 移位寄存器发电机总结与线性同余发生器 没有 264年
swb2712 修改减去借发电机 没有 21492年

使用rng函数设置使用的种子和发电机兰德,兰迪,randn,randperm功能。例如,rng(“洗牌”,“philox”)种子Philox 4 x32发生器根据当前时间,产生不同的数字每次调用序列。

有关更多信息,请参见控制随机数生成

另请参阅

||||

相关的话题