我的代码有问题,当我尝试编译时出现错误。
错误是
由func(4)返回的数组的大小与y0(2)的大小不匹配。
但是当我增加时,也会出现错误
要解包的值太多(预期为2)
您对此有何看法?
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
def pend(y, t, beta, N, v, gamma):
S1, I1 = y
dydt = [S1,(-beta * S1 * I1 / N) + v*(N-S1-I1), I1, (beta * S1 * I1 / N)- (I1*gamma)]
return dydt
beta = 0.0001
N = 10000
v = 0.00001
gamma = 1./7
S0=9999
I0=1
y0 = [S0, I0]
t = np.linspace(0, 1000, 10001)
sol = odeint(pend, y0, t, args=(beta,N,v,gamma))
print(sol)