2 分钟阅读

逻辑斯蒂映射(logistic map)图解

逻辑斯蒂映射(logistic map)图解,xn+1=f(xn)=rxn(1xn)x_{n+1} = f(x_n) = r \cdot x_n \cdot (1 - x_n)

r1=3r_1=3 处,一条稳定的周期 21=22^1=2 轨道诞生。在 r2=3.449r_2=3.449 处,一条稳定的周期 22=42^2=4 轨道诞生。随着 rr 继续增大,倍周期分岔不断重复,直到 r3.56995r_{\infty} \approx 3.56995,此后混沌动力学开始出现,其间又夹杂着若干周期窗口。

费根鲍姆常数(Feigeinbaum constant) δ=4.6692\delta=4.6692\dots 是当 nn 趋于无穷时,相邻两次倍周期所对应的 rnr_n 之差的比值。

import numpy as np
import matplotlib.pyplot as plt
import pylab

def f(x, R):
    return R * x * (1 - x)

def run_simulation(R, x_0, num_steps):
    x_list = np.zeros(num_steps)
    x_list[0] = x_0   
    for t in range(num_steps-1):
        x_list[t+1] = f(x_list[t], R)       
    return x_list

def plot_two(x_list, y_list):
    plt.plot(x_list)
    plt.plot(y_list)
x_list = run_simulation(R=4, x_0=0.7, num_steps=50)
y_list = run_simulation(R=4, x_0=0.70001, num_steps=50)
plot_two(x_list, y_list)

png