Per la soluzione di un equazione differenziale del primo ordine consideriamo il seguente Problema a valori iniziali o Problema di Cauchy:
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
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
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
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 ) ,
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
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:
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.
| 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.
~ (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
~ (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
c1 + c2 = 1
c2 a1 =
1 2
c2 a 2 =
1 2
108
, 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
a1 = a2 =
1 2
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
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.
1 1 1 1 ui +1 = ui + h( k1 + k 2 + k3 + k 4 ) 6 3 3 6
con
110
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.
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