Estratto del documento

Elaborato 3 calcolo numerico 2

A.A. 2009/2010

Cozzolino Davide 885000466

De Simone Luigi 885000538

Esercizio 1

Specifiche

Modello SIR di diffusione di un’epidemia.

Calcolare con la function MATLAB ode45 la soluzione del seguente problema:

′ () = − , 0,20

′ = −

′ =

0 = 199 ; 0 = 1; 0 = 0

Dove:

  • S = suscettibili di infezione;
  • I = infetti;
  • R = immuni(guariti);

L’epidemia si diffonde tramite l’incontro tra S ed I, il numero di persone che passa da S ad I è proporzionale al numero di incontri secondo una costante a = costante di contagio, il numero di guariti aumenta quando sono curati secondo una costante b=costante di guarigione.

Porre b=0.1 e fare il grafico della soluzione, della percentuale di individui infetti, e determinare dopo quanto tempo si verifica il picco dell’epidemia, per diversi valori di a {0.005, 0.01, 0.05, 0.1}.

Svolgimento

Il modello SIR di diffusione di un’epidemia è stato implementato con una function in MATLAB definita nel file modelSIR.m

function f = modelSIR(t,y,b,a)

% modelSIR MODELLO SIR EPIDEMIA

% Implementa il modello SIR di una epidemia

%% Parametri di Input

% t = istante temporale in giorni

% y = vettore dei valori [S; I; R]

% S = numero di individui suscettibili all'infezione

% I = numero di individui infetti

% R = numero di individui immuni(già guariti)

% b = percentuale guarigioni al giorno (compresa tra 0 e 1)

% a = percentuale di contagio giornaliera (compresa tra 0 e 1)

%% Parametri di Output

% f = vettore dei valori [Id; Sd; Rd]

% Sd = incremento di individui suscettibili all'infezione al giorno

% Id = incremento di individui infetti al giorno

% Rd = incremento di individui immuni(già guariti) al giorno

%% Esempio di funzionamento:

% [t,y]=ode45(@modelSIR,[0 20],[1 100 0],[],0.1,0.01);

% f = [ -a*y(1)*y(2); % Sd = -a*S*I

a*y(1)*y(2)-b*y(2); % Id = a*S*I-b*I

b*y(2) % Rd = b*I];

end modelSIR.m

Successivamente, come da specifica, è stato analizzato il fenomeno di diffusione dell’epidemia secondo il modello SIR con una costante di guarigione fissata a 0.1 e costanti di contagio {0.005, 0.01, 0.05, 0.1}.

%condizioni iniziali al 1° giorno

y0=[199 1 0];

% 199 individui suscettibili da infezione, un individuo infetto e zero immuni

% popolazione totale 200 individui

b = 0.1; % percentuale (costante) di guarigione 10 su 100 al giorno

a = [0.005 0.01 0.05 0.1];

% percentuali (costanti) di contagio

% 0.0005 = un contagio per ogni coppia(infetto, infettabile) ogni 2 giorni

% 0.01 = un contagio per ogni coppia(infetto, infettabile) al giorno

% 0.05 = 5 contagi per ogni coppia(infetto, infettabile) al giorno

% 0.1 = 10 contagi per ogni coppia(infetto, infettabile) al giorno

%time = [0 20]; % intervallo di analisi del fenomeno in giorni

Imposto le condizioni iniziali dell’epidemia a 199 individui suscettibili da infezione, 1 individuo infetto e 0 soggetti immuni per un totale di una popolazione pari a 200 individui.

for index=1:fignum,

[t,y]=ode45(@modelSIR,time,y0,[],b,a(index));

% calcolo max numero di infetti

maxInfetti=max(y(:,2));

% istante di tempo corrispondente al max num di infetti

tInf=t(y(:,2)==maxInfetti);

% grafico

subplot(figrig,figcol,index);

plot(t,y./sum(y0).*100,tInf,maxInfetti./sum(y0).*100,'m*');

xlabel('giorni');

ylabel('popolazione in %');

title(['Modello SIR' 13 10 'con b=' num2str(b) ' e a=' num2str(a(index))]);

legend('Suscettibili','Infetti','Guariti');

% tempo del picco di infetti

A=['\leftarrow Picco di infetti ' num2str(ceil(tInf)) '° giorno'];

text(tInf,maxInfetti./sum(y0).*100,A,'HorizontalAlignment','left','Color','magenta');

axis([time(1) time(2) 0 100]);

disp(['Modello SIR con b=' num2str(b) ' e a=' num2str(a(index))]);

disp([' Picco di infetti a ' num2str(tInf) ' giorni']);

disp(' ');

end;

Successivamente, per le 5 d

Anteprima
Vedrai una selezione di 3 pagine su 10
Calcolo Numerico II – Elaborato Pag. 1 Calcolo Numerico II – Elaborato Pag. 2
Anteprima di 3 pagg. su 10.
Scarica il documento per vederlo tutto.
Calcolo Numerico II – Elaborato Pag. 6
1 su 10
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche MAT/08 Analisi numerica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Sara F di informazioni apprese con la frequenza delle lezioni di Calcolo Numerico II e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof D'Amore Luisa.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community