本节摘要:logistic 映射证明了离散迭代能混沌,本节的主角证明连续微分方程同样能——而且只需三个变量。本节复盘洛伦兹系统的完整数值实验:从对流模型的降阶动机,到四阶龙格-库塔积分器的实现与步长检查,再到双翼吸引子的绘制、两条轨迹的分离演示、不动点失稳的定位与吸引子维数的量级。这是第一章那场实验室事故的"方程版续集"。
上一节留在参数轴上,本节进入相空间。第一章我们复盘过洛伦兹在 1961 年的打印纸事故,但那只是现象;真正让他名留史册的,是他随后把繁复的对流模型提炼成三个变量的方程组,并在 1963 年发表了那篇如今被引用数十万次的论文。本节把这个方程请回屏幕,把论文里的关键现象逐项重演:有限定常的对流失稳、非周期的长期轨道、以及那个后来被称为奇异吸引子的双翼结构。
阅读完本节,你应当能够:
背景是大气里最常见的运动之一:底部加热、顶部冷却的流体层会自发产生对流卷——热水上升、表面下沉,形成滚筒般的环流。洛伦兹把这一场景极大简化:保留一个竖直速度模、一个温度偏差模、一个抑制对流的温度高阶模,共三个变量,记作 x、y、z。x 度量对流的强弱与方向,y 度量上升区与下沉区的水平温差,z 度量竖直方向温度分布对线性剖面的偏离。三个参数里,σ 是流体的普朗特数(动量扩散与热扩散之比),ρ 是驱动对流的瑞利数相对临界值的倍数,b 是几何比值。经典参数取 σ 等于十、ρ 等于二十八、b 等于三分之八——这组数下系统处于强对流区,也正是混沌出没的区域。
方程组为:x 的变化率等于 σ 乘 y 减 x;y 的变化率等于 x 乘 ρ 减 z 再减 y;z 的变化率等于 x 乘 y 减 b 乘 z。读法建议抓两项非线性:y 的变化率里 x 与 z 的乘积项负责"对流把自己的温度环境改了";z 的变化率里 x 乘 y 负责"运动与温差互相喂养"。整个系统的能量账本可以这样看:ρ 项持续注入能量(加热),减号项持续耗散(冷却与摩擦),而系统的长期归宿——吸引子——正是注入与耗散平衡后剩下的那点永不停歇的余兴节目。
连续方程要算,先选积分器。欧拉法在这里会明显变形(轨迹慢慢瘪掉或漂移),标准选择是四阶龙格-库塔:每步用四个斜率加权外推,误差按步长的四次方缩小。实现上特别提醒两点:其一,洛伦兹方程里有 x 乘 z 这类量级不一的乘积,计算顺序要固定,否则浮点舍入也会引入不可控差异(这与第一章的事故遥相呼应——数值实验里没有"无关紧要"的细节);其二,跑长程前先做步长验收:把步长减半重跑同一段轨迹,两条结果在关心的时间范围内应当重合到容许误差内。验收不过,先减步长再谈结论。
# 洛伦兹系统数值实验(伪代码) 参数: sigma=10, rho=28, b=8/3 ; 步长 h=0.01 ; 步数 3000 初值: (x,y,z) = (1.0, 1.0, 1.0) 龙格-库塔四阶: k1 = f(t, s) k2 = f(t + h/2, s + h*k1/2) k3 = f(t + h/2, s + h*k2/2) k4 = f(t + h, s + h*k3) s = s + h*(k1 + 2*k2 + 2*k3 + k4)/6 步长验收: h=0.01 与 h=0.005 各跑一遍, 前 25 个时间单位内 两轨迹最大偏差 < 1e-6 -> 验收通过 长期行为: 3000 步后轨迹进入双翼往复, z 值在约 5 与约 47 间振荡, 左右翼交替绕圈, 圈数随机 (两圈三圈四圈不等, 无固定剧本)
第三段输出正是吸引子的行为签名:暂态之后轨迹被锁进一个有限区域,区域内永不重复也永不离场。第 2.2 节的引擎描述在这里全面兑现——翼上的绕行是拉伸,跨翼的跳转是折叠。
画出 x 对 z 的投影(x 横轴、z 纵轴),蝴蝶现身:左右两团环状结构由下方一条"脊椎"相连,轨道沿一团绕若干圈后被甩向另一团。这个投影图就是"蝴蝶效应"一词的视觉来源——虽然那次命名取自报告标题的比喻,但图形本身确实像展开的双翼。
翼的中心各有一个不动点:把变化率全部置零可解出,x 星等于 y 星等于正负根号下 b 乘 ρ 减一,z 星等于 ρ 减一;经典参数下约为正负八点四八与二十六点九。它们的稳定性可由线性化判据判定:在 ρ 约等于二十四点七四以下时两个不动点稳定(轨迹最终落进左翼或右翼安家),越过之后双双失稳——于是轨道既不能在翼上停留、又无处可去,只能永远在两翼之间迁徙。混沌需要的正是一种"所有出口都被堵死"的处境:不动点不稳、极限环不稳、跑不出吸引子。第 2 章的三条判据在这一刻全都显形。

复现洛伦兹论文的招牌结果:从两个初值差亿分之一的起点各积分一条轨迹,定时记录两者距离。典型的复盘数据长这样——前约十个时间单位里距离一直躺在百万分之一的量级(短期可预报),随后开始每零点八个时间单位左右翻一倍,到约二十五个时间单位时距离达到吸引子自身尺度(约二十),此后在两个翼的间距间震荡不再增长(长期信息耗尽)。把这条距离曲线画在半对数坐标下,中段近似直线,直线斜率乘以自然对数的底换算一下,就是最大 Lyapunov 指数的粗估——量级零点九上下,第 4.2 节会用正规算法把这一个数精确化。
还有一项"验明正身"的检查:吸引子是奇异(分形)的,还是普通曲面?把长期轨迹的散点做盒计数(第 4.3 节的正规流程),复盘的量级结论是:关联维数约等于二点零六——介于平面与立体之间,根本不是整数维。这就是"奇异"二字的可操作含义:吸引子不是一个面,而是被无穷折叠揉出的分形集合,几何维数取非整数值。至此,洛伦兹系统的复盘拿到三件套:行为上双翼往复不重复,动力学上不动点全失稳而轨迹无处可逃,几何上吸引子分形维数非整——三项证据互相咬合,混沌验明。
补充一个积分器选择的常见疑问:为什么不用更简单的欧拉法?欧拉法每步的局部误差更大,在洛伦兹这类强弯曲轨道上会把能量算歪,双翼的形状很快走样;四阶龙格-库塔在同等步长下误差小几个数量级,配合步长减半验证(与 3.4 节同款流程)就能放心出图。混沌对数值误差同样敏感——积分器不行,你看到的可能不是系统的混沌,而是算法自产的噪声。
洛伦兹系统是耗散混沌的样板:有摩擦、有吸引子。下一节请出对照组——双摆,看看没有摩擦的世界里,混沌换了一副怎样的面孔。