You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用SymPy定义并绘制连续均匀分布的PDF与CDF

使用SymPy处理连续均匀分布的PDF、CDF及可视化

没问题,我来一步步教你用SymPy搞定连续均匀分布的PDF、CDF定义和可视化——这在统计分析里是很基础但实用的操作:

1. 先装必要的依赖

首先得确保你有SymPy(符号计算库)和Matplotlib(绘图库),如果还没装,直接用pip安装:

pip install sympy matplotlib

2. 导入所需的库

打开Python脚本或者Notebook,导入需要的模块:

import sympy as sp
import matplotlib.pyplot as plt
from sympy.stats import Uniform, density, cdf

3. 定义连续均匀分布

我们先设定一个具体的区间,比如**[2, 8]**(你可以换成任意你需要的a和b,只要a < b就行),然后用SymPy的Uniform函数定义分布:

# 定义符号变量
x = sp.symbols('x')

# 定义区间[a, b]上的连续均匀分布,这里a=2,b=8
u_dist = Uniform('U', 2, 8)

4. 获取PDF和CDF表达式

SymPy可以直接帮我们生成概率密度函数(PDF)和累积分布函数(CDF)的符号表达式:

# 获取PDF
pdf_expr = density(u_dist)(x)
print("连续均匀分布的PDF表达式:")
sp.pprint(pdf_expr)

# 获取CDF
cdf_expr = cdf(u_dist)(x)
print("\n连续均匀分布的CDF表达式:")
sp.pprint(cdf_expr)

运行这段代码后,你会看到:

  • PDF在区间[2,8]内是常数1/6(因为1/(b-a)=1/(8-2)),区间外为0;
  • CDF在x<2时为0,2≤x≤8时是(x-2)/6,x>8时为1,完全符合连续均匀分布的特性。

5. 可视化PDF和CDF

为了更直观地看到它们的形状,我们把符号表达式转换成可计算的数值函数,然后用Matplotlib绘图:

# 将符号表达式转换为数值函数
pdf_func = sp.lambdify(x, pdf_expr, 'numpy')
cdf_func = sp.lambdify(x, cdf_expr, 'numpy')

# 生成x轴数据,覆盖分布区间内外(比如从0到10)
x_vals = sp.numpy.linspace(0, 10, 1000)

# 计算对应的PDF和CDF值
pdf_vals = pdf_func(x_vals)
cdf_vals = cdf_func(x_vals)

# 绘制子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5))

# 绘制PDF
ax1.plot(x_vals, pdf_vals, color='#1f77b4', linewidth=2)
ax1.fill_between(x_vals, pdf_vals, alpha=0.3)
ax1.set_title('连续均匀分布的概率密度函数(PDF)')
ax1.set_xlabel('x')
ax1.set_ylabel('概率密度')
ax1.grid(True, alpha=0.3)
ax1.set_ylim(0, 0.2)

# 绘制CDF
ax2.plot(x_vals, cdf_vals, color='#ff7f0e', linewidth=2)
ax2.fill_between(x_vals, cdf_vals, alpha=0.3)
ax2.set_title('连续均匀分布的累积分布函数(CDF)')
ax2.set_xlabel('x')
ax2.set_ylabel('累积概率')
ax2.grid(True, alpha=0.3)
ax2.set_ylim(0, 1.1)

plt.tight_layout()
plt.show()

运行这段代码后,你会看到两个子图:

  • 左边的PDF是一个矩形,在[2,8]区间内高度恒定,区间外为0;
  • 右边的CDF是一条从0线性增长到1的折线,在区间[2,8]内平稳上升,超过8后保持在1。

这样就能清晰地看到连续均匀分布的核心特征啦!

内容的提问来源于stack exchange,提问作者Sander van den Oord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:13:40