使用Python绘制Lorenz奇异吸引子轨道
为了在计算机上绘制Lorenz吸引子,我们需要对上述微分方程组进行数值积分。常用的数值积分方法包括欧拉法、龙格-库塔法等。
这里使用SciPy的odeint函数对微分方程组进行数值积分
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as pltdef lorenz(X, t, s, r, b):x, y, z = Xdx = s*(y - x)dy = x*(r - z) - ydz = x*y - b*zreturn [dx, dy, dz]s = 10
r = 28
b = 8/3
initial_X = [0, 1, 1.05]# 使用SciPy的odeint函数对微分方程组进行数值积分:
t = np.linspace(0, 100, 10000)
trajectory = odeint(lorenz, initial_X, t, args=(s, r, b))# 使用Matplotlib的mplot3d模块绘制Lorenz吸引子的3D图形:fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot(trajectory[:,0], trajectory[:,1], trajectory[:,2])
plt.show()