Matlab中的随机数生成函数

前言

  Matlab 统计工具箱中有 27 种概率分布,工具箱对每一种分布都提供 5 类函数,其命令的字符是:
pdf 概率密度; cdf 分布函数; inv 分布函数的反函数;stat 均值与方差; rnd 随机数生成
  这里主要介绍常用的rnd类函数

rand 函数

1
2
rand(n) %返回一个 n×n 在区间 (0,1) 内均匀分布的随机数矩阵
rand(m,n) %返回一个 m×n 在区间 (0,1) 内均匀分布的随机数矩阵

unifrnd 函数

1
unifrnd(a,b,m,n) %返回一个 m×n 在区间 (a,b) 内均匀分布的随机数矩阵

randn 函数

1
2
randn(n) %返回一个 n×n 标准正态分布的随机数矩阵
randn(m,n) %返回一个 m×n 标准正态分布的随机数矩阵

exprnd 函数

1
exprnd(lambda,m,n) %返回一个均值为lambda的 m×n 的指数分布随机数矩阵

normrnd 函数

1
normrnd(mu,sigma,m,n) %返回一个满足N(mu,sigma)的 m×n 的正态分布随机数矩阵

poissrnd 函数

1
poissrnd(lambda,m,n) %返回一个参数为lambda的 m×n 的泊松分布随机数矩阵

binornd 函数

1
binornd(n,p,m,n) %返回一个满足B(n,p)的 m×n 的二项分布随机数矩阵

randperm 函数

1
2
randperm(n) %返回行向量,其中包含从 1 到 n 没有重复元素的整数随机排列
randperm(n,k) %返回行向量,其中包含在 1 到 n 之间随机选择的 k 个唯一整数(1-n随机选择k个互不相同的整数)

perms 函数

1
2
perms(n) %返回的矩阵包含了向量 v 中元素按字典序反序的所有排列。  
% P 的每一行包含 v 中 n 个元素的一个不同排列。矩阵 P 具有与 v 相同的数据类型,包含 n! 行和 n 列。

附录

  以下介绍几种绘制数据分布图的方法,建议配合以上的随机数生成函数学习:

hist 函数

1
2
3
4
[N,X] = hist(Y,M); 
%得到数组(行、列均可)Y 的频数表。
%它将区间[min(Y),max(Y)]等分为 M 份(缺省时M 设定为 10)。
%N 返回 M 个小区间的频数,X 返回 M 个小区间的中点。

cdfplot 函数

1
2
3
cdfplot(X) %作样本X(向量)的经验累积分布(也就是F(X))函数图形
%如果表头(title)出现矩形则是中文显示异常,可以通过设置字体解决
%set(0,'defaultAxesFontName', 'Microsft YaHei UI');实测有效,就是每次启动都要设置

参考文献以及资料

1、司守奎数学建模算法课件(2版含源程序)

2、https://max.book118.com/html/2017/0702/119736142.shtm

3、南信大的数学建模课件(Monte-Carlo 方法介绍及其建模应用)

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2024 CPY
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信