一阶线性微分方程
一阶线性微分方程(first-order linear differential equation)研究未知函数的一阶导数与函数本身之间的线性关系。它常出现在“持续流入,同时按现有数量流出”的问题中。下面从水箱的盐量出发,推导解法,再说明它为何适用于一般的连续系数。
水一直在流,盐量怎样变化
设水箱始终有100升液体,每分钟流入、流出各5升;流入浓度为每升2克,箱内充分混合,初始是清水。令 为 分钟时的盐质量,单位为克。
每分钟流入的盐为 克。流出液浓度与箱内相同,是 克每升,因此每分钟流出的盐为 克。盐量变化率等于流入减流出: 开始没有盐流出,质量以每分钟10克增加;盐量升高后,流出部分也增多。若达到200克,流出恰为每分钟10克,与流入平衡。
图中流入和流出的体积速率相等,因此液体体积保持100升;两个盐质量速率却不同,因为流入浓度固定,流出浓度随箱内盐量变化。把图上两个质量速率相减,就得到方程右侧。
把两个未知项合成一个导数
整理得 。左侧有导数,也有函数本身。乘积求导公式提示: 乘上 后,左侧恰好变成这个乘积的导数。于是从0积分到 , 代入初值,再除以正数 ,得到 10分钟后盐量约为78.69克;累计流入100克,其中约21.31克已随水流走。长期浓度趋于 克每升,与流入液相同。求导可得 ,与 一致,初值也为零。
一般的一阶线性方程
水箱方程中的未知量是 。把未知量统一记成 ,一般形式为 已知函数 决定随当前状态变化的那部分, 表示外加输入。水箱例中 。若两系数在区间上连续,给出其中一个时刻的初值,便有该区间上的唯一解。
方程 是线性的,虽然时间依赖可能相当复杂; 则不是,因为出现未知函数的平方。 也不是所说的线性方程,因为未知函数与其导数相乘。这里的“线性”与解的图像是否笔直无关,指数曲线可以是线性微分方程的解。
若原式为 ,需要先在 的区间内除以 ,才能识别 与 。最高阶导数的系数在哪里为零,会影响可用区间,不能在标准化时自动删去而忘记。
当 时,称为齐次线性方程;否则称为非齐次。对齐次方程,解的常数倍和线性组合仍是解。对非齐次方程,两个解相减满足齐次方程,但直接相加一般不再满足原方程,因为外加项也被加了两遍。线性结构提供的是有条件的叠加规律。
怎样选择积分因子
问题的难点是 与 同时出现。乘积法则给出 。如果希望把原方程乘以 后的左侧合并为这个导数,就需要 。因此取 这里 可以选初始时刻, 是积分变量。指数从不为零,且 ,于是原方程等价于 水箱例的 给出 ,正好恢复此前的因子。由于指数不为零,乘法及后续除法始终等价。
解公式及唯一性
对上式从 到 积分,并用初值 ,得到 所以唯一候选为 若 在所讨论区间连续,积分函数可导,令方括号内的函数为 ,基本定理给出 ,又有 。因此 ;代入 ,积分为零且 ,得到 。因此候选确实是解,存在性得到证明。
若还有另一个解 ,两者之差 满足 且 。乘同一个积分因子,得到 ,所以 恒为零。由于 ,必有 ,唯一性得到证明。这一论证不需要先知道一般非线性方程的存在唯一性定理。
上述结论适用于系数连续的整个区间:对区间内任意有限端点,积分都是有限闭子区间上的积分。即使区间无限,也不意味着解必须有界;例如 的指数解可以一直存在而不断增大。关于本方法的教材讨论见 Jiří Lebl,§1.4。
更换初值以后,解相差多少
求解 ,初值 。积分因子为 ,因此 解为 ,初值给出 ,所以 。验证时,导数为 ,加上两倍原函数正好等于 6;初值也确为 1。
常数解 3 来自输入与衰减的平衡;指数项记录初始状态偏离平衡的程度,并随时间消失。解从 1 单调增加但始终低于 3。要求达到 2.9,解 ,得 。
若初值改为 5,则解成为 ,从上方降向同一个平衡。它说明同一外力下初值影响如何随时间衰减,并为后文的稳定性分析提供最简单的例子。
解对初值和外力有多敏感
相同外力下,两组初值相差 ,对应解的差精确为 。若在未来时间上 ,则 ,初值误差指数衰减。若 ,误差反而按 放大。线性并不自动意味着稳定。
对常系数 ,如果外力又有误差 ,且 ,同初值下的响应误差满足 这个界解释了持续的小输入误差不会无限累加,而受衰减机制限制。它也给出了量纲正确的误差规模:输入速率误差除以衰减率,才成为状态误差。
积分公式即使不能化成初等表达式,也已经给出解的表示。可以进一步使用数值积分近似其中的积分,并把系数、输入和数值误差分别记录。没有简洁闭式并不意味着该线性初值问题没有解。
系数随时间改变的例子
考虑 ,给定 。由于系数在 0 无定义,先选择包含初始点的区间 。积分因子可取 ,因为其对数导数为 。于是 初值给出 ,故 求导为 ;再加 ,总和正好为 ,验证通过。该解在 时无界,不能跨过 0 继续作为有限解。
失效边界:不能跨过最高阶系数的零点
原式 在 可标准化为 ,在每个正、负区间有解 。在 ,原方程要求 ,但这个初始值不能确定斜率:所有 都通过原点。因此若从 给初值,前面的连续系数唯一性结论不适用。
反过来,给 则根本不可能满足原方程在零点的等式。这里既可能失去唯一性,也可能失去存在性,原因不是积分因子“算坏了”,而是最高阶系数消失后,初值问题发生了结构变化。
分离变量法与积分因子法也应区分。 一般不能分成“只含 的一边”和“只含 的一边”;即便偶尔可以,除以未知函数也可能暂时排除零解。积分因子通过非零乘法处理,天然保留了齐次零解。
常数变易与叠加的另一种理解
齐次方程的解为 。为了处理非齐次项,让原来固定的 变成未知函数 ,代入 ,会发现涉及 的两项相消,只留下 。积分后正好得到相同的解公式,这就是常数变易思想在一阶情形的表现。
把解分成“齐次解加一个特解”,并不说明该分解唯一。若给特解加一个齐次解,再从齐次部分减去同一项,总解不变。真正确定的是满足给定初值的总解。对于外力 ,可以分别求相应的零初值响应后相加;初始响应只加入一次,才不会重复计算初始条件。
周期外力:瞬态如何让位给稳态
考虑 。猜测一个同频率的特解 ,求导并比较正余弦系数,得到 与 ,所以 。全部解因此为 若给定初值,只需代入一次确定 。未来时间足够长时指数项消失,留下周期响应;其振幅为 ,相对输入存在相位滞后。可以用欧拉公式把这个三角计算组织成复数代数,但实系数线性结构仍然是取实部得到解的依据。
这个例子把两个常被混淆的词分开:稳态不一定是常数状态,可以是最终保留的周期行为;瞬态也不意味着严格持续一段有限时间后突然消失,指数项只是逐渐变小。若要报告“已稳定”,应给出允许误差,例如初始项的绝对值低于某个阈值,而不是把数学极限当成某个精确截止时刻。
输入突然改变时如何接合解
若外力在某个时刻突然切换,可以在各连续区间分别求解,再把前一区间的末状态作为后一区间初值。例如 从初值零出发,在 后外力改为 6,则前段 ,后段为 。函数在切换时连续,但左导数为 0、右导数为 6,因此在该时刻没有通常的双侧导数。
这是分段经典解:它在切换时刻连续,并在两侧各自满足方程。有限输入的跃变改变变化率,积分累计得到的状态仍连续。
正性与比较:有些结论无需算出积分
由于积分因子始终为正,若初值非负且未来外力 ,解公式中的括号也非负,因此状态保持非负。这个结论与 的正负无关;系数会改变增长或衰减的速度,却不会在这些条件下把状态凭空推到负值。
类似地,同一个系数函数下,若一个问题的初值和外力都不小于另一个,则把两个方程相减并用积分公式,得到前者的解也始终不小于后者。这是比较原理的一阶线性版本。对于流量、质量等不应为负的量,它既能提供定性信息,也能检查数值结果:若严格满足这些前提的精确模型给出负状态,应先排查公式、代码或步长。
积分因子本身并不唯一,乘任意非零常数仍是积分因子。最终解中这个倍数会从两边消去,不产生新的物理参数。采用从初始时刻出发的定积分,只是固定归一化,让初值项写得清楚;采用不定积分也能得到相同结果,但应避免把无关的积分常数重复计入。
历史与后续发展
一阶方程的系统求解伴随十七、十八世纪微积分发展。雅各布·伯努利在 1695 年提出后来以其命名的方程,莱布尼茨于 1697 年说明可用变量替换将它化为线性方程;有关书目线索见 MacTutor:Bernoulli's equation。这体现了线性方程作为可归约目标的早期地位。
积分因子还用于更广泛的微分方程。欧拉在十八世纪进一步发展其应用,相关工作记于 Euler 的学术传记。
来源与继续阅读
- Jiří Lebl,《Notes on Diffy Qs》§1.4:线性方程与积分因子。
- MacTutor:Earliest Known Uses,Bernoulli's equation:1695、1697 年历史线索。
- MacTutor 收录,Euler 学术传记:积分因子方法的十八世纪发展。
- 先修:导数、积分;相关:微分方程、洛吉斯蒂模型、向量空间。