Sei sulla pagina 1di 13

Modelli

Matematici per la Biomedicina:


Laboratorio 1/Matlab
Esercizio 1

Risolvere numericamente il seguente problema di Cauchy

{y(0)
y′ = 2t − y 2
= y0

utilizzando il metodo di Eulero esplicito ed il comando ode45 di Matlab.


Confrontare i risultati ottenuti.

1
Modelli Matematici per la Biomedicina:
Laboratorio 1/Matlab
Esercizio 2
Risolvere il seguente sistema di ODE (modello di Michaelis-Menten
adimensionalizzato) usando ode45

·
u(t) = − u(t) + (k̃ + u(t)) v(t) u(0) =1
·
ε v(t) = u(t) − (k + u(t)) v(t) con condizioni iniziali v(0) =0
· z(0) =0
z(t) = hv(t)

u = s/s0 concentrazione substrato adimenzionalizzata


v = c/e0 concentrazione complesso enzima-substrato adimenzionalizzata
z = p/s0 concentrazione prodoFo adimenzionalizzata.
k−1 k−1 + k2 k2
ε = e0 /s0, k̃ = , k= , h= ,
k1s0 k1s0 k1s0
Parametri: e0 = 0.005, s0 = 0.9, k−1 = 1, k1 = 100, k2 = 40.
2
Breve ripasso:
risoluzione numerica di equazioni differenziali
ordinarie
Modelli matematici e equazioni differenziali
• Tipicamente, il modello matematico di un sistema consiste in
un’equazione differenziale, che stabilisce una relazione tra le
variabili indipendenti e la funzione incognita e le sue derivate.

• Equazioni differenziali ordinarie (ODE)



Sia

dove è un intervallo e è un aperto;


si dice equazione differenziale ordinaria (ODE) di ordine n una
relazione del tipo
F (t, y(t), y′(t), . . . y (n)(t)) = 0
y (n)(t)
dove è la derivata i−esima della funzione y(t)
• L’ordine di un’equazione è l’ordine massimo delle derivate che vi
compaiono
4
Modelli matematici e equazioni differenziali
• L’aggettivo ordinario si riferisce al fatto che la funzione incognita da
integrare è una funzione di una sola variabile (si parla invece di
equazioni differenziali alle derivate parziali, PDE, quando l’incognita
è funzione di più variabili).
• Equazioni differenziali ordinarie del primo ordine 
 y′(t) = f(t, y(t))


y(t) = f(t, y(t))dt
• La funzione y tale che descrive una famiglia
(infinita) di soluzioni
• Per avere una soluzione unica occorre una condizione aggiuntiva
• problema ai valori iniziali: le condizioni sono fissate per un
medesimo valore della variabile indipendente

5
Il problema di Cauchy
• Definisce la forma generale dei problemi ai valori iniziali 

(IVP − Initial Value Problem)

{y(t0) = y0
y′(t) = f(t, y(t)) ∀t ∈ I = [t0, t*]

con condizione iniziale y0 ed intervallo di integrazione [t0, t*].
• Calcolare analiticamente la soluzione di un’equazione
differenziale significa valutare un integrale

—> la valutazione dell’integrale è difficilmente effettuabile in
forma chiusa, anche per ODE di uso frequente 

—> L’unica alternativa consiste nell’utilizzo di tecniche
numeriche 

—> Problema deve essere ben posto e ben condizionato.
6
Il problema di Cauchy: Teorema di esistenza ed unicità

7
Metodi one−step per la risoluzione di ODE
• Consideriamo suddivisione intervallo [t0, t*] in N sottointervalli di
ampiezza h=(t*—t0)/N —> successione { tk } con k=1, ..N+1
• Cerchiamo la soluzione approssimata in corrispondenza di questi punti


yk = y(tk)
• Un generico metodo numerico one-step consiste nel valutare
yk+1 = yk + hΦ(tk, yk, yk+1; f, h)

Φ(tk, yk, yk+1; f, h)


dove è la
funzione generatrice del metodo
e rappresenta la pendenza usata
per estrapolare linearmente un
nuovo valore yk+1 dal precedente
Metodi one−step per la risoluzione di ODE

• METODO DI EULERO ESPLICITO y

yk+1 = yk + hf(tk, yk) stimato


vero } errore
Si calcola un nuovo valore yk+1 servendosi della
h
derivata prima calcolata nel punto di partenza
tk per estrapolare linearmente yk lungo tk tk+1
l’intervallo h
• Proprietà del metodo
• Esplicito: yk+1 compare solo al primo membro
• Metodo ad 1 passo: yk+1 dipende solo da yk
• Metodo del primo ordine: errore locale di discretizzazione

proporzionale ad h
9
Metodi one−step per la risoluzione di ODE

• METODO DI EULERO IMPLICITO

yk+1 = yk + hf(tk+1, yk+1)

Si calcola un nuovo valore yk+1 servendosi della derivata prima calcolata


nel punto tk+1 per estrapolare linearmente yk lungo l’intervallo h

• Proprietà del metodo


• Implicito: yk+1 compare sia al primo membro sia al secondo
(eventualmente non lineare)
• Metodo ad 1 passo: yk+1 dipende solo da yk
• Metodo del primo ordine: errore locale di discretizzazione

proporzionale ad h
• Incondizionatamente stabile (qualsiasi valore di h)
10
Metodi one−step per la risoluzione di ODE

• METODO DEI TRAPEZI ( O METODO DI CRANK-NICOLSON)


h
yk+1 = yk + [ f(tk, yk) + f(tk+1, yk+1)]
2

• Proprietà del metodo


• Implicito
• Metodo ad 1 passo: yk+1 dipende solo da yk
• Metodo del secondo ordine: errore locale di discretizzazione

proporzionale ad h2

11
Metodi Runge-Kutta

più elevato

• Funzione generatrice dei metodi RK ESPLICITI


s


Φ(tk, yk; f, h) = biKi
i=1
i−1


Ki = f(tk + cih, yk + h aij Kj)
j=1
s è il numero di stadi del metodo 12
Metodi Runge-Kutta
• Matrice di Butcher

• In Matlab: Si usano i comandi ODE!


• Metodi espliciti: ode23 (basato su schemi Runge-Kutta di ordine 2 e 3); 

ode45 (basato su schemi Runge-Kutta di ordine 4 e 5); 

ode113 (basato su schemi multistep di ordine variabile da 1 a 13)
• Metodi impliciti: ode15s (schemi multistep di ordine variabile da 1 a 5)

—> utile per problemi stiff (fenomeno caratterizzato da un transitorio
molto veloce, dopo il quale il sistema si stabilizza su una soluzione che
varia più lentamente nel tempo)
13

Potrebbero piacerti anche