微积分里我们已经熟悉导数:它描述一个量在某一刻怎样变化。常微分方程把这个想法反过来用:如果我们知道一个量的变化率由什么决定,能不能由此理解这个量本身会怎样走下去?
所以,这门课一开始不急着求解。先要看清楚微分方程在问什么。人口增长、热饮冷却、电路电流、弹簧振子看起来相距很远,但它们都有同一种结构:当前状态给出变化率,变化率又推动状态继续改变。

普通方程常常直接问“量是多少”。例如 问的是哪些数 能让等式成立。微分方程问得更像一句动态规则:某个未知函数的变化率是多少,它和时间、位置、温度、电流、人口数量之间有什么关系。
如果未知量记作 ,最典型的一阶常微分方程可以写成
这句话读作:在时刻 ,当状态是 时,状态的变化率由函数 决定。右边可以只依赖 ,也可以只依赖 ,还可以同时依赖二者。
微分方程的重点不是把导数符号装进方程里,而是用导数表达变化规律。读一个微分方程时,先问“它规定了什么量的变化率”,再问“这个变化率由哪些量决定”。
下面这个交互把四个入门模型放在同一张图里。拖动时间滑块时,注意曲线上当前点的切线:切线越陡,变化越快;切线接近水平,说明变化正在变慢或暂时停止。
微分方程按照未知函数依赖的自变量,可以先分成两大类。
常微分方程研究一个或多个未知函数相对于一个自变量的导数。这个自变量常常是时间。例如温度 、人口 、电流 、位置 都只把时间作为自变量。方程中出现的是普通导数,如 、、。
偏微分方程研究未知函数相对于多个自变量的偏导数。例如薄板温度可能写成 ,它同时依赖空间位置和时间;空气流速、声波、电磁场也常常需要多个自变量。方程中会出现 、 这样的偏导数。

本课程主要研究常微分方程。很多空间分布问题会留给偏微分方程课程;但本课建立的变化率、初值、稳定性和建模观念,仍然是后续学习的底层语言。
学习微分方程时,先给方程贴几个基本标签,会比一上来寻找解法稳得多。这些标签不是形式主义,它们会决定我们能用哪些工具、能期待什么样的解。
方程的阶数由其中出现的最高阶导数决定。
是一阶方程,因为最高只出现 。
是二阶方程,因为出现了 。它常用于弹簧、振动和电路类比模型。

阶数也暗示了“当前状态”需要多少信息。一阶模型通常给一个初始值就能确定一条解曲线;二阶位置模型通常还需要初始位置和初始速度。
对未知函数 来说,一个 阶线性方程可以写成
这里的系数 可以随自变量 变化,但未知函数 及其导数只能以一次方出现,不能彼此相乘,不能被放进 、、平方根之类的函数里。

例如 是线性的,因为 和 都不是未知函数。、、 都是非线性的。
判断线性时,不要问“方程里有没有 、、指数函数”。要问未知函数及其导数怎样出现。 仍然是线性的, 才破坏线性。
在线性方程里,右端 为 时叫齐次方程;右端不是 时叫非齐次方程。
是齐次方程。
是非齐次方程。右端可以理解为外部输入、外力、热源、电压源或持续补给。
在一阶方程的后续章节里,“齐次型方程”还会有另一种专门含义。遇到这个词时要看上下文:现在先把它放在线性方程结构中理解。
下面的练习器可以用来训练这三个标签。先自己判断,再看反馈里给出的依据。
微分方程的解不是一个数,而是一个函数。函数 如果代入方程后让等式在某个区间内成立,它就是这个微分方程在该区间上的一个解。
例如
的一个解是 ,因为它的导数仍然是 。但这不是唯一的解。对任意常数 ,
都满足方程。这一族带任意常数的解叫通解。给定一个初始条件,例如 ,就会从通解里选出 的那一条:
这条被初始条件选中的解叫特解。把微分方程和初始条件放在一起,就是初值问题。

初始条件不是把方程“再求导一次”,也不是方程右边的一项。它是一条额外信息,用来说明从哪一个状态开始。方程规定变化规律,初始条件规定起点。
先看四个模型,不求完整解,只练习把现实描述翻译成变化率语言。
如果一个种群在短时间内资源充足,常见的第一近似是假设增长率与当前人口成正比。设 为人口数量,比例常数为 ,则
这个方程说:人口越多,单位时间内新增的人也越多。它适合表达早期增长,但不该无限外推到资源有限的长期情形。后面我们会用 logistic 模型修正这一点。
热饮放在室温环境中,温度下降快慢通常与“热饮温度和环境温度的差”有关。设 为热饮温度, 为环境温度,,则
当热饮比环境热时,,所以右边为负,温度下降;当温度接近环境温度时,右边接近 ,冷却变慢。
在简单 RC 电路中,电容上的电压或电路中的电流会随输入电压变化。一个典型一阶模型可以写成
这里 是电阻, 是电容, 是电容电压。左边描述电路自身的响应,右边是外部输入。这个结构以后会帮助我们理解暂态响应和稳态响应。
弹簧振子通常需要二阶方程,因为位置的变化涉及速度,速度的变化涉及加速度。设 为位移,质量为 ,阻尼系数为 ,弹簧常数为 ,则
这里 来自惯性, 表示阻尼, 表示弹簧回复力。这个例子现在只作为动机;二阶线性方程会在课程中段系统处理。
把文字情境写成常微分方程时,可以按一个固定顺序走。这个顺序不会替你完成建模判断,但能减少混乱。

题目:一杯咖啡初温为 ,放在 的房间里。假设咖啡冷却速率与它和室温的温差成正比,比例常数为 ,时间单位为分钟。写出初值问题,并解释方程中负号的意义。
先选变量和单位。令 表示 分钟后咖啡的温度,单位是摄氏度。环境温度是常数 。
再把“冷却速率与温差成正比”翻译成变化率。温差是 。因为咖啡温度高于室温时应当下降,所以变化率要取负:
因此这个情境对应的初值问题是
这一步的目标不是马上求出 ,而是把变化规律、参数、单位和初始状态摆清楚。
练习 1:判断下列方程的阶数,并说明依据。
第一个方程是一阶,因为最高阶导数是 。第二个方程是二阶,因为最高阶导数是 。第三个方程是三阶,因为最高阶导数是 。
练习 2:判断下列方程对未知函数 是否线性。
第一个方程线性, 是系数,未知函数 只一次方出现。第二个方程非线性,因为右边有 。第三个方程线性, 是自变量的函数,只是 的系数。第四个方程非线性,因为未知函数出现在 中。
练习 3:一个水箱中盐水的含盐量为 克。每分钟流入和流出都保持稳定,模型化后得到
不求解,说明右端两项分别代表什么,并判断当 与 时含盐量是在增加还是减少。
常数项 可以理解为每分钟流入的盐量, 可以理解为随当前含盐量增加而增加的流出盐量。当 时,右端为 ,含盐量增加。当 时,右端为 ,含盐量减少。
这一章要带走的不是某个解法公式,而是一种读题顺序:先找变化的量,再找变化率,最后用初始条件把可能的运动变成具体的一条轨迹。下一章我们会把这种轨迹画出来,即使暂时还没有显式公式,也能从方向场读出解的大致行为。
接着写初始条件。初温为 ,所以
最后检查意义。当 时,右边为负,温度下降;当 接近 时,右边接近 ,冷却变慢。这个趋势和生活经验一致。