Sei sulla pagina 1di 11

Risoluzione Numerica di Equazioni Differenziali Ordinarie

Per la soluzione di un equazione differenziale del primo ordine consideriamo il seguente Problema a valori iniziali o Problema di Cauchy:

y ' (t ) = f (t , y (t )) y (t0 ) = y0 condizione iniziale


Teorema di esistenza ed unicit:

t0 t t* <

(1)

Sia f(t,y) definita e continua in S, S = {(t , y ) | t [t0 , t*] , y R}; sia inoltre f lipschitziana rispetto ad y in R, cio esista una costante L tale che

| f (t , y1 ) f (t , y2 ) | L | y1 - y 2 |

t [t 0 , t*] e y1 , y2 R

Allora y0 esiste una ed una sola funzione y(t) tale che y(t) continua e differenziabile con continuit in t[t0,t*] y(t) soluzione del problema di Cauchy, ossia tale che

y ' (t ) = f (t , y (t )) y (t0 ) = y0

per t [t0 , t*]

Inoltre, indicando con y(t,t0,y0 ) la soluzione del problema a valori iniziali in corrispondenza della condizione iniziale y(t0)=y0 , essa dipende con continuit dal valore iniziale stesso, cio si ha

| y(t , t0 , u0 ) y(t , t0 , y0 ) | e L|t t0| | u0 v0 |


102

Soluzione Numerica del Problema di Cauchy


Sotto le ipotesi di esistenza ed unicit della soluzione del Problema di Cauchy, possiamo studiare come calcolarla numericamente. Passando dal continuo al discreto occorre decomporre lintervallo di definizione della t, cio [t0,t*]in un certo numero n di sottointervalli che per il momento supponiamo tutti uguali

t i = t 0 + ih

i = 0,..., n

h=

t * t 0 . n

Indichiamo con ui una approssimazione di y(t) nel punto t=ti; ebbene in generale un metodo ad un passo per la soluzione del problema di Cauchy

y ' (t ) = f (t , y (t )) y (t0 ) = y0
definito dal seguente schema discreto

per t [t0 , t*]


(2)

ui +1 = ui + hF (ti , ui , h; f ) u0 = y0

i = 0,1,..., n 1
(3)

in cui F dipende da f ed una funzione di ui ti e h. A seconda di come si sceglie la funzione schemi discreti ad un passo:

F (t , u , h; f ) ,

abbiamo tanti possibili

Esempio: Metodo di Eulero Nel metodo di Eulero si considera


F (t , u , h; f ) = f (t , u )

cio si definisce il seguente schema discreto

ui+1 = ui + hf (ti , ui ) u0 = y0

i = 0,1,..., n 1
103

In generale, affinch uno schema discreto possa essere utilizzato per risolvere il problema (2) deve rispettare le condizioni di

Consistenza, Convergenza

e Stabilit.

Definizione di Consistenza: Un metodo ad un passo (3) si dice consistente se la funzione F (t i , u , h; f ) soddisfa la condizione
F (t , u ,0; f ) = f (t , y )

cio se loperatore discreto (3) tende alloperatore differenziale (2) al tendere a 0 del passo di discretizzazione. La condizione di consistenza di uno schema discreto, in questo caso di metodo ad un passo, si pu esprimere anche introducendo lerrore locale di troncamento.

Lerrore locale di troncamento di un metodo ad un passo si definisce come la differenza fra la soluzione esatta al passo i+1 e quella calcolata con il metodo ad un passo partendo dal passo i-esimo con la soluzione esatta; cio rappresenta lerrore che si compie in un singolo passo sostituendo alloperatore continuo quello discreto.
104

Indicando con

~ yi +1

il valore ottenuto dal metodo da un passo partendo da

yi

~ = y + hF (t , y , h; f ) yi +1 , i i i
definiamo

d i +1 ( h ) = yi +1 ~i +1 y
Pertanto la condizione di consistenza di un metodo si esprime dicendo che il metodo in esame consistente se

lim d (h) = 0 . h 0
Definizione di Convergenza: Un metodo ad un passo (3) si dice convergente se, comunque io fissi t [t0,t*], e per ogni y0, si ha che la soluzione approssimata tende alla soluzione vera al tendere a zero del passo di discretizzazione hi, cio u i i y(t ) quando hi i 0 dove hi = (t-t0)/i .

Definizione di Stabilit:

~ Un metodo a un passo (3) si dice stabile se, essendo ui e ui due differenti soluzioni
~ di (3) ottenute considerando due differenti valori iniziali u0 e u 0 , esiste un h0>0 e un k indipendente da h, per cui vale

~ ~ | ui ui | k | u0 u0 |
per ogni h[0,h0].

Per un metodo ad un passo del tipo (3) vale il seguente risultato che ci permette di provare facilmente la stabilit.
105

Teorema 1:

