import matplotlib.pyplot as plt
import numpy as np
from math import pi, sqrt
# 标准正太分布散布
x : np.ndarray = np.random.randn(1000,1)
# 标准正太分布N(0,1)转非标准N(miu,variance)
mu = 20
variance = 10
x : np.ndarray = mu + variance * x
# 计算正太分布的均值,方差
mu = x.mean()
variance = sqrt(np.sum((x-mu)**2,axis=0)[0] / len(x) )
# 计算正太分布的概率函数
fx = 1/sqrt(2 * pi) / variance * np.exp(-(x - mu)**2/2/variance**2)
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.figure()
plt.title("原始样本值")
plt.plot(np.arange(len(x)),x)
plt.figure()
plt.title("正太分布概率函数")
plt.grid(True)
plt.scatter(x,fx)
plt.xlabel("样本值")
plt.ylabel("概率值")
Text(0, 0.5, '概率值')