📅  最后修改于: 2023-12-03 14:56:56.394000             🧑  作者: Mango
瑞利分布是一种连续概率分布,常用于描述振幅随机变量的分布情况,例如无线电通信中接收到的信号的振幅。瑞利分布的密度函数如下:
$$f(x;\sigma) = \frac{x}{\sigma^2} e^{-x^2/(2\sigma^2)},\quad x \geq 0$$
其中,$\sigma$ 是瑞利分布的尺度参数,控制着分布的形状。
瑞利分布常用于描述非负随机变量的分布,例如在通信领域中,接收到的信号的振幅就常常服从瑞利分布。
Python 中的 SciPy 库提供了瑞利分布的概率密度函数、累积分布函数、随机变量生成等各种功能。以下是 Python 中使用 SciPy 计算瑞利分布的例子:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import rayleigh
# 定义分布的尺度参数
sigma = 2
# 计算概率密度函数
x = np.linspace(0, 6, 100)
pdf = rayleigh.pdf(x, scale=sigma)
# 计算累积分布函数
cdf = rayleigh.cdf(x, scale=sigma)
# 生成随机样本
rvs = rayleigh.rvs(scale=sigma, size=1000)
# 绘制概率密度函数和累积分布函数
fig, ax = plt.subplots()
ax.plot(x, pdf, label='pdf')
ax.plot(x, cdf, label='cdf')
ax.legend()
# 绘制随机样本的直方图
fig, ax = plt.subplots()
ax.hist(rvs, bins=20)
其中,pdf
、cdf
和 rvs
分别是概率密度函数、累积分布函数和随机变量生成函数。scale
参数用于设置分布的尺度参数。rvs
参数指定要生成多少个随机样本。
以上代码的运行结果如下图所示: