一、前言
在 MATLAB 中内置了有产生标准正态(Gauss)分布的随机数函数,使用方法如下:
randn(m, n, p)
其中 m、n
为产生矩阵的行数和列数,p
为产生矩阵的个数,产生的矩阵中的每个元素均为服从
N
(
0
,
1
)
N(0, 1)
N(0,1) 的标准正态分布的元素。
二、标准正态(Gauss)分布随机数
使用如下命令产生一个 100x1
的服从标准正态(Gauss)分布
的随机数矩阵:
A = randn(100, 1)
绘制图像效果如下:
可以看到这里随机数服从均值为 0,方差为 1
的标准正态分布。
三、给定均值、方差的正态(Gauss)分布
假设
X
∼
N
(
0
,
1
)
X\sim N(0,1)
X∼N(0,1),则
3
X
+
3
3X+3
3X+3 服从
N
(
3
,
9
)
N(3,9)
N(3,9) 分布,因此我们要产生服从
N
(
μ
,
σ
2
)
N(\mu,\sigma^2)
N(μ,σ2) 的随机数,可以通过如下变换得到:
σ
X
+
μ
∼
N
(
μ
,
σ
2
)
\sigma X+\mu \sim N(\mu,\sigma^2)
σX+μ∼N(μ,σ2)
因此我们若想得到服从
N
(
1
,
2
)
N(1,2)
N(1,2) 的正态分布随机数,可以使用如下命令:
A = sqrt(2) * randn(100, 1) + 1
效果图如下:
其他的比如 N ( 2 , 4 ) N(2,4) N(2,4) 的随机数:
A = 2 * randn(100, 1) + 2
大致都能通过如下变换得到,绘制图像的命令如下:
norm = histfit(A,10,'normal')
四、总结
不喜欢写总结。