为什么MATLAB中随机生成的gamma分布的均值和公式计算的结果不匹配哪

2025-03-20 06:34:42
推荐回答(1个)
回答1:

gamma分布有两个参数
在matlab里面可以用 gamrnd函数生成符合gamma分布的随机数序列
格式:
R = gamrnd(A,B,v);
参数是A,B ,生成矩阵的大小由v决定

R = gamrnd(2,2,[1 10000]);
这样就生成10000个随机数,符合gamma(2,2)的分布

mean(R)
ans =

4.0137

计算这10000个数的平均值,结果为4.0137
而理论均值是AB的乘积为4
因为是数列是随机产生的而数字个数有限
所以得到的均质不可能刚好是4,而是在4附近浮动的值
你可以多运行几次R = gamrnd(2,2,[1 10000]);mean(R)
只要结果都很接近4,在4左右浮动,就证明是符合理论的

当然你也可以用其他的A,Bc参数,最后均值得结果都是很接近AB乘积的