如何用Python计算高斯分布(Normal Distribution)的函数值?
时间: 2024-10-21 17:08:49 浏览: 14
在Python中,可以使用内置的math库或者第三方库如numpy来计算高斯分布(也称正态分布)的函数值。高斯分布的概率密度函数(PDF)定义为:
\[ f(x; \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]
其中,\( \mu \) 是均值,\( \sigma \) 是标准差。以下是使用math库的基本步骤:
```python
from math import erf, sqrt
# 函数参数:x(随机变量),mean(均值),std_dev(标准差)
def normal_distribution(x, mean=0, std_dev=1):
denominator = sqrt(2 * pi) * std_dev
exponent = -(pow((x - mean), 2) / (2 * pow(std_dev, 2)))
pdf_value = (1 / denominator) * exp(exponent)
return pdf_value
# 示例:计算X=1时,均值为0,标准差为1的高斯分布概率
x = 1
probability = normal_distribution(x)
```
如果你想处理大量的数值并且需要更高效的计算,推荐使用numpy库,它有一个现成的`norm.pdf()`函数可以直接计算高斯分布的PDF值:
```python
import numpy as np
# 计算高斯分布
pdf_value = np.exp(-np.power(x - mean, 2) / (2 * np.power(std_dev, 2))) / (np.sqrt(2 * np.pi) * std_dev)
```
阅读全文