MATLAB实现随机数方法合集

1、rand()

生成(0,1)区间上均匀分布的随机数
基本语法:rand([M,N,P…])
生成排列成MNP*…多维向量的随机数。如果只写M,则生成M*M矩阵;如果参数为[M,N]可以省略方括号。

2、randn()

生成服从标准正太分布(均值为0,方差为1)的随机数
基本语法:randn([M,N,P,…])
解释同1
若安装了统计工具箱(Statistic Toolbox),除了以上两种基本分布外,还可以用Matlab内部函数生成符合以下分布的随机数。

3、unifrnd()

生成某个区间内均匀分布的随机数
基本语法:unifrnd(a,b,[M,N,P,…])
生成的随机数在区间(a,b)内,排列成MNP…多维向量。如果只写M,则生成M*M矩阵;如果参数为[M,N]则中括号可以省略。

4、normrnd()

生成指定均值为、标准差的正态分布的随机数
基本语法:normrnd(mu,sigma,[M,N,P,…])

5、chi2rnd()

生成服从卡方分布的随机数,卡方分布只有一个参数:自由度v
基本语法:chi2rnd(v,[M,N,P,…])

6、frnd()

生成服从F分布的随机数,F分布有两个参数:v1,v2
基本语法:frnd(v1,v2,[M,N,P,…])

7、trnd()

生成服从t(Student’s t Distribution,这里student不是学生的意思,而是cosset.W.S.的笔名)分布的随机数。t分布只有一个参数:自由度v
基本语法:trnd(v,[M,N,P,…])
t分布比正太分布要“瘦”,随着自由度v的增大,t分布逐渐变胖,当自由度为正无穷时,它就变成标准正态分布了。

8、betarnd()

生成服从beta分布的随机数。beta分布有两个参数分别是A和B。下图是A=2,B=5的beta分布的PDF图形。
基本语法:betarnd(A,B,[M,N,P,…])

9、exprnd()

此函数生成服从指数分布的随机数。指数分布只有一个参数:mu,下图是mu=3时指数分布的PDF图形。
基本语法:exprnd(mu,[M,N,P,…])

10、gamrnd()

生成服从gamma分布的随机数。Gamma分布有两个参数:A和B。下图是A=2,B=5,Gamma分布的PDF图形

基本语法:gamrnd(A,B,[M,N,P,…])

11、logrnd()

生成服从对数正态分布的随机数。其有两个参数:mu和sigma,服从这个分布的随机数取对数后均服从均值为mu,标准差为sigma的正态分布。下图是mu=1,sigma=1/1.2的对数正态分布的PDF图形。

基本语法:logrnd(mu,sigma,[M,N,P,…])

12、raylrnd()

生成服从瑞利(Rayleigh)分布的随机数。其分布有1个参数:B。下图是B=2的瑞利分布的PDF图形
基本语法:raylrnd(B,[M,N,P,…])

13、wblrnd()

生成服从威布尔(Weibull)分布的随机数。其分布有2个参数:scale参数A和shape参数B。下图是A=3,B=2的Weibull分布的PDF图形。
基本语法:wblrnd(A,B,[M,N,P,…])

还有非中心卡方分布(ncx2rnd)、非中心F分布(ncfrnd)、非中心t分布(nctrnd)

14、unidrnd()

生成服从离散均匀分布的随机数。unifrnd是在某个区间内均匀选取实数(可为小数或整数),unidrnd是均匀选取整数随机数。离散均匀分布随机数有1个参数:n,表示从{1,2,3,。。。,n}这n个整数中以相同的概率抽样。
基本语法:unidrnd(n,[M,N,P,…])

15、binornd()

此函数生成服从二项分布的随机数。二项分布有2个参数:n,p
基本语法:binornd(n,p,[M,N,P,…])

16、geornd()

生成服从几何分布的随机数。几何分布只有一个参数p
基本语法:geornd(p,[M,N,P,…])

17、poissrnd()

生成服从possion分布的随机数。possion分布的参数只有一个:lambda,此参数要大于零
基本语法:poissrnd(lambda,[M,N,P,…])

你可能感兴趣的:(matlab)