Skip to content
Snippets Groups Projects
Select Git revision
  • 61dd3db15d4d2af70e5920002571df76f9542bb2
  • master default
2 results

main.m

Blame
  • main.m 1.03 KiB
    clear figure
    
    N = 200;
    
    S = 990;
    I = 10;
    R = 0;
    
    coeffs = options;
    coeffs.InfectionRate = 0.02;
    coeffs.ImmunisationRate = 0.029;
    coeffs.ImmunisationLossRate = 2.7e-4;
    coeffs.DeathRate = 1.3e-2;
    coeffs.NaturalDeathRate = 2e-5;
    coeffs.NatalityRate = 5e-5;
    VaccinationVector = build_vacc_rate(2.4e-4, 2.4e-3, 50, N);
    % VaccinationVector = build_vacc_rate(0, 0, 50, N);
    
    model = model(S, I, R, 12, N);
    
    t = 1:N;
    
    for i=t
        model.step(i, coeffs, VaccinationVector);
    end
    
    % figure
    % hold on
    % plot(t, Slist);
    % plot(t, Ilist);
    % plot(t, Rlist);
    % plot(t, Dlist);
    area([model.Slist.', model.Wlist.', model.Ilist.', model.Rlist.']);
    
    legend('Susceptible', 'Waiting', 'Infected', 'Immunized');
    title('Evolution of virus in population');
    xlabel('Time');
    ylabel('Population');
    axis([1, N, 0, inf]);
    
    % utility functions
    
    function vacc_rate=build_vacc_rate(start_rate, end_rate, change_step, N)
        vacc_rate = zeros(1, N);
        for i=1:change_step
            vacc_rate(i) = start_rate;
        end
        for i=change_step+1:N
            vacc_rate(i) = end_rate;
        end
    end