赞
踩
原文: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为自由度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。