微分方程基础
10/15/24About 3 min
微分方程基础
微分方程是描述变量之间变化率关系的方程,是数学建模的基石。从物理(牛顿力学)到经济(增长模型)到工程(电路分析),微分方程无处不在。
什么是微分方程
微分方程是包含未知函数及其导数的方程。它描述的是函数本身和它的变化率之间的关系。
最简单的例子:人口指数增长模型
其中 是人口, 是增长率。这个方程描述了"人口增长速率与当前人口成正比"。
分类
常微分方程(ODE)
未知函数只有一个自变量(通常是时间 ):
| 阶数 | 示例 | 说明 |
|---|---|---|
| 一阶 | 放射性衰变 | |
| 二阶 | 简谐振动 |
解法包括分离变量法、积分因子法、特征方程法等。
偏微分方程(PDE)
未知函数有多个自变量(如 ):
| 类型 | 示例 | 应用 |
|---|---|---|
| 波动方程 | 声波、地震波 | |
| 热传导方程 | 温度分布、扩散 | |
| 拉普拉斯方程 | 静电场、稳定流动 | |
| 薛定谔方程 | 量子力学 |
PDE 通常需要结合边界条件和初始条件才能确定唯一解。
ODE vs PDE
| 维度 | ODE | PDE |
|---|---|---|
| 自变量数 | 1 个 | 多个 |
| 符号 | ||
| 解法 | 解析解常用(分离变量、特征根等) | 大多依赖数值解(有限元、有限差分) |
| 复杂度 | 本科数学 | 计算科学 / 工程数学 |
数值解法
现实中的微分方程大多数没有解析解(闭式公式),需要数值方法:
欧拉法(最简单的 ODE 数值解)
对 :
def euler(f, y0, t0, tf, h):
"""欧拉法求解 ODE"""
t, y = t0, y0
result = [(t, y)]
while t < tf:
y = y + h * f(t, y)
t += h
result.append((t, y))
return result
# 求解 dy/dt = -y (精确解: y = e^{-t})
f = lambda t, y: -y
result = euler(f, y0=1.0, t0=0, tf=5, h=0.1)Runge-Kutta 法(RK4,精度更高的改进)
Scipy 提供了成熟的实现:
from scipy.integrate import solve_ivp
def ode(t, y):
return -0.5 * y # dy/dt = -0.5y
sol = solve_ivp(ode, [0, 10], [1.0], method='RK45')
print(sol.y[0][-1]) # 约等于 e^{-5} ≈ 0.0067应用场景概览
| 领域 | 微分方程类型 | 建模对象 |
|---|---|---|
| 物理 | ODE / PDE | 牛顿力学、麦克斯韦方程组 |
| 生物 | ODE | 种群增长 SIR 传染病模型 |
| 金融 | SDE(随机) | Black-Scholes 期权定价 |
| 工程 | PDE | 热力学、流体力学(N-S 方程) |
| AI | ODE | 神经常微分方程(Neural ODE) |
| 电路 | ODE | RLC 电路瞬态分析 |
总结
微分方程的核心思想是对变化建模——一旦能用导数描述变量间的动态关系,就可以通过解析或数值方法求解出函数本身。ODE 是入门,PDE 是进阶,在工程中两者都会遇到。
微分方程是理解自然规律和工程系统的基础。