蝴蝶曲线(也称为蝴蝶效应曲线或洛伦兹吸引子)通常与混沌理论相关,特别是爱德华·洛伦兹的工作。洛伦兹吸引子是一个三维结构,它描述了某些动态系统的长期行为,即使这些系统的初始条件只有微小的变化也会导致截然不同的结果。 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 洛伦兹吸引子的参数 sigma = 10.0 beta = 8.0 / 3.0 rho = 28.0 # 时间步长 dt = 0.01 # 总时间 steps = 10000 # 初始化数组 xs = np.zeros((steps + 1,)) ys = np.zeros((steps + 1,)) zs = np.zeros((steps + 1,)) # 设置初始条件 xs[0], ys[0], zs[0] = (0., 1., 1.05) # 使用洛伦兹方程进行积分 for i in range(steps): dx, dy, dz = ( sigma * (ys[i] - xs[i]), xs[i] * (rho - zs[i]) - ys[i], xs[i] * ys[i] - beta * zs[i] ) xs[i + 1] = xs[i] + dx * dt ys[i + 1] = ys[i] + dy * dt zs[i + 1] = zs[i] + dz * dt # 绘制图形 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') ax.plot(xs, ys, zs, lw=0.5) ax.set_xlabel("X Axis") ax.set_ylabel("Y Axis") ax.set_zlabel("Z Axis") ax.set_title("Lorenz Attractor") plt.show()
Python绘制蝴蝶效应曲线
最新推荐文章于 2024-08-22 22:15:21 发布