python 正态分布表达式
时间: 2023-11-10 15:02:29 浏览: 40
正态分布(也称为高斯分布)在Python中可以使用SciPy库来表示。下面是一个示例代码,展示如何使用SciPy来定义和绘制正态分布曲线:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# 定义正态分布的参数
mu = 0 # 均值
sigma = 1 # 标准差
# 生成一些随机样本
samples = np.random.normal(mu, sigma, 1000)
# 计算概率密度函数(PDF)
x = np.linspace(-5, 5, 100)
pdf = norm.pdf(x, mu, sigma)
# 绘制正态分布曲线和随机样本直方图
plt.plot(x, pdf, label='Normal Distribution')
plt.hist(samples, density=True, alpha=0.5, label='Samples')
plt.xlabel('X')
plt.ylabel('Probability Density')
plt.legend()
plt.show()
```
相关问题
python正态分布抽样
Python中可以使用`numpy`库来进行正态分布抽样。`numpy.random`模块提供了一系列的函数来生成不同分布的随机数,其中包括正态分布。
要进行正态分布抽样,可以使用`numpy.random.normal()`函数。该函数的参数包括均值、标准差和抽样数量。具体的用法如下:
```python
import numpy as np
# 设置均值和标准差
mu = 0 # 均值
sigma = 1 # 标准差
# 抽样数量
sample_size = 100
# 进行正态分布抽样
samples = np.random.normal(mu, sigma, sample_size)
# 打印抽样结果
print(samples)
```
上述代码中,我们设置了均值`mu`为0,标准差`sigma`为1,抽样数量为100。通过调用`np.random.normal()`函数进行抽样,将结果保存在`samples`变量中,并打印出来。
python正态分布
正态分布(Normal distribution),也称为高斯分布(Gaussian distribution),是统计学中最重要的连续概率分布之一。正态分布的概率密度函数由其均值μ和方差σ^2决定。在Python中,可以使用SciPy库中的stats模块来生成正态分布的随机数。以下是一个示例代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# 生成正态分布的随机数
mean = 0 # 均值
std = 1 # 标准差
size = 1000 # 生成的随机数个数
data = np.random.normal(mean, std, size)
# 绘制直方图和概率密度函数曲线
fig, ax = plt.subplots()
ax.hist(data, bins=50, density=True, alpha=0.7)
x = np.linspace(mean - 4*std, mean + 4*std, 100)
ax.plot(x, stats.norm.pdf(x, mean, std), 'r-', label='Normal Distribution')
ax.legend()
plt.show()
以上代码首先使用np.random.normal()函数生成1000个符合指定均值和标准差的随机数,并使用plt.hist()函数绘制直方图。然后使用stats.norm.pdf()函数生成正态分布的概率密度函数曲线,并使用plt.plot()函数绘制在同一张图上。最后使用plt.show()函数显示图像。