python根据概率密度函数
时间: 2023-10-17 14:20:59 浏览: 82
可以使用scipy库中的stats模块来生成符合特定概率密度函数的随机数。以下是一些常见的概率密度函数的例子:
1. 正态分布(Normal Distribution)
正态分布是一种常见的连续概率分布,其概率密度函数为:
$$f(x) = \frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$$
其中,$\mu$是均值,$\sigma$是标准差。
使用scipy库中的stats模块可以生成符合正态分布的随机数:
```python
from scipy.stats import norm
import matplotlib.pyplot as plt
mu, sigma = 0, 0.1 # 均值和标准差
s = np.random.normal(mu, sigma, 1000)
# 绘制直方图
count, bins, ignored = plt.hist(s, 30, density=True)
# 绘制正态分布曲线
plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
linewidth=2, color='r')
plt.show()
```
2. 均匀分布(Uniform Distribution)
均匀分布是一种常见的连续概率分布,其概率密度函数为:
$$f(x)=\begin{cases}
\frac{1}{b-a} & a\leq x\leq b \\
0 & \text{其他}
\end{cases}$$
其中,$a$和$b$是分布的区间。
使用scipy库中的stats模块可以生成符合均匀分布的随机数:
```python
from scipy.stats import uniform
import matplotlib.pyplot as plt
a, b = 0, 1 # 区间
s = np.random.uniform(a, b, 1000)
# 绘制直方图
count, bins, ignored = plt.hist(s, 30, density=True)
# 绘制均匀分布曲线
plt.plot(bins, np.ones_like(bins)/(b-a), linewidth=2, color='r')
plt.show()
```
3. 指数分布(Exponential Distribution)
指数分布是一种常见的连续概率分布,其概率密度函数为:
$$f(x)=\begin{cases}
\lambda e^{-\lambda x} & x\geq 0 \\
0 & x<0
\end{cases}$$
其中,$\lambda$是分布的参数。
使用scipy库中的stats模块可以生成符合指数分布的随机数:
```python
from scipy.stats import expon
import matplotlib.pyplot as plt
lam = 1.5 # 参数
s = np.random.exponential(1/lam, 1000)
# 绘制直方图
count, bins, ignored = plt.hist(s, 30, density=True)
# 绘制指数分布曲线
plt.plot(bins, lam * np.exp(-lam * bins), linewidth=2, color='r')
plt.show()
```
以上是一些常见的概率密度函数的例子,其他的概率密度函数也可以使用类似的方法来生成符合分布的随机数。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![py](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)