偏微分方程,简称 PDE,是一个涉及两个或更多变量的未知函数及其偏导数的方程。如果你搜索“什么是 PDE”,最简短的回答是:当某个量的变化同时受多个输入影响时,通常是空间和时间,PDE 就用来描述这种变化。

这也是它与常微分方程(ODE)的主要区别。ODE 只涉及一个自变量。只要你关心的量依赖于至少两个自变量,比如位置和时间,就通常会出现 PDE。

什么是偏微分方程

如果 u=u(x,t)u = u(x,t),那么 uu 同时依赖于位置 xx 和时间 tt。像下面这样的导数

ut=utanduxx=2ux2u_t = \frac{\partial u}{\partial t} \qquad \text{and} \qquad u_{xx} = \frac{\partial^2 u}{\partial x^2}

告诉你 uu 如何随时间变化,以及它在空间中如何弯曲。

例如方程

ut=kuxxu_t = k u_{xx}

就是一个 PDE,因为它把同一个函数对不同变量的偏导数联系在了一起。这里的 kk 是常数。在热传导模型中,它通常表示扩散系数。

一句话看懂 PDE 和 ODE 的区别

如果未知量只依赖一个自变量,通常得到的是 ODE。如果它依赖多个自变量,通常得到的是 PDE。

例如,只随时间变化的人口数量可以用 ODE 建模。而同时随位置和时间变化的温度,则属于 PDE 的情形。

对 PDE 的直观理解:它为什么会出现

当一个“场”在空间和时间中整体变化,而不是只有一个数在变化时,PDE 就会出现。

  • 金属棒中的温度取决于你所在的位置和当前时刻。
  • 振动的弦取决于弦上的位置和时间。
  • 压强、浓度和电势也常常被建模为空间中分布的函数。

所以,PDE 通常描述的是一个分布量如何随时间演化的规律。

PDE 例子:检验一个热方程的解

考虑一维热方程

ut=kuxxu_t = k u_{xx}

定义在区间 0x10 \le x \le 1 上,并假设有人提出

u(x,t)=ekπ2tsin(πx).u(x,t) = e^{-k \pi^2 t}\sin(\pi x).

要让 PDE 的记号变得具体,最快的方法就是直接检验一个候选解。

第 1 步:对时间求导

xx 看作常数:

ut=kπ2ekπ2tsin(πx).u_t = -k \pi^2 e^{-k \pi^2 t}\sin(\pi x).

第 2 步:对空间求两次导数

一阶导数:

ux=πekπ2tcos(πx).u_x = \pi e^{-k \pi^2 t}\cos(\pi x).

二阶导数:

uxx=π2ekπ2tsin(πx).u_{xx} = -\pi^2 e^{-k \pi^2 t}\sin(\pi x).

现在乘上 kk

kuxx=kπ2ekπ2tsin(πx).k u_{xx} = -k \pi^2 e^{-k \pi^2 t}\sin(\pi x).

这与 utu_t 相同,所以

ut=kuxx.u_t = k u_{xx}.

因此,这个函数确实是热方程的一个解。

如果边界条件是 u(0,t)=0u(0,t)=0u(1,t)=0u(1,t)=0,这里也成立,因为 sin(0)=0\sin(0)=0sin(π)=0\sin(\pi)=0。这一点很重要:在 PDE 问题中,只满足方程本身,往往还不算完成全部求解任务。

热方程表示什么

热方程说明:随时间的变化与空间曲率有关。

如果某一点的 uxxu_{xx} 很大且为负,那么该点的 utu_t 也是负的,因此该点温度会下降。通俗地说,尖锐的峰值会随着时间被“抹平”。这种平滑效应正是热方程成为入门 PDE 经典例子的原因之一。

PDE 中常见的错误

把 PDE 和 ODE 混淆

如果未知函数依赖多个自变量,就必须使用偏导数。这是两者在结构上的关键区别。

忽略边界条件或初始条件

一个 PDE 问题通常会附带初始条件、边界条件,或两者都有。某个函数即使满足 PDE 本身,也可能因为不满足这些条件而不是完整问题的解。

过快地阅读记号

utu_tuxu_xuxxu_{xx} 回答的是不同的问题。最后一个是关于空间的二阶导数,不是几个符号的乘积。

以为所有 PDE 都像热方程一样

不同的 PDE 描述不同的行为。热方程会产生平滑效应。波动方程描述扰动的传播。拉普拉斯方程描述平衡状态。PDE 的类型不同,直观理解也会不同。

偏微分方程用在哪里

PDE 在物理、工程和应用数学中非常常见,因为许多真实系统都是在空间中分布的。

  • 热传导使用扩散方程。
  • 振动和声学使用波动方程。
  • 静电学和稳态流动常用拉普拉斯方程或泊松方程。
  • 流体模型和量子模型也高度依赖 PDE。

你不需要掌握完整理论,也能理解它的基本思想。核心模式很简单:PDE 把同一个函数在多个变量上的变化联系起来。

如何读一个 PDE 问题

当你第一次看到一个 PDE 时,可以先问:

  1. 未知函数是什么?
  2. 它依赖哪些变量?
  3. 出现了哪些导数?
  4. 题目给了哪些初始条件或边界条件?

在真正开始求解之前,这个检查清单能避免很多混乱。

自己试一试

保持同一个热方程,把候选解改成

u(x,t)=e4kπ2tsin(2πx).u(x,t) = e^{-4k \pi^2 t}\sin(2\pi x).

对它求导,并检查它是否仍然满足 ut=kuxxu_t = k u_{xx}。如果你想再进一步,可以尝试自己构造一个正弦模态,或者用 GPAI Solver 解一个类似的边值问题。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →