I am trying out odeint
and received the error
'Excess work done on this call (perhaps wrong Dfun type).'.
The values returned are also super sensitive to small changes of the initial value. Some initial values don't run into this problem whereas others do.
rho = 0.1
beta = 0.01
N = 50
gamma = 0.20
theta = 0.01
delta = 0.1
alpha = 1000
S = 1000
W = 180
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
def model(L,t):
R = (L * delta * alpha * 20) / (2* theta*S*N*W)
dLdt= rho*L-beta*N+(L*delta*alpha*R*W*20)/(N*S)
return dLdt
L0 = 20
# time points
t = np.linspace(0, 500, 1000)
# solve ODE
L, infodict = odeint(model,L0,t,full_output=True)
infodict['message']
The output L
goes from 20
to 100
and then spikes to 1.62e+011
before going to zero again.