Advertisement
hiddenGem

SIR Simulation: Final Epidemic Size

Jun 29th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 0.89 KB | None | 0 0
  1. %% SIR Simulation: Final Epidemic Size
  2. % This code piggy-backs off a code with a similar name but this coed
  3. % can estimate the final epidemic size
  4.  
  5. clc, clear
  6. Beta = 0.2:0.01:1;
  7. mu = 0.1;
  8. S = NaN(size(Beta));
  9. I = NaN(size(Beta));
  10. R = NaN(size(Beta));
  11. BetaT = NaN(size(Beta));
  12. dt = 1;
  13. t = 0:1:600;
  14.  
  15. BetaT(1:end) = Beta;
  16. N = 8000000;
  17. R(1) = 0;
  18. I(1) = 1;
  19. S(1) = N-I(1);
  20. stop_length = length(Beta);
  21.  
  22. for i = 1:stop_length
  23.     S(i+1) = ((-BetaT(i)*I(i)*S(i))/N)*dt+S(i);
  24.     I(i+1) = (((BetaT(i)*I(i)*S(i))/N)-(mu*I(i)))*dt+I(i);
  25.     R(i+1) = (mu*I(i))*dt+R(i);
  26.     Rss1(i) = R(i);
  27.     R0(i) = Beta(i)/mu;
  28.     Rss2(i) = N*(1-exp(-R0(i)));
  29. end
  30.  
  31.  
  32. hold on
  33. plot(Beta, Rss1)
  34. plot(Beta, Rss2)
  35. legend('Numerical Solutions for Rss', 'Analytical Solutions for Rss', 'Location', 'best')
  36. ylabel('Epidemic Size')
  37. xlabel('Beta')
  38. title('Numerical and Analytical Solutions for Rss vs. beta')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement