随机数流
RandStream
创造一个随机数流使用指定伪随机数生成器的算法。
你可以在MATLAB中生成伪随机数®来自一个或多个随机数流。生成随机数阵列的最简单方法是使用兰德
,兰迪
,兰德
,randperm
功能。这些函数都依赖于相同的均匀分布随机数流,称为全球流.改变全球流可以涉及RandStream
,但它没有必要这样做。如果您使用RandStream
,你可以使用RandStream.setGlobalStream
让它成为全球流。然而,rng
函数提供了一个更简单的接口来创建一个对大多数用例都足够的全局流。
你也可以使用RandStream
创建流和兰德
,兰迪
,兰德
,或randperm
要与从来自其他流的全局流绘制的那些分开生成随机数。有关详细信息,请参阅对象的功能.
缺省情况下,随机数生成功能兰德
,使用全局随机数流。若要指定不同的流,请创建RandStream
对象,并将其作为第一个输入参数传递。例如,使用面向simd的快速Mersenne twister创建一个4 × 1的随机数向量。
s = randstream('dsfmt19937');r = rand(s,4,1);
这些函数接受RandStream
对象:
兰德 |
均匀分布随机数 | 金宝app支持语法, X = rand(s,sz,…,szN) X = rand(s,sz) X = rand(s,sz) 兰德 ,兰迪 ,兰德 . |
兰迪 |
均匀分布伪随机整数 | |
兰德 |
正态分布随机数 | |
randperm |
整数的随机排列 | 金宝app支持语法, P = randperm(s,n,k) randperm . |
的其他对象函数RandStream
是:
RandStream.create |
创建统计上独立的随机数流 |
RandStream.list |
列出随机数生成器算法 |
randstream.getglobalstream. |
获取当前全局随机数流 |
RandStream.setGlobalStream |
设置全局随机数流 |
重启 |
重置随机数流 |