Why is my variable not updating in my SIR model?

  • Context: MATLAB 
  • Thread starter Thread starter kthejohn
  • Start date Start date
  • Tags Tags
    Variable
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
kthejohn
Messages
4
Reaction score
0
I made an epidemics SIR model but want to vary one of the parameters but it's not working can someone help I pasted the code below I believe the parameter I want to change, v, is not updating:

Matlab:
v_range=linspace(0,.1,1000);
numinfected=0*v_range;

for vi=1:1000;
    
    for klok=1:100000;
    t=klok*dt;
    S_to_I=dt*S*I*a;
    I_to_R=dt*b*I;
    nu=v_range(vi);
    S_to_V=dt*nu*S;
    I_to_Q=dt*I*q;
    Q_to_R=dt*Q*r;

    S=S-S_to_I-S_to_V;
    I=I+S_to_I-I_to_R-I_to_Q;
    R=R+I_to_R+Q_to_R;
    V=V+S_to_V;
    
    %store data...
 
Last edited by a moderator:
Physics news on Phys.org
What matters is how you store the data. Remember, ##V## is within the loop and not accessible outside it. If you want to access it outside the loop, make it global: global V. Put this statement before the loop.