[Scilab-users] Covid19 model

Claus Futtrup cfuttrup at gmail.com
Thu Apr 30 20:11:06 CEST 2020


Hi Stéphane

Thank you for showing me how to work ODE.

P.S. about Corona modeling, the model by Risbo is nice in that you can 
implement a lockdown of some sort. It's a simple one-step lockdown, 
where you have to tune the R-value ... in reality each geographic area 
is different, related to how much of a lockdown is executed, how dense 
the population is, etc.

Cheers,
Claus

On 4/30/2020 4:51 PM, Stéphane Mottelet wrote:
>
> Hi Clauss,
>
> Just modify the following lines :
>
> t1  =  0:0.1:60;
> y1  =  ode(y0,  0,  t1,  odefun);  // [t1,y1] = ode45(@odefun,[0 60],y0); // run 1st scernario
> idx=[3:6];
> scf();
> a  =  gca();
> plot(Begin+t1,y1(idx,:),'-');  // semilogy(Begin+t1,y1(:,idx),'-','LineWidth',3) And you will be fine. ode() needs a vector of time values and the output is oriented transposed w.r.t Matlab output.
>
> S.
>
> Le 30/04/2020 à 16:40, Claus Futtrup a écrit :
>> functiondydt=odefun(t, y)ift<daysR=R0;elseR=0.6;// Change 
>> reproductive rate after 
>> lockdownendA=[00-delta*R*y(1)/Npop000;...0-gamdelta*R*y(1)/Npop000;...0gam-delta000;...00delta*(1-Fhosp)000;...00delta*Fhosp0-1/Thosp0;...00delta*R*y(1)/Npop000];dydt=A*y;endBegin=datenum(2020,02,20,0,0,0);// 
>> begin dateDlock=datenum(2020,03,12,0,0,0);// date of 
>> lockdowndays=Dlock-Begin;R0=2.6;// inital R valuegam=1/3;// gamma, 
>> the inverse of average latent timedelta=1/5;// inv time constant 
>> which infectious people either recover or enter hospitalFhosp=0.16;// 
>> fraction of recovering people going to hospitalThosp=14;// average 
>> time of hospitalisationNpop=6e6;// total initial population of 
>> sensitivey0=[Npop;50;50;0;0;0];// [S E I R Hosp ] intial 
>> cond.t1=0:60;y1=ode(y0,0,60,odefun);// [t1,y1] = ode45(@odefun,[0 
>> 60],y0); // run 1st 
>> scernarioidx=[3:6];scf();a=gca();plot(Begin+t1,y1(:,idx),'-');// 
>> semilogy(Begin+t1,y1(:,idx),'-','LineWidth',3)a.log_flags="nln";xlabel('Date')ylabel('Number 
>> of cases')xgrid();// ax=gca;// ax.YLim=[10 
>> max(max(y2(:,idx)))];xtitle({'Danish Corona lock down on 20.03.12, vs 
>> 14 days later','R goes from 2.6 to 0.6 at 
>> lockdown'});legend('Infected','Recovered','Hospitalised','Total Cases');
> -- 
> Stéphane Mottelet
> Ingénieur de recherche
> EA 4297 Transformations Intégrées de la Matière Renouvelable
> Département Génie des Procédés Industriels
> Sorbonne Universités - Université de Technologie de Compiègne
> CS 60319, 60203 Compiègne cedex
> Tel : +33(0)344234688
> http://www.utc.fr/~mottelet
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20200430/dde63815/attachment.htm>


More information about the users mailing list