2.2 连续对离散:流、映射与两套时间引擎


2.2 连续对离散:流、映射与两套时间引擎

本节摘要:定义先行——连续引擎是微分方程 dx/dt = f(x),时间连续滑行;离散引擎是映射 x_{n+1} = f(x_n),时间一拍一拍跳。两者共享同一套几何语言(平衡/不动点、稳定性、吸引子),但有一道锋利的分界:一维连续流被单调性锁死、永不振荡,一维映射却能振荡乃至混沌。本节用"同名不同命"的两个逻辑斯蒂模型把这道分界演示到能复现。

本节上承 2.1 的连续引擎,是全册的枢纽对照之一:第三章第五节的倍周期瀑布、第五章的庞加莱截面,全都建立在"离散引擎"这个概念上。把两套引擎的等价与差异一次理清,后面的路会平很多。

两套时间引擎

连续引擎(流):dx/dt = f(x),状态每时每刻都在动,轨道是相空间里的连续曲线。离散引擎(映射):x_{n+1} = f(x_n),状态只在整数节拍上被更新,"轨道"是一串点列。两套引擎并非无关:对周期性强迫系统在每个周期末拍一次照(频闪采样),或沿一条截面记录穿越点,就能把流"压"成映射——这就是频闪映射与庞加莱映射,5.3 节正式登场。

稳定性判据在两边要对齐着记:

对象 连续引擎(流) 离散引擎(映射)
平衡对象 平衡点 f(x*)=0 不动点 f(x*)=x*
一维稳定性 f'(x*)<0 稳定
高维判据 雅可比特征值实部全负 雅可比特征值模全小于一
失稳边界 特征值穿过虚轴 特征值穿过单位圆
一维能否振荡 否:dx/dt=f(x) 轨道沿 x 轴单调爬行 能:迭代可在两点之间来回跳
混沌所需最低维数 连续时间三维(如洛伦兹) 一维即可(逻辑斯蒂映射)

表格最后两行是本节的题眼。一维连续流里,轨道在数轴上只能朝一个方向走——它被"不许掉头、不许交叉"锁死,于是不动点之外没有任何花样。把时间改成离散的,一步可以跳过头、跳回来,反向与交叉的禁令消失,一条抛物线就能长出无穷结构。维数门槛的不同,是连续与离散最深刻的差异

图:连续流与离散映射的时间推进对照

图:连续流与离散映射的时间推进对照

同名不同命:两个逻辑斯蒂模型

对照实验的完整过程如下。

背景:种群生态学里有个著名的"逻辑斯蒂"名字,被两套引擎共用——连续版 dx/dt = r·x·(1 − x/K) 与离散版 x_{n+1} = r·x_n·(1 − x_n)。名义上都叫"增长率 r 的有限资源增长模型",命运却完全不同。

操作:归一化 K=1,取同一组 r 值跑两套引擎。连续版用 solve_ivp 积分,离散版直接迭代,各看长期行为:

import numpy as np from scipy.integrate import solve_ivp def continuous(r, T=60): sol = solve_ivp(lambda t, x: [r * x[0] * (1 - x[0])], [0, T], [0.05], rtol=1e-10, dense_output=True) tail = sol.y[0][sol.t > T * 0.6] return tail.min(), tail.max() # 稳态波动幅度 def discrete(r, n=400): xs, x = [0.05], 0.05 for _ in range(n): x = r * x * (1 - x) xs.append(x) tail = xs[n//2:] return min(tail), max(tail) for r in (1.5, 2.5, 3.2, 3.7): cmin, cmax = continuous(r) dmin, dmax = discrete(r) print(f"r={r}: 连续 稳态区间 [{cmin:.3f},{cmax:.3f}] | 离散 [{dmin:.3f},{dmax:.3f}]")

结果(典型输出):

r=1.5: 连续 稳态区间 [1.000,1.000] | 离散 [0.600,0.600] r=2.5: 连续 稳态区间 [1.000,1.000] | 离散 [0.600,0.600] r=3.2: 连续 稳态区间 [1.000,1.000] | 离散 [0.513,0.799] r=3.7: 连续 稳态区间 [1.000,1.000] | 离散 [0.325,0.901]

解读:连续版不管 r 多大,种群总是平滑爬向承载量(K=1),一步到位的不动点,永不振荡——一维流的单调性给它的天花板。离散版则一路升级:r=2.5 稳在不动点 1−1/r=0.6;r 越过 3 后不动点失稳,r=3.2 出现稳定的周期二(0.513 与 0.799 轮流值班,两者相加恰为 1+1/r≈1.3125,可用代数验证);r=3.7 进入混沌,稳态区间被拉宽到 0.325–0.901 且毫无周期。同一个"生态直觉",连续引擎里温和守礼,离散引擎里孕育混沌——因为世代重叠(连续交配)与世代分离(一年一代)本来就是两种生物学。

变式:把离散版的 r 缓慢从 2.9 加到 4.0,记录稳态区间端点,你会亲手画出第三章第五节的倍周期瀑布;把连续版加到三维(洛伦兹),混沌也回来了——维数门槛与时间引擎的这组对照,至此闭环。

问题:连续与离散,哪个更"真实"?

都不更真实,它们是两种测量姿态的抽象。连续流假设状态在任意时刻都有定义,离散映射假设只有节拍上的读数才可靠——前者像模拟电路,后者像人口普查。建模时选择的标准不是"真实",而是"信息在哪一级产生":世代重叠的种群、连续反应的化学槽用流;年度迭代、脉冲采样、数字控制系统用映射。还有一个常被忽略的来源:哪怕底层是流,只要观测是频闪式的(每周期测一次),分析对象就自动是映射——庞加莱截面正是这个道理。所以"连续对离散"与其说是自然界的分类,不如说是信息流的分类,选引擎先问数据与节拍在哪里。

本节要点回顾

  • 两套引擎、一套几何:平衡点对不动点、虚轴对单位圆,稳定性判据形异神同。
  • 维数门槛:一维流单调无振荡、三维才容混沌;一维映射即可振荡与混沌——离散一步能"跳过头"是全部差异的根源。
  • 桥梁:频闪采样与庞加莱映射把流压成映射,两套引擎在分析工具层面互通。
  • 同名不同命:连续逻辑斯蒂模型永收敛,离散逻辑斯蒂映射在 r=3 之后走向周期与混沌——选择引擎就是选择命运。

引擎挑好了,下一节学把轨道画出来:相线与相平面。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U