Se F (t , u , h; f ) soddisfa le condizione di Lipschitz, il metodo ad un passo stabile.

I concetti di consistenza, convergenza e stabilit di un metodo sono legati fra loro dal seguente teorema:

Teorema 2:

Se F (ti , ui , h, f ) soddisfa le condizione di Lipschitz, il metodo ad un passo (3) convergente se e solo se soddisfatta la condizione di consistenza
F (t , u ,0; f ) = f (t , y )

cio se

lim d i +1 ( h) = 0 .
h0

Lerrore locale di troncamento importante per introdurre un concetto fondamentale per i metodi di risoluzione delle equazioni differenziali, cio il concetto di ordine di un metodo.

Definizione di ordine di metodo ad un passo:

Se per ogni h[0,h0], t [t0,t*] e y si ha che

| d i+1 | Dh p +1 ,
ove D una costante indipendente da h e

p>0

d i +1 ( h ) = yi +1 ~i +1 y
Il metodo ad un passo (3) si dice che ha ordine p. Studiamo adesso se il pi semplice dei metodi a un passo, noto come metodo di
Eulero, soddisfa le condizioni di stabilit e convergenza/consistenza e quale il suo

ordine.
106

Per il Teorema 1, la scelta F (t , u , h; f ) = f (t , u ) ci garantisce che il metodo di Eulero stabile, in quanto f(t,u) Lipschitziana per ipotesi.

Per verificare la consistenza ( che quindi implica la convergenza) calcoliamo lerrore


locale di troncamento.

Calcoliamo lo sviluppo in serie di Taylor della y(t) nel punto ti+1


h2 y (t i +1 ) = y (t i ) + hy ' (t i ) + y ' ' (~) ti 2 essendo ~ (ti,ti+1). Lespressione precedente pu essere scritta come ti
h2 y (t i +1 ) = y (t i ) + hf (t i , yi ) + y ' ' ( ~) . ti 2 O(h2) Sia (4)

~ (t ) = y(t ) + hF (t , y , h; f ) = y(t ) + hf (t , y ) y i +1 i i i i i i

(5)

il valore fornito dal metodo di Eulero partendo da yi, allora, facendo la differenza tra (4) e (5), si ha d i +1 = y (t i +1 ) ~ (t i +1 ) = O(h 2 ) . y Questo ci dice che nel metodo di Eulero lerrore locale di troncamento O(h2), quindi non solo possiamo dire che consistente e sicuramente convergente, ma anche che un metodo del primo ordine, cio con p=1.

Il calcolo dellerrore locale di troncamento per il metodo di Eulero ci suggerisce la possibilit di costruire metodi ad un passo di ordine superiore al primo facendo in modo che nella differenza tra le equazioni (4) e (5) si annullino i termini che contengono potenze di h pi elevate.

107

Una possibilit per costruire metodi ad un passo di ordine superiore sarebbe quella di scegliere F (t , y , h; f ) contenente non solo la f(t,y) ma anche le sue derivate parziali di ordine successivo, ma questo non sarebbe conveniente dal punto di vista numerico. Si preferisce prendere F (t , y , h; f ) come una combinazione lineare dei valori della
f(t,y) calcolati in opportuni punti agli estremi o interni allintervallo [ti,ti+1]

determinare i coefficienti che compaiono in F in modo tale da annullare pi termini possibili per ottenere un errore locale di troncamento che contenga potenze di h il pi elevato possibile. Questa scelta per la funzione F (t , y , h; f ) inoltre garantisce che il metodo ad un passo stabile , in quanto la combinazione lineare di funzioni lipschitziane ancora lipschitziana. Vediamo ora come si possono dedurre formule ad un passo del 2 ordine. Consideriamo una F (t , y , h; f ) cos definita:

F (t , y , h, f ) = c1 f (t , y ) + c2 f (t + a1h, y + a 2 hf (t , y ))
e scriviamo lo sviluppo in serie di Taylor di y(t) soluzione vera dellequazione differenziale, nel punto t i +1

h2 ( f t + f y f ) |t =ti +O( h 3 ) y(ti +1 ) = y(ti ) + hf (ti , yi ) + 2


e lo sviluppo della F che compare in

~ (t ) = y(t ) + hF (t , y , h; f ) cio y i +1 i i i

~ (t ) = y(t ) + h[(c + c ) f (t , y ) + c h( a f + a f f ) | + O( h 2 )] y i +1 i i i t =t i 1 2 2 1 t 2 y
Calcolando lerrore locale di troncamento si ha

d i +1 = y (ti +1 ) ~(ti +1 ) = O(h 3 ) y


purch si verifichi che

c1 + c2 = 1

c2 a1 =

1 2

c2 a 2 =

1 2

Si hanno 3 equazioni in 4 incognite; le possibilit sono infinite, consideriamone due.

108

