主要内容

兰格

伽玛随机数,单位规模

句法

Y=randg
y = randg(a)
y = randg(a,m)
y = randg(a,m,n,p,......)
y = randg(a,[m,n,p,...])
y = randg(...,classname)
Y=randg(…,'like',X)
y = randg(...,',',classname)

描述

Y=randg返回从具有单位比例和形状的gamma分布中选择的标量随机值。

y = randg(a)返回以单位刻度从伽马分布中选择的随机值矩阵。y与尺寸相同一种兰格生成每个元素y使用形状参数等于相应元素一种

y = randg(a,m)返回一个m-经过-m从具有形状参数的伽马分布中选择的随机值矩阵一种一种要么是一个m-经过-m矩阵或标量。如果一种是标量,兰格使用单个形状参数值来生成所有元素y

y = randg(a,m,n,p,......)y = randg(a,[m,n,p,...])返回一个m-经过-N-经过-P.-经过-......随机值的数组从具有形状参数的伽马分布中选择一种一种要么是一个m-经过-N-经过-P.-经过-......数组或标量。

y = randg(...,classname)返回从指定类的Gamma分布中选择的随机值数组。班级名称双倍的单身的

Y=randg(…,'like',X)y = randg(...,',',classname)返回从同一类的Gamma分布中选择的随机值数组X班级名称, 分别。X是一个数字数组。

兰格使用MATLAB生成伪随机数®职能兰格ydF4y2Ba兰德。生成的数字序列由均匀随机数发生器的设置确定:下潜的兰格ydF4y2Ba兰德。控制随机数发生器使用rng。看看rng有关更多信息的文档。

笔记

要生成伽玛随机数并指定刻度和形状参数,您应该调用GAMRND.

例子

例1

通过具有形状参数3的伽马分布产生100×1阵列绘制的值。

r = randg(3,100,1);

例2.

从带有形状参数3和2从伽马分布绘制的100×2阵列。

a = [α(100,1)* 3,(100,1)* 2];r = randg(a,[100,2]);

例3.

从中创建可重复的输出兰格,重置随机数发生器使用兰格ydF4y2Ba兰德到其默认启动设置。这边走兰格生成相同的随机数,好像重新启动MATLAB。

RNG('默认')RANDG(3,1,5)ANS = 6.9223 4.3369 1.0505 3.2662 11.3269

例4.

保存所用随机数生成器的设置兰格ydF4y2Ba兰德,生成5个值兰格,恢复设置,然后重复这些值。

s = RNG;%获得随机流R1 = RANGG(10,1,5)R1 = 9.4719 9.0433 15.0774 14.7763 6.3775 rng(s)的当前状态;%将流重置为先前状态R2 = RANDG(10,1,5)R2 = 9.4719 9.0433 15.0774 14.7763 6.3775

R2.包含与完全相同的值r1

例5.

重新初始化随机数发生器使用兰格ydF4y2Ba兰德基于当前时间的种子。兰格每次执行此操作时都会返回不同的值。请注意,通常不必每个MATLAB会话执行此操作。

RNG('Shuffle');兰格(2,1,5);

工具书类

[1] Marsaglia,G.和W. Tsang。“生成伽马变量的简单方法。”ACM在数学软件上的交易。卷。26,2000,pp。363-372。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

也可以看看

在R2006a之前引入