Esercizio 2:
Esercizio 2
Il modello SIR [1] viene comunemente utilizzato per rappresentare la diffusione di una malattia in una popolazione di grandi dimensioni. Indicando con I(t) il numero di individui infetti, S(t) il numero di individui suscettibili, R(t) il numero di individui rimossi (per aver acquisito l'immunità o per essere deceduti), il modello è rappresentato dal sistema di equazioni differenziali
dI(t)dt = β S(t)I(t) − γ I(t)
dS(t)dt = − β S(t)I(t) t > 0
dR(t)dt = γ I(t)
I(0) = I0 > 0, S(0) = S0 > 0, R(0) = 0
I parametri positivi β e γ rappresentano, rispettivamente, il tasso di infezione e il tasso di rimozione.Si assume che la popolazione sia chiusa e valga la legge di conservazione
I(t) + S(t) + R(t) = N 0 ≤ I(t), S(t), R(t) ≤ N
Il modello SIR è un modello epidemiologico che descrive la diffusione di una malattia in una popolazione, suddividendo gli individui in tre classi: i suscettibili S(t), che possono essere infettati; gli infetti I(t), che trasmettono la malattia; e i rimossi R(t), che hanno sviluppato immunità. Il modello è regolato da due parametri principali: il tasso di trasmissione β e il tasso di rimozione γ, e viene anch’esso descritto da un sistema di equazioni differenziali.
Il modello SIR è utilizzato per studiare epidemie in cui gli individui, dopo l’infezione, acquisiscono un’immunità permanente, come nel caso del morbillo o della varicella.
Per risolvere questo esercizio sul modello SIR, ho inizialmente assegnato valori ai parametri costanti indicati nella traccia e definito le condizioni iniziali.
In particolare, ho considerato una popolazione di 100 individui, con 5 persone infette al tempo iniziale t0=0. Il tasso di infezione è stato fissato a β = 0.05, mentre il tasso di rimozione è stato scelto pari a γ = 1. Ho analizzato poi vari passi di discretizzazione considerando in primo luogo un passo h = 0.5 ed ho grafico l’andamento degli individui infetti, suscettibili e rimossi risolvendo il sistema di equazioni differenziali con 4 metodi di crescente precisione: Metodo di Eulero, Metodo di Heun, Metodo di Runge-Kutta e utilizzando la funzione di Matlab Ode45.
La funzione Ode45 è una funzione integrata in MATLAB e viene utilizzata per risolvere numericamente equazioni differenziali ordinarie (ODE). Impiega un metodo numerico di Runge-Kutta di ordine 4 e di ordine 5 per questo la utilizziamo per confrontare gli altri metodi
Esercizio 2:
Il modello SIR è un modello epidemiologico che descrive la diffusione di una malattia in una popolazione, suddividendo gli individui in tre classi: i suscettibili S(t), che possono essere infettati; gli infetti I(t), che trasmettono la malattia; e i rimossi R(t), che hanno sviluppato immunità. Il modello è regolato da due parametri principali: il tasso di trasmissione β e il tasso di rimozione γ, e viene anch’esso descritto da un sistema di equazioni differenziali. Il modello SIR è utilizzato per studiare epidemie in cui gli individui, dopo l’infezione, acquisiscono un’immunità permanente, come nel caso del morbillo o della varicella. Per risolvere questo esercizio sul modello SIR, ho inizialmente assegnato valori ai parametri costanti indicati nella traccia e definito le condizioni iniziali. In particolare, ho considerato una popolazione di 100 individui, con 5 persone infette al tempo iniziale t0 = 0. Il tasso di infezione è stato fissato a β = 0.05, mentre il tasso di rimozione è stato scelto pari a γ = 1. Ho analizzato poi vari passi di discretizzazione considerando in primo luogo un passo h = 0.5 ed ho graficato l’andamento degli individui infetti, suscettibili e rimossi risolvendo il sistema di equazioni differenziali con 4 metodi di crescente precisione: Metodo di Eulero, Metodo di Heun, Metodo di Runge-Kutta e utilizzando la funzione di Matlab Ode45. La funzione Ode45 è una funzione integrata in MATLAB e viene utilizzata per risolvere numericamente equazioni differenziali ordinarie (ODE). Impiega un metodo numerico di Runge-Kutta di ordine 4 e di ordine 5 per questo la utilizziamo per confrontare gli altri metodi
One-Step di ordine minore. Mentre per la convergenza di tutti i metodi, compresa la Ode45, useremo la Ode78 che utilizza un metodo numerico di Runge-Kutta di ordine 7 e di ordine 8.
Dal precedente grafico è possibile osservare come il metodo di Eulero presenta una minore precisione se confrontato con il grafico della Ode45 rispetto agli altri metodi.Si nota che il numero di suscettibili diminuisce rapidamente man mano che gli individui si infettano e, con il tempo, la curva tende a 0 perché la maggior parte della popolazione è stata infettata e successivamente rimossa (guarita o morta).Il numero di infetti cresce inizialmente, poiché molti suscettibili vengono contagiati fino a raggiungere un picco, che rappresenta il momento in cui il numero di nuovi infetti inizia a diminuire perché ci sono meno suscettibili disponibili. Gli individui rimossi, invece, all’inizio sono nulli perché nessuno è ancora guarito o uscito dalla popolazione ma dopo un certo intervallo temporale, i rimossi aumentano fino ad un valore asintotico che, in questo caso, è la totalità della popolazione.I successivi grafici rappresentano un confronto separato dei grafici degli individui suscettibili, infetti e rimossi ottenuti con i vari metodi.
Da questo confronto è possibile notare come il metodo di Eulero è quello che meno segue l’andamento delle curve della Ode78.
Per valutare il metodo più accurato rispetto alla Ode78, ho graficato a titolo esemplificativo l’errore globale del metodo di Runge-Kutta e della Ode45 rispetto alla Ode78. Si nota, come ci aspettava, che l’errore globale della Ode45 oscilla attorno allo zero e l’andamento di Runge-Kutta sottolinea una maggiore instabilità del metodo.
In seguito, ho valutato un altro passo di discretizzazione h = 0.05 e, applicando i vari metodi, ho ottenuto questi grafici in cui si nota come anche l’andamento del metodo di Eulero, meno preciso degli altri, si avvicina all’andamento del metodo più accurato, quello della Ode45. Si nota, inoltre, che gli andamenti degli individui infetti, suscettibili e rimossi non varia rispetto al caso precedente perché non sono stati varaiti il tasso di infezione e il tasso di rimozione.
Analizzando un gruppo di individui alla volta si osserva come le curve ottenute dai metodi di Heun e Runge-Kutta non riescono a distinguersi rispetto alla Ode45. Solo le curve derivanti dal metodo di Eulero sono leggermente visibili rispetto alle curve della Ode45. Quindi tutti i metodi si discostano dalla soluzione più accurata, che è la Ode78 in questo caso, più o meno nello stesso modo e l’errore globale diminuisce alla diminuzione del passo di discretizzazione h. Anche nel grafico dell’errore si vede come i picchi attorno allo 0 di entrambi le funzioni sono più bassi, a sottolineare una maggiore precisione diminuendo il passo h.
Confronto delle approssimazioni per S(t)
- Euler
- Heun
- Runge-Kutta
- Ode45
- Ode78
Confronto delle approssimazioni per I(t)
- Euler
- Heun
- Runge-Kutta
- Ode45
- Ode78
Confronto delle approssimazioni per R(t)
- Euler
- Heun
- Runge-Kutta
- Ode45
- Ode78
Errori con Ode78 - S(t)
- Ode 45
- Runge-Kutta
Errori con Ode78 - I(t)
- Ode 45
- Runge-Kutta
Errori con Ode78 - R(t)
- Ode 45
- Runge-Kutta
Nel modello SIR gli individui infetti possono solo essere rimossi ma non possono ammalarsi di nuovo. Modificando il modello SIR nel modo seguente
dI(t)/dt = βS(t)I(t) - γI(t) - ρI(t)
dS(t)/dt = -βS(t)I(t) + ρI(t) t > 0
dR(t)/dt = γI(t)
I(0) = I0 > 0, S(0) = S0 > 0, R(0) = 0
è possibile tener conto del fatto che gli infetti, una volta guariti, possono diventare di nuovo suscettibili. In questo caso il parametro positivo ρ rappresenta il tasso con cui gli individui infetti diventano suscettibili.
Il problema richiedeva, poi, una modifica del sistema di equazioni differenziali con l'introduzione di un modello in cui gli infetti, una volta guariti, possono diventare di nuovo suscettibili: è il caso della recente infezione da Coronavirus.
Per risolvere numericamente anche questo caso, ho eseguito nuovamente le varie approssimazioni con due passi di discretizzazione e considerando il tasso ρ = 1.
Per h = 0.5:
La principale differenza che si nota è guardando le curve che rappresentano i suscettibili e i rimossi. Infatti, i suscettibili non hanno più un andamento asintotico allo 0 per un tempo sufficientemente grande mentre i rimossi non raggiungono più la totalità della popolazione in esame, caso che si verificava per il modello SIR classico analizzato in precedenza.
Si riporta un confronto tra i due modelli SIR e SIR_S con il metodo di Eulero, Heun, Runge-Kutta e con la Ode45:
Metodo di Eulero SIRMetodo di Heun SIRMetodo di Eulero SIR SMetodo di Heun SIR SMetodo di Runge-Kutta SIRMetodo Ode45 SIRMetodo di Runge-Kutta SIR SMetodo Ode45 SIR SPrestando attenzione alla curva degli infetti, si può osservare una diminuzione del picco tra il modello SIR e SIR_S dovuto al fatto che, gli individui una volta guariti diventano nuovamente suscettibili riducendo il numero di infetti. Confrontando le approssimazioni per le curve dei suscettibili, infetti e rimossi si nota che, il metodo di Eulero è quello che riesce a seguire con meno facilità l’andamento della Ode78: anche per il modello SIR modificato risulta essere il metodo meno preciso.
Si nota come l’approssimazione valutata con il metodo di Runge-Kutta classico e con la Ode45 presentano un buon valore di convergenza alla soluzione più accurata: sono dei metodi matematicamente stabili rispetto a un metodo meno accurato come quello di Eulero. Diminuendo il passo di discretizzazione h = 0.05 come nel caso precedente, notiamo una migliore approssimazione dei 3 metodi analizzati rispetto all’approssimazione che otteniamo dall’utilizzo della funzione di Matlab Ode45:
-
Esercizio Metodi One step
-
Terzo esercizio sui metodi ONE-STEP e introduzione metodi alle differenze finite
-
Secondo parziale di matematica
-
Bilanci Aziendali - secondo parziale