Matlab 生成服从各种分布的随机数函数

网上关于MATLAB的教程相比于其他语言的来说少很多,因为它本身就不太像一种编程语言,更像是一种工具使用说明书(比如Lingo)。大多数时候都是用它来做一些科研工作,所以一般的程序员也不会用到它。再加之像python,java等一些开发库也能实现一些功能,使得MATLAb的热度一直不是很高。不过我还是比较喜欢MATLAb,毕竟搞科研用这个还是挺顺手的。

废话少说,最近在学随机过程的课,发现统计和概率好多知识都已经生疏了,Latex也很长时间没用了,所以想借这个机会把它们在熟悉一下。这好最近想研究一下随机数生成算法,先把MATLAb常用的随机数生成算法罗列一下。

关于伪随机数生成器算法以及真随机数生成器的原理等的介绍请参看我的另一篇文章:随机数生成器,其中详细介绍了有关随机数的一些初步地理论和原理。

MATLAB随机数生成函数有两种形式,一种是形如***rnd,比如(unifrnd,binornd,exprnd)等,一种就是用一个统一的函数random(‘name’,...),利用不同的 name生成不同的分布的随机数

在matlab中,有两个工具箱,一个叫做Probability distribution function tool 用来画各种分布的概率密度图和分布函数图

里一个叫做Random number generation tool 用来生成各种分布的随机数。

一、***rnd的形式

下面列举一些典型的常规分布的随机数生成函数,这些函数都可以生成服从某种分布的一些随机数,其通用的参数形式为:

Y = ***rnd(A,B,C,[m,n,...]),其中A,B,C为对应的分布所需要给定的参数,[m,n..]表示生成随机数的维度和数目,举个例子

R = normrnd(0,1,[2,5])表示生成一个2*5的服从标准N(0,1)正态分布的随机数的矩阵

% betarnd 贝塔分布的随机数生成器 
% binornd 二项分布的随机数生成器 
% chi2rnd 卡方分布的随机数生成器 
% exprnd 指数分布的随机数生成器 
% frnd      f分布的随机数生成器 
% gamrnd 伽玛分布的随机数生成器 
% geornd 几何分布的随机数生成器 
% hygernd 超几何分布的随机数生成器 
% lognrnd 对数正态分布的随机数生成器 
% nbinrnd 负二项分布的随机数生成器 
% ncfrnd 非中心f分布的随机数生成器 
% nctrnd 非中心t分布的随机数生成器 
% ncx2rnd 非中心卡方分布的随机数生成器 
% normrnd 正态(高斯)分布的随机数生成器,normrnd(a,b,c,d):产生均值为a、方差为b大小为c*d的随机矩阵 
% poissrnd 泊松分布的随机数生成器 
% rand:产生均值为0.5、幅度在0~1之间的伪随机数,rand(n):生成0到1之间的n阶随机数方阵,
% randn:产生均值为0、方差为1的高斯白噪声,使用方式同rand 
 注:rand是0-1的均匀分布,randn是均值为0方差为1的正态分布 
% randperm(n):产生1到n的均匀分布随机序列 
% raylrnd 瑞利分布的随机数生成器 
% trnd     t分布的随机数生成器 
% unidrnd 离散均匀分布的随机数生成器 
% unifrnd 连续均匀分布的随机数生成器 
% weibrnd 威布尔分布的随机数生成器

注意:以上都是生成一元分布函数的方法,对于多元的,我只在MATALB上找到了多元正态和T分布的函数,

多元正态:r = mvnrnd(MU,SIGMA,cases),其中MU为均值向量,sigma为协方差矩阵,cases就是要生成多少个,

多元T分布:R = mvtrnd(C,df,cases) C为相关系数矩阵,df为自由度

二、random形式

其实,我个人感觉对于复杂程序来说用random要顺眼一点,一个函数名就可以实现所有的分布,只需要改一下name和相关的参数就可以了,下面详细罗列一下各个参数和name的可选值

用法:Y = random(name,A,B,C,[m,n,...]),下面这张表,来自与MATLAb帮助文档,详细介绍了所有可选参数及各种参数的意义,通过这些参数可以实现上面第一种形式中的任何一种随机数的生成。

name Distribution Input Parameter A Input Parameter B Input Parameter C Input Parameter D
'Beta' Beta Distribution a: first shape parameter b: second shape parameter
'Binomial' Binomial Distribution n: number of trials p: probability of success for each trial
'BirnbaumSaunders' Birnbaum-Saunders Distribution β: scale parameter γ: shape parameter
'Burr' Burr Type XII Distribution α: scale parameter c: first shape parameter k: second shape parameter
'Chisquare' Chi-Square Distribution ν: degrees of freedom
'Exponential' Exponential Distribution μ: mean
'Extreme Value'
  • 10
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值