擅长:python、mysql、java
<p>您的代码远远没有达到您的期望:您将不得不在某个点上求解该微分方程,而在上面的示例中,您没有这样做。这就解释了为什么你的价值观会很快偏离到无穷远,然后开始变成“南”</p>
<p>使用scipy求解微分方程,我们得到以下代码,该代码给出了令人满意的结果:</p>
<pre class="lang-py prettyprint-override"><code>from scipy.integrate import solve_ivp
import matplotlib.pyplot as plt
a = 36
b = 3
c = 12
d = 7
k = 0.2
def chen(_, y):
x0, y0, z0, q0 = y
xdot = a * (y0 - x0)
ydot = (-x0 * z0) + (d * x0) + (c * y0) - q0
zdot = (x0 * y0) - (b * z0)
qdot = x0 + k
return xdot, ydot, zdot, qdot
def chaotic_seq(x0, y0, z0, q0, length):
return solve_ivp(chen, [0, length], [x0, y0, z0, q0])
x0 = 0.3
y0 = -0.4
z0 = 1.2
q0 = 1
length = 50
sol = chaotic_seq(x0=x0, y0=y0, z0=z0, q0=q0, length=length).y
# plot x,y
plt.plot(sol[0], sol[1])
</code></pre>