Skip to content
Scroll to top↑

逻辑斯蒂映射的分叉图

逻辑斯蒂映射(Logistic Map)是最简单却也最能展示混沌现象的非线性迭代:

xn+1=rxn(1xn)

其中 r 为控制参数,x[0,1] 代表种群数量。不同的 r 会产生截然不同的长期行为。下面的交互组件绘制完整的分叉图,并以竖线标注当前 r、用亮点标出其吸引子:点击画布上任一横向位置即可设定 r,观察系统从不动点、周期倍化直至混沌的演化。

xn+1 = r·xn(1−xn)r = 3.300周期 2

完整分叉图(r 从 2.6 到 4.0)。点击画布:按横向位置设定 r,竖线标注当前 r,亮点为其吸引子。

如何阅读这张图

  • 横轴是控制参数 r(取值范围 2.64.0),纵轴是长期稳定后 x 可能取到的值(吸引子)。
  • 竖线随当前 r 移动,线上的亮点就是该 r 的实际吸引子取值。
  • 对每个 r,我们从一个初值出发反复迭代,丢弃前段暂态之后,把剩下的 x 全部描成点。
  • r 较小时所有点收缩为一条线——无论从哪出发,都收敛到同一个不动点
  • 随着 r 增大,一条线会分裂成两条:系统开始在两值间来回振荡,进入周期 2;随后再次分叉为周期 4、周期 8 …… 这就是周期倍化(period doubling)。
  • 到了 r3.57 附近,分叉迅速堆积,系统进入混沌:吸引子不再是有限个点,而是一整段连续的带状结构。
  • 混沌区域内又隐藏着许多透明的「窗口」,例如 r3.83 附近重新出现周期 3 的稳定轨道。

关键参数与临界点

事件r说明
稳定不动点0r3非零不动点 x=11/r 吸引
首次分叉r=3不动点失稳,出现周期 2
周期 4r=3.449第二次分叉
混沌开始r3.57周期倍化级联的聚点
周期 3 窗口r3.83混沌中的稳定窗口,也是「周期三蕴含混沌」的著名例子

相邻两次分叉的间隔之比趋于一个常数,即 Feigenbaum 常数

δ=limnrnrn1rn+1rn4.6692

奇怪的是,这个 4.669 对一大类单峰映射都成立,与具体的函数形式几乎无关,是混沌理论中最早的普适性发现之一。

实现细节

  • 完整分叉图采用密度累积:横轴按像素列切分,每个 r 值反复迭代映射,先丢掉前几百步(暂态)再留下长期行为;把留下的每个 x 投影到纵轴的一列像素并在该处计数,最后把「被访问的次数」换算成亮度——访问次数越多越亮。这样,周期区里被反复访问的少数几个点会非常醒目,而混沌区里铺满整个区间、每个值只偶被访问的点也能累积成一条可见的带;若不累积、每个点等重画出,混沌带会淡到几乎看不见。
  • 对当前 r 自动检测渐近循环的周期(存在微小容差内重复即认为周期),用于显示「不动点 / 周期 k / 混沌」,并叠加竖线与吸引子亮点。

源代码见 bifurcation/index.vueuseBifurcation.ts