ODE系统的相图

问题描述

我想生成系统的相图:

x'= x(y-1)和y'= 4-y ^ 2-x ^ 2

下面的代码是到目前为止我尝试过的。我的问题是ics和持续时间线,每添加更多点,就会出现红色错误,该错误将不会显示相像的输出

 import numpy as np
 from matplotlib import pyplot as plt
 from scipy.integrate import odeint


# Define vector field
def vField(x,t):
u = x[0]*(x[1]-1)
v = 4-(x[0])**2-(x[1])**2
return [u,v]

# Plot vector field

X,Y = np.mgrid[-np.pi:np.pi:-30j,-6:6:30j]
U,V = vField([X,Y],0)

fig,ax = plt.subplots(figsize=(10,10))
ax.quiver(X,Y,U,V)

ics  =      [[2,4],[2,0],[1,[-2,[-1,1],-1]]
durations = [[0,[0,8],12],12]]
vcolors = plt.cm.autumn_r(np.linspace(0.5,1.,len(ics)))  # colors      for each trajectory

# plot trajectories
for i,ic in enumerate(ics):
t = np.linspace(durations[i][0],durations[i][1],100)
x = odeint(vField,ic,t)
ax.plot(x[:,x[:,color=vcolors[i],label='X0=(%.f,%.f)' %  (ic[0],ic[1]) )

ic_x = [ic[0] for ic in ics]
ic_y = [ic[1] for ic in ics]
ax.scatter(ic_x,ic_y,color='blue',s=20)

plt.xlabel('x')
plt.ylabel('y')
plt.xlim(-3.1,3.1)
plt.ylim(-6,6)
plt.legend()

这是我从上面的python代码中获得的。我该如何完成此工作并找到其他要使用的点,以便获得最终阶段的肖像?预先谢谢你

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)