1) Metodo ad un passo di Heun.


Questo metodo viene definito scegliendo c1 = c2 =
1 2 a1 = a 2 = 1

, quindi

1 F (t , y , h; f ) = [ f (t , y ) + f (t + h, y + hf (t , y ))]. 2
Lo schema discreto ad un passo dato da

1 ui +1 = ui + h [ f (ti , ui ) + f (ti + h, ui + hf (ti , ui ))]. 2

2) Metodo ad un passo di Eulero Modificato Questo metodo viene definito c1 = 0 c2 = 1


h h Si ottiene F (t , y , h; f ) = f (t + , y + f (t , y )) 2 2

a1 = a2 =

1 2

e quindi lo schema discreto a un passo dato da

h h ui +1 = ui + hf (ti + , ui + f (ti , ui )) . 2 2
Entrambi questi metodi sono del secondo ordine e necessitano di due valutazioni della f(t,y) in punti dellintervallo [t i , t i + h] . . In modo del tutto analogo si possono costruire dei metodi di ordine superiore al secondo. Questi metodi vanno sotto il nome di Metodi di Runge-Kutta. In essi la funzione F (t , y , h, f ) data dalla combinazione lineare di q valutazioni della f(t,u) in punti dellintervallo [t,t+h] ( metdo di Runge-Kutta a q stadi) con coefficienti costruiti in modo opportuno per avere formule di ordine p, cio tali che

d i+1 = O(h p+1 ) .


In generale si ha

109

F (t , u , h; f ) = c j k j
j =1

(6)

con

k1 = f (t , u ) k j = f (t + a j h, u + h b jl kl )
l =1 j 1

j = 2,3,K, q

a j = b jl
l =1

j 1

j = 2,3,..., q

c
j =1

=1

I coefficienti che compaiono in queste espressioni vengono determinati in modo che per una formula a q stadi si abbia la precisione p massima. I metodi ad un passo di Runge-Kutta con la F data dalla (6) sono metodi convergenti; infatti essi sono consistenti e per la F si pu dimostrare che vale la condizione di Lipschitz se la f(t,y) stessa soddisfa la condizione di Lipschitz.

La formula classica di Runge-Kutta del 4 ordine a 4 stadi data da

1 1 1 1 ui +1 = ui + h( k1 + k 2 + k3 + k 4 ) 6 3 3 6
con

k1 = f (ti , ui ) h h k 2 = f (ti + , ui + k1 ) 2 2 h h k3 = f (ti + , ui + k 2 ) 2 2 k 4 = f (ti + h, ui + hk3 )

110

Stima teorica dellerrore globale.

Per i metodi ad un passo visti si pu anche definire lerrore globale nel punto t=ti come

ei = ui y(ti ) .
Vale il seguente teorema che ci d landamento dellerrore globale per un metodo di ordine p.

Teorema:
Se F (t , y , h; f ) continua in t, y, h per t[t0,t*] e h[0,h0] e per ogni y, e se soddifa la condizione di Lipschitz con costante di Lipschitz L, se inoltre di(h) soddisfa la condizione ||di(h)||Dhp+1 allora si ha
e Lb 1 Lb + e | u 0 y (t 0 ) | ei =| ui y(t i ) | Dh L
p

con b=t*-t0. Questo teorema ci assicura la convergenza della soluzione calcolata con lo schema discreto alla soluzione teorica in quanto lerrore del metodo discreto tende a 0 con hp.

Influenza degli errori di arrotondamento sullerrore globale dei metodi ad un passo.

In pratica, utilizzando un calcolatore, invece del valore discreto ui si calcola un valore vi affetto da errori di arrotondamento; si pu cio pensare

v0 = u 0 + 0 vi +1 = vi + hF (ti , vi , h; f ) = ui +1 + i +1
Per questo valore approssimato si ottiene una stima diversa dellerrore globale

i = vi y (t i ) e cio

111

h p +1 D + || || Lb || i || (e 1) + e L ( t t ) || 0 || hL
* 0

essendo || ||= max || i || . Lerrore globale si pu quindi pensare come somma di due termini, uno che decresce al calare di h, dovuto allerrore di troncamento del metodo, uno che invece cresce al tendere a 0 di h, legato alla presenza degli errori di arrotondamento. Nel caso pi semplice del metodo di Eulero, essendo p=1, lerrore globale ha landamento riportato in figura

Il valore di h*, che rappresenta il giusto compromesso per avere lerrore pi piccolo, non per noto e deve essere stimato con metodi numerici del tipo di quelli usati per i metodi di integrazione.

Controllo del passo nella realizzazione pratica dei metodi tipo Runge-Kutta
1) Stesso ordine, due passi differenti h, h/2 (Stima di Richardson) 2) Stesso passo, ordini differenti (Runge-Kutta-Fehlberg)

112

Potrebbero piacerti anche