Skip to content

Latest commit

 

History

History
103 lines (85 loc) · 2.31 KB

File metadata and controls

103 lines (85 loc) · 2.31 KB
%matplotlib inline
from modsim import *
system = System(t0=0,
                t_end=10,
                adult_pop0=10,
                birth_rate=0.9,
                death_rate=0.5,
                juvenile_pop0=0,
                mature_rate=0.33)

system
def run_simulation(system):
    """Runs a proportional growth model.

    Adds TimeSeries to `system` as `results`.

    system: System object with t0, t_end, p0,
            birth_rate and death_rate
    """
    juveniles = TimeSeries()
    juveniles[system.t0] = system.juvenile_pop0
    adults = TimeSeries()
    adults[system.t0] = system.adult_pop0

    for t in linrange(system.t0, system.t_end):
        births = system.birth_rate * adults[t]
        deaths = system.death_rate * adults[t]
        maturations = juveniles[t] * system.mature_rate

        adults[t + 1] = adults[t] + maturations - deaths
        juveniles[t + 1] = juveniles[t] + births - maturations

    system.adults = adults
    system.juveniles = juveniles
run_simulation(system)
system.adults

def plot_results(system, title=None):
    """Plot the estimates and the model.

    system: System object with `results`
    """
    newfig()
    plot(system.adults, 'bo-', label='adults')
    plot(system.juveniles, 'rs-', label='juveniles')
    decorate(xlabel='Season',
             ylabel='Rabbit population',
             title=title)
plot_results(system, title='Proportional growth model')

rab2fig/rabs.png