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

原文:https://blog.csdn.net/explorer9607/article/details/83660585

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

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

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

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

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为自由度
 

  • 25
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值