MATLAB如何使用randn函数创建正态分布的随机矩阵

2020年12月17日22:10:51MATLAB如何使用randn函数创建正态分布的随机矩阵已关闭评论

MATLAB如何使用randn函数创建正态分布的随机矩阵

【语法说明】

R=randn(n):生成 n×n 随机数矩阵,元素服从标准正态分布。

R=randn(m,n)或R=randn([m,n]):生成m×n标准正态分布随机矩阵。

R=randn(m,n,p…)或 R=randn([m,n,p,…]) :生成 m×n×p×L标准正态分布的随机多维数组。

R=randn(…,classname):字符串classname指定随机数的数据类型,可取值为double或single,分别表示双精度浮点数和单精度浮点数,默认为double。

randn(‘seed’,sd)或randn(‘state’,sd):在MATLAB旧版本中,用这两条命令设置随机数种子。在MATLAB R2011b 中,用rng 函数代替。randn(‘seed’,sd)相当于 rng(sd,’v4’),rand(‘state’,sd)相当于rng(sd,‘v5normal’)。

【功能介绍】生成标准正态分布的随机矩阵。用法与rand类似,区别在于randn产生的元素服从标准正态分布,rand中则满足均匀分布。

【实例】使用randn函数产生10000个服从参数为(2,5)正态分布的随机数,并计算样本均值和方差。

>> randn('seed',0)   % 设置随机数种子为零

>> a = randn(1,10000) * sqrt(5) + 2;  % 产生一万个均值为2,方差为5的正态分布随机数

>> mean(a)     % 求样本均值

ans =

1.9736

>> std(a)      % 样本标准差

ans =

2.2447

>> var(a)      % 样本方差

ans =

5.0385

【实例讲解】randn产生的随机数默认服从标准正态分布,要产生非标准的(μ,σ )正态分布随机数,可以使用 randn(m,n)*σ+μ的形式。mean、std、var 函数分别用于求均值、标准差和方差。在本例中,样本均值1.9736和方差5.0385均接近给定的参数。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。