Python 我们必须用带矢量的欧拉方法求解两个微分方程组;我没有显示正确的情节 将numpy导入为np 将matplotlib.pyplot作为plt导入 plt.style.use(‘seaborn-poster’) %matplotlib内联 #欧拉法` def欧拉(f、x0、t0、tmax、dt): t=np.arange(t0,tmax,dt) x=np.0((len(t),len(x0))) x[0,:]=x0 对于范围内的n(长度(t)-1):#长度t x[n+1,:]=x[n,:]+dt*f(t[n],x[n,:])) 返回t,x f=λt,x:np.数组([1.1*x[0]-0.4*x[0]*x[1],0.4*x[0]*x[1]-0.1*x[1]])#系统 x0=[20,1] t0=0 tmax=200 dt=0.01 t、 x=欧拉(f,x0,t0,tmax,dt) #狐狸种群和兔子种群的时间演化 plt.图(figsize=(12,8)) plt.plot(t,x[:,0],'b-',t,x[:,1],'r--') plt.grid() 插图标题(“狐狸种群和兔子种群的时间演变”) plt.图例([“绿色”、“蓝色”]) plt.xlabel(“时间”) plt.ylabel(“兔子数量和狐狸数量”) plt.show()

Python 我们必须用带矢量的欧拉方法求解两个微分方程组;我没有显示正确的情节 将numpy导入为np 将matplotlib.pyplot作为plt导入 plt.style.use(‘seaborn-poster’) %matplotlib内联 #欧拉法` def欧拉(f、x0、t0、tmax、dt): t=np.arange(t0,tmax,dt) x=np.0((len(t),len(x0))) x[0,:]=x0 对于范围内的n(长度(t)-1):#长度t x[n+1,:]=x[n,:]+dt*f(t[n],x[n,:])) 返回t,x f=λt,x:np.数组([1.1*x[0]-0.4*x[0]*x[1],0.4*x[0]*x[1]-0.1*x[1]])#系统 x0=[20,1] t0=0 tmax=200 dt=0.01 t、 x=欧拉(f,x0,t0,tmax,dt) #狐狸种群和兔子种群的时间演化 plt.图(figsize=(12,8)) plt.plot(t,x[:,0],'b-',t,x[:,1],'r--') plt.grid() 插图标题(“狐狸种群和兔子种群的时间演变”) plt.图例([“绿色”、“蓝色”]) plt.xlabel(“时间”) plt.ylabel(“兔子数量和狐狸数量”) plt.show(),python,plot,vector,differential-equations,Python,Plot,Vector,Differential Equations,注释:此程序未显示正确的绘图 微分方程组用于(第二)练习 x0'=1.1·x0− 0.4·x0·x1 x1'=0.4·x0·x1− 0.1·x1 x0(0)=20:是兔子的数量 x1(0)=1:是狐狸的数量 您的问题到底是什么?现在正确缩进的代码生成的绘图看起来是正确的。您是如何确定绘图错误的?请注意,Euler方法作为具有固定步长的一阶方法,其精度可能低于任何具有步长控制的高阶解算器。虽然精确解确实是一个周期,但欧拉解将在相图中向外螺旋。

注释:此程序未显示正确的绘图

微分方程组用于(第二)练习

x0'=1.1·x0− 0.4·x0·x1
x1'=0.4·x0·x1− 0.1·x1
x0(0)=20:是兔子的数量
x1(0)=1:是狐狸的数量

您的问题到底是什么?现在正确缩进的代码生成的绘图看起来是正确的。您是如何确定绘图错误的?请注意,Euler方法作为具有固定步长的一阶方法,其精度可能低于任何具有步长控制的高阶解算器。虽然精确解确实是一个周期,但欧拉解将在相图中向外螺旋。