差分方程模型
差分方程模型(difference equation model)用离散时刻之间的更新关系描述变化。它的解是一串状态 :已知起始状态和每一步的规则,就可以逐步计算以后会怎样。月份、生产批次、繁殖季都可以成为步数;状态本身仍可以是实数,并不因为时间离散就必须取整数。
每月留下八成,再补入二十升
考虑一个教学用调蓄水箱。每个月先放出当前水量的20%,再补入20 L水,随后记录一次水量。假定放水比例与补入量固定,没有其他进出水,水箱容量足够。以下参数和数据都是按这一假设构造的,未取自实际水箱的测量。
令 表示第 次记录的水量,单位为L; 是从0开始的整数,每增加1代表经过一个月。初始记录为 。下一次先剩下 ,再加20,故 这里的0.8是无量纲保留比例,20是每一步补入的水量。前几步可直接手算: 增加量依次是16、12.8、10.24 L,逐次变小。虽然每月都补水,也不意味着水量无界增加,因为原有水量越大,同一比例放出的水也越多。
先放水后补水的顺序已经写入方程。若改成先补20 L再放出总水量的20%,规则就变为 。括号的位置对应不同的操作,不能省略为同一个模型。
下一步不变的水量,以及怎样得到全部状态
如果水量已经达到某个值 ,下个月仍然等于它,那么 把 移到左边得到 ,所以 L。这是平衡点,也称更新函数的不动点:在100 L时,每月恰好放出20 L,又补入20 L。
仅仅求得平衡点,还没有证明从20 L出发会趋向它。为追踪差距,把原递推减去平衡关系: 令 表示带正负号的偏差,则 。连续应用这一等式,得到 、,一般地 代入 ,得到 这个公式满足初值;把它代入更新式,右边变成 ,也正是下一项。因此它给出了整条解,而不只是前几个月的拟合曲线。
由于 并趋向0,本例水量始终低于100 L,且单调增加。若把初值换成160 L,公式则为 ,水量会从上方单调减少。下图的两串点分别描绘这两种情况;连线只帮助追踪相邻记录,不规定两次记录之间的实际水流过程。
假如希望水量与100 L相差不超过1 L,需要多少步?条件是 两边取自然对数,得到 。由于 ,除以它时不等号反向,故 步数取整数,所以最少20步。复核边界:第19步仍差约1.1529 L,第20步差约0.9223 L。从20 L出发不会在任何有限步恰好达到100 L;“达到平衡”若指实际操作,通常要明确容许误差。
蛛网图为什么要来回走
递推 可以画在同一坐标平面里。横轴表示当前值,纵轴表示更新后的值。画出 ,另画辅助直线 。
从横轴的20开始,竖直走到更新函数,得到点 。这一步读出了下一项36。要继续用36作为横坐标,就水平走到 上的 ;再竖直走到 ,便得到下一个更新结果。以后重复“竖直到函数、水平到对角线”,就是蛛网图的构造。
在100以下,更新直线位于对角线上方,所以下一项比当前项大;在100以上则相反。但这种上下关系本身不足以保证没有超调。本例的确不会越过100,是因为 保留了偏差的符号。图上看见的阶梯收缩,正对应已经证明的八成缩小关系。
一阶仿射递推的通式与稳定性
把保留比例与补入量写成一般常数,得到 它通常称为一阶线性非齐次差分方程;从更新函数的角度看, 是仿射函数。“一阶”表示下一步只需当前状态;如果规则还依赖 ,就需要保存更多历史状态。显式的二阶规则例如 ,需要给定两个起始值。取 ,才能依次确定后面的1、2、3、5等项。斐波那契在1202年提出的兔子繁殖问题就形成这种二阶递推结构,具体假设与按月计数见Chasnov,《Mathematical Biology》§2.1,印刷页15。
当 时,平衡点是 。同样相减,可得 也可以逐次展开:初始水量留下 ,每一步补入的量经历不同次数的保留,因此 两种形式相同:一种突出距平衡多远,另一种突出初始量和历次输入分别贡献了多少。Marcel Oliver 的讲义《Difference Equations》§2给出了含变系数情形的一般递推解法。
称平衡点稳定,是指初值足够接近它时,以后始终保持接近;在此基础上,附近轨迹还趋于它,则称渐近稳定。对于上面的仿射递推,这些性质直接由 决定。
| 参数 | 偏差的变化 | 平衡点性质 |
|---|---|---|
| 同号、逐步缩小 | 渐近稳定,单侧趋近 | |
| 一步后偏差为零 | 一步到达平衡 | |
| 正负交替,绝对值缩小 | 渐近稳定,交替趋近 | |
| 正负交替,绝对值不变 | 稳定但不渐近稳定,非平衡解为二周期 | |
| 非零偏差的绝对值增大 | 不稳定 |
例如 的平衡点仍是100。取 ,有 、、;偏差20、−12、7.2、−4.32逐次换号缩小。这可以表示围绕目标的过度调节,却不再是“留下负六成水量”的物理保留过程。数学参数允许什么,与具体机制允许什么,要分别检查。
此前除以了 ,所以还须处理 。此时 :若 就没有平衡点;若 则每个状态都是平衡点,邻近的初值各自停在原处,并不互相靠拢。
非线性更新怎样在平衡附近判断
对较一般的 ,先解 。若 在平衡附近连续可微,且 ,可以选取一个小邻域及常数 ,使邻域里处处有 。利用中值定理, 只要初值在这个邻域里,下一项离平衡更近,仍留在邻域;逐步应用得到 。这既证明稳定,也证明吸引性。
若 ,可在小邻域内取得下界 ,同一中值定理使每一步非零偏差至少放大 倍,直到离开该邻域,因此不稳定。若导数绝对值恰好为1,这一检验不作结论。例如 在0附近会把小偏差缩小, 则放大,两者在0的导数却都是1。详细条件与证明见Oliver,§3,定理3。
离散模型、连续采样与欧拉近似
水箱的逐月操作本来就定义了离散过程。若另设持续进水和持续排水,则可以建立微分方程 这里 以月计, 是L/月, 是每月的连续排出率。平衡水量为 ,其精确解为 。每隔 个月记录一次,精确记录满足 这不是近似,是连续方程在离散时刻的精确采样关系。
另一种做法,是把一段时间内的变化率近似冻结在该段起点,即显式欧拉法: 它用 近似 。由指数展开 ,可见只保留到一次项时漏掉了从二次开始的项。这里控制近似程度的是无量纲步长 ,而不只是步长数字看上去是否小。
例如取 L/月、 每月、 月,欧拉法恰好给出开头的 ;但连续方程的精确采样是 。从20 L出发,一个月后的连续精确值约为34.5015 L,欧拉值为36 L。两个模型的平衡都是100 L,过程仍有差别。
若坚持让连续方程的月度精确采样与原递推完全相同,应取 每月,并令 L/月。它们是由月度保留关系反推的连续参数,不能把“每月排出20%”直接当作连续率0.2而又声称精确相同。
步长怎样制造振荡甚至发散
连续误差满足 ,始终同号并逐渐消失。欧拉误差却满足 因此渐近稳定要求 ,也就是 。在 时,它虽能衰减,却会交替越过平衡;在 时偏差不衰减;大于2时偏差被放大。若还要求对所有非负初值都保持非负更新,一个充分条件是 ,使保留系数和输入项都非负。这比只要求渐近稳定更强。
下图取非平衡初值 ,把偏差除以初始偏差,令 ,再以 作为横轴。图中用 标记无量纲步长。连续曲线都是 。三种欧拉步长的乘数分别为0.5、−0.5、−1.2,因而依次出现同侧衰减、交替衰减和交替放大。变化的是算法步长,同一连续方程并未发生新的振荡机制。
这类稳定性来自每一步误差的放大因子,见Driscoll 与 Braun,《Fundamentals of Numerical Computation》§11.3。判据通过也不保证当前步长已足够准确,还需比较更小步长、精确解或独立误差估计。
输入不精确时,结论能维持到什么程度
假设仍保留八成,但每月实际补入量比20 L多或少 ,且 。用 表示这条受扰轨迹与原轨迹之差,则 展开后有 每一项的意义是:早期输入误差已经经历多次衰减,最新误差还没有衰减。取绝对值并把有限等比和相加,得到 从同一初值出发,若每次输入误差不超过0.1 L,长期轨迹差就不超过0.5 L。若每次都多补0.1 L,新的平衡正是 L,说明这个上界可以逼近。它也适用于同样形式的逐步计算误差,但实际水箱的保留比例变化、容量溢流等机制需要另建方程,不能一概归入固定的输入误差。
相关条目与参考资料
从离散更新转向瞬时变化率,可继续阅读微分方程、一阶线性微分方程;状态依赖的增长可见洛吉斯蒂模型;多状态相互影响可见捕食者-猎物模型。模型单位的核对见量纲分析。
- Marcel Oliver:Difference Equations,§§1–3,显式差分方程、仿射解、蛛网图与局部稳定性。
- Jeffrey R. Chasnov:Mathematical Biology,§2.1,斐波那契兔子问题及二阶递推。
- Toby A. Driscoll、Richard J. Braun:Fundamentals of Numerical Computation,§11.3 Absolute stability,时间步长、放大因子与绝对稳定性。