Python绘制非线性ODE蚊子种群模型结果不符合预期的问题求助
Python绘制非线性ODE蚊子种群模型结果不符合预期的问题求助
我正在尝试绘制这个蚊子种群模型,但一直不确定自己的代码能不能得到合理的结果:
import numpy as np import matplotlib.pyplot as plt from scipy.integrate import solve_ivp K = 17.3 epsilon = 4.9 r = 2.7 mu = 0.9 gamma = 3.2 alpha = 4 / (K - epsilon) ** 2 def mosquito_odes(t, Y, alpha, r, K, epsilon, mu, gamma): N, M = Y dNdt = alpha * r * (N**2 / (N + M + 1e-6)) * (K - N) * (N - epsilon) - mu * N dMdt = gamma * N / (1 + N) - mu * M return [dNdt, dMdt] N0 = K/1.5 M0 = 5.6667 Y0 = [N0, M0] T = 5 t_eval = np.linspace(0, T, 100) sol_ode = solve_ivp( mosquito_odes, [0, T], Y0, args=(alpha, r, K, epsilon, mu, gamma), method="RK45", t_eval=t_eval ) t_vals = sol_ode.t N_vals, M_vals = sol_ode.y plt.figure(figsize=(8, 5)) plt.plot(t_vals, N_vals / K, label="Wild Population (N)", linestyle="-", color="b") plt.plot(t_vals, M_vals / K, label="Sterile Population (M)", linestyle="--", color="r") plt.axhline(1.9 / K, linestyle="dashed", color="brown", label="Threshold γc=1.9") # Show threshold plt.xlabel("Time") plt.ylabel("Fraction of Population") plt.title("Non-Spatial Mosquito Population Dynamics") plt.legend() plt.grid() plt.show()
按照这些参数,我原本预期两个ODE的结果都会趋近于0,但实际运行后看起来只有一个趋近于0,这和我的预期完全不符。
备注:内容来源于stack exchange,提问作者big_d
相关产品推荐
相关产品推荐

