Skip to content
Snippets Groups Projects
Select Git revision
  • 178f62b439c3c61af1225f9abe6bd12e2734d5c9
  • master default protected
2 results

SIRC.m

Blame
  • SIRC.m 1.00 KiB
    %% System initalization
    % Population
    N = 1000;
    % Initial number of infected individuals
    I0 = 10;
    % Initial number of recovered individuals
    R0 = 0;
    % Initial number of carrier individuals
    C0 = 0;
    % Everyone else is susceptible
    S0 = N - I0 - R0 - C0;
    % Initial parameteres
    nu = 14;
    mu = 0.015;
    epsilon = 1.2;
    beta = 0.0002;
    gamma = 0.05;
    Gamma = 0.03;
    q = 0.8;
    
    time = 200;
    %t = linspace(0, time, time);
    
    y0 = [S0, I0, R0, C0];
    [t, y] = ode45(@(t, y) deriv(y, nu, mu, epsilon, beta, gamma, Gamma, q), [0 time], y0);
    
    figure(1)
    plot(t, y);
    xlabel('Time(days)');
    ylabel('Number of individuals');
    legend('S', 'I', 'R', 'C');
    
    
    %% Add noise
    noise = wgn(size(t,1), 4, 0, 42);
    y_noise = y + noise;
    
    figure(2)
    plot(t, y_noise);
    xlabel('Time(days)');
    ylabel('Number of individuals');
    legend('S', 'I', 'R', 'C');
    
    
    [t_noisy, y_noisy] = ode45(@(t, y) noisy_deriv(y, nu, mu, epsilon, beta, gamma, Gamma, q), [0 time], y0);
    
    figure(3)
    plot(t_noisy, y_noisy);
    xlabel('Time(days)');
    ylabel('Number of individuals');
    legend('S', 'I', 'R', 'C');