python画5条非中心gamma分布图
时间: 2023-06-28 19:05:24 浏览: 50
以下是用Python画5条非中心Gamma分布图的代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import ncx2
# 设置参数
n = 10
lamda = 1
k_list = [0.5, 1, 2, 3, 4]
# 生成数据
x = np.linspace(0, 20, 200)
y_list = []
for k in k_list:
y = ncx2.pdf(x, n, lamda, k)
y_list.append(y)
# 绘制图形
plt.figure(figsize=(8, 6))
for i in range(5):
plt.plot(x, y_list[i], label=f"k={k_list[i]}")
plt.legend()
plt.title("Non-central Gamma Distribution")
plt.xlabel("x")
plt.ylabel("Probability density")
plt.show()
```
解释一下代码:
首先,我们导入必要的模块:numpy、matplotlib和scipy.stats。然后,我们设置了分布的参数:样本量$n=10$,$\lambda=1$,以及五个不同的$k$值,分别为$0.5$、$1$、$2$、$3$、$4$。接着,我们使用numpy生成$200$个等距的数据点$x$,然后计算出对应的概率密度函数$y$,并将其存储在列表$y\_list$中。最后,我们使用matplotlib绘制图形,将五条分布的曲线分别画在同一张图中,并添加标题和轴标签,最终显示出图形。