leslie-matrix / tools.py
lpnguyen's picture
Create tools.py
d3707c4
raw
history blame
630 Bytes
def integrate(model, init, tmax, cg=None):
"""
Iterate discrete time model
Args
====
model (func) function that describes the discrete time model with input as follow (n, t, pars)
init (list) initial values
tmax (int) maximum time
cg (Config) parameters
Return
======
list of the time and population values
"""
population = [init]
t = 0
t_series = [t]
while t < tmax:
pop_t = model(population[-1], cg) if cg is not None else model(population[-1])
population.append(pop_t)
t += 1
t_series.append(t)
return (t_series, population)