Ejemplo n.º 1
0
def test():
    #  S0 = initial healthy population
    #  I0 = initial infected population
    #  R0 = initial resistant population
    #  v0 = initial vaccinated population
    #  T  = duration (days)
    #beta = probability of infection per SI pair

    vaccine_problem = ProblemSIRV(beta=0.0005,
                                  v=0.1,
                                  S0=1500,
                                  I0=1,
                                  R0=0,
                                  V0=0,
                                  p=0.1,
                                  T=60)
    vaccine_sim = SolverSIRV(vaccine_problem, 0.5)
    vaccine_sim.solve()
    vaccine_sim.plot()
    print 'The maximum no. people infected now with vaccination:', int(
        vaccine_sim.calc_max())

    old_problem = ProblemSIR(beta=0.0005, v=0.1, S0=1500, I0=1, R0=0, T=60)
    simulation_old = SolverSIR(old_problem, 0.5)
    simulation_old.solve()
    print 'Compared to the old maximum no. of infected (beta=0.0005):', int(
        simulation_old.calc_max())
Ejemplo n.º 2
0
import matplotlib.pyplot as plt
import numpy as np
from SIR_class import ProblemSIR, SolverSIR

problem = ProblemSIR(beta=5e-4, nu=.1, S0=1500, I0=1, R0=0, T=60)
solver = SolverSIR(problem, .5)
solver.solve()
plt.subplot(2, 1, 1)
plt.title('Constant beta')
solver.plot()

problem_ = ProblemSIR(beta=lambda t: 0.0005 if t <= 12 else 0.0001,
                      nu=0.1,
                      S0=1500,
                      I0=1,
                      R0=0,
                      T=60)
solver_ = SolverSIR(problem_, .5)
solver_.solve()
plt.subplot(2, 1, 2)
plt.title('Varying beta')
solver_.plot()
plt.legend()
plt.show()