您当前的位置 :科技 >
matlab怎么产生随机数?Matlab用exprnd函数生成符合指数分布的随机数
2022-08-08 11:25:21   来源:环球快报网  分享 分享到搜狐微博 分享到网易微博

matlab产生随机数可以使用的方法:

1、均匀分布:

■ unifrnd (a, b, m, n)

产生m*n阶[a, b]均匀分布

■ unifrnd (a,b)

产生一个[a,b]的均匀随机数

示例:

2、rand (m, n);

产生m*n阶[0,1]均匀分布的随机数矩阵

■ rand(n);

产生n*n阶[0,1]均匀分布的随机数

示例:

3、binornd(n,p,[M,N,P,...])

产生的是服从二项分布的随机数,二项分布的参数为:n和p,

考虑一个打靶的例子,每枪命中率为p,共射击N枪,那么一共击中的次数就服从参数为(N,p)的二项分布。注意p要小于等于1且非负,N要为整数。

■ binornd(n,p,[M,N,P,...])

生成的随机数服从参数为(N,p)的二项分布,这些随机数排列成M*N*P... 阶矩阵。如果只写M,则生成M*M矩阵;

示例:

4、unidrnd(N,m,n)

产生m*n阶离散均匀分布的随机数矩阵;产生一个数值在1-N之间的mm*nn矩阵

示例:

5、exprnd (mu ,m, n)

产生m*n阶期望值为mu的指数分布的随机数矩阵

示例:

另外还有一些其他随机数,这里不再介绍,方法其本类似

实验中需要用exprnd 函数生成大量符合指数分布的随机数样本。于是 help exprnd

exprnd Random arrays from exponential distribution.

R = exprnd(MU) returns an array of random numbers chosen from the

exponential distribution withmean parameter MU. The size of R is

the size of MU.

R = exprnd(MU,M,N,...) or R = exprnd(MU,[M,N,...]) returns an

M-by-N-by-... array.

里边有个参数 Mu,虽然可以看到 MU 是 mean parameter,平均值。或者大约等于期望值,即 下列常见的指数分布概率密度函数中的 lambda 的倒数。

搜了一下网上有人讲,但是,最后的结论不是很清晰,

为了谨慎,我自己来做实验验证一下吧:

1)代码;2)效果;3)结论。

1) 将 Mu 设置为5,然后生成1e4个符合指数分布的数,统计平均值。

CNT_number = 10000;

Mu = 5;

a=exprnd(Mu, 1, CNT_number);

plot(a);

mean = sum(a) /CNT_number

2) 输出为:

mean =

5.0090

3)

exprnd 函数中参数 MU 指的是确实是均值,或者也可以理解为指数分布的期望值。

Davy_H

2014-7-14



[责任编辑:ruirui]


*本网站有关内容转载自合法授权网站,如果您认为转载内容侵犯了您的权益,
请您联系QQ(992 5835),本网站将在收到信息核实后24小时内删除相关内容。




本站违法和不良信息举报 联系邮箱: 5855973@qq.com
 

关于我们| 客服中心| 广告服务| 建站服务| 联系我们
 

中国焦点日报网 版权所有 沪ICP备2022005074号-20,未经授权,请勿转载或建立镜像,违者依法必究。