In[]:=
In[]:=
Manipulate[GrafPunkter[x_]:=Table[{i/SampleFactor,x[[i+1]]},{i,0,T*SampleFactor}];Graf[x_,c_]:=Graphics[{c,Thick,Line[Table[{i/SampleFactor,x[[i+1]]},{i,0,T*SampleFactor}]]}];MaxPunkt[x_,f_]:=Module[{i},i=1;While[i<Length[x]&&fx[[i]]<fx[[i+1]],i=i+1];If[i>1,{i,x[[i]]},{1,x[[1]]}]];MaxGrafPunkter[x_,f_]:=Module[{Mx,My},{Mx,My}=MaxPunkt[x,f];{{0,My},{Mx/SampleFactor,My},{Mx/SampleFactor,0}}];MaxGraf[x_,f_,c_]:=Graphics[{c,Thin,Line[MaxGrafPunkter[x,f]]}];FarvetGraf[y_]:=Table[Graf[y[[i]],Kurvefarve[[i]]],{i,3}];FarvetMaxGraf[y_,f_]:=Table[MaxGraf[y[[i]],f[[i]],Kurvefarve[[i]]],{i,3}];Population=100.;SampleFactor=10;AntalCifre=3;Kurvefarve={Green,Red,Blue};DerErLabels=True;b=7Log[2]/Dob/Population;k=7/Ink;P=NDSolve[{s'[t]-bs[t]f[t],f'[t]bs[t]f[t]-kf[t],r'[t]kf[t],s[0]Population(1-F0),f[0]Population*F0,r[0]0},{s,f,r},{t,0,T}];XTabel=Transpose[Table[Evaluate[{f[i/SampleFactor],s[i/SampleFactor],r[i/SampleFactor]}/.P][[1]],{i,0,T*SampleFactor}]];Fortegn={1,-1,1};XMax=Table[MaxPunkt[XTabel[[i]],Fortegn[[i]]],{i,1,3}];Do[XMax[[i,1]]=XMax[[i,1]]/SampleFactor,{i,1,3}];bLabel=If[DerErLabels,Graphics[{Table[Style[Text[""<>ToString[NumberForm[1.XMax[[i,2]],AntalCifre]],{-0.06*T,XMax[[i,2]]+0.02Population}],FontFamily"Times New Roman",FontSize20,Kurvefarve[[i]]],{i,1,3}],Style[Text[""<>ToString[NumberForm[1.XMax[[1,1]],AntalCifre]],{1.XMax[[1,1]],-0.03*Population}],FontFamily"Times New Roman",FontSize20,Kurvefarve[[1]]],Style[Text[" R0="<>ToString[SetAccuracy[Population*b/k,3]],{T0.8,1.05*Population}],FontFamily"Times New Roman",FontSize20,Purple],(*R0*)Style[Text["dobl="<>ToString[Round[Dob]]<>" dage (β="<>ToString[NumberForm[bPopulation/7,3]]<>")",{T0.2,1.05*Population}],FontFamily"Times New Roman",FontSize20,Blue],(*beta*)Style[Text["inku="<>ToString[Round[Ink]]<>" dage (γ="<>ToString[NumberForm[1.k/7,3]]<>")",{T0.55,1.05*Population}],FontFamily"Times New Roman",FontSize20,Red](*gamma*)}],{}];Figur=Show[FarvetGraf[XTabel],FarvetMaxGraf[XTabel,{1,-1,1}],bLabel,PlotRange{{-0.1,1}T,{0,1.1}Population},Frame->True,FrameLabel{{"Smittede",""},{"tid (uger)","Smittekurve"}},ImageSize800,AspectRatio2/3];Figur,{{Dob,4.,"Doblingstid, dage"},1,35.,1.},{{Ink,14.,"Inkubationstid, dage"},1,35.,1.},{{F0,0.00001,"Startantal"},0.00001,0.50,0.00001},{{T,80,"Tidshorisont"},10,100}]
Out[]=