我是编程初学者。我需要在 python 中编写两个物种的共生模型,该模型将使用以下方程求解和绘制图形:
和
是物种 1 的种群。的值是物种 1 对物种 2 的影响(反之亦然),并且会在 0-2 之间变化。同时,、、和具有固定值。
我尝试编写与 Lotka-Volterra 模型类似的代码,但没有成功。
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
# parameters
r1 = 1.0 #fixed
r2 = 0.5 #fixed
e1 = 1.0 #fixed
e2 = 0.75 #fixed
alpha12 = 1.5 #vary from 0-2
alpha21 = 1 #vary from 0-2
N1_0 = 1
N2_0 = 1
# store initial values in an array
X0 = [N1_0,N2_0]
# The two equations are contained in dX
def mutualism(X,t):
N1, N2 = X
dX = np.zeros(2)
dX[0] = N1 * (r1 - (e1 * N1) + (alpha12 * N2)) # equation for dN1/dt
dX[1] = N2 * (r2 - (e2 * N2) + (alpha21 * N1)) # equation for dN2/dt
return dX
# set time length
t = np.linspace(0,100,300)
X = odeint(mutualism,X0,t)
N1 = X[:,0]; N2 = X[:,1]
plt.plot(t,N1, color='blue', lw=3)
plt.plot(t,N2, color='red', lw=3)
plt.show()
谁能告诉我我做错了什么以及如何改进代码?
