Vous êtes sur la page 1sur 9

Complementi di Analisi Matemati

a
Eser itazione del 29 settembre 2005

Metodi numeri i di risoluzione per Equazioni


di erenziali ordinarie
Lu a Gerardo-Giorda

Introduzione

La modellizzazione matemati a di un problema si o, he indi heremo per sempli ita on PF, onsiste nel
determinare un'equazione od un sistema di equazioni:
F (y; d) = 0;
(1)
laddove y e l'in ognita oggetto della modellizzazione, d e l'insieme dei dati da ui dipende la soluzione ed F
esprime la relazione funzionale tra y e d. A se onda del tipo do problema, y e d possono essere valori reali,
vettori o funzioni.
Tipi amente, la relazione F (y; d) = 0 e un'equazione di erenziale (per esempio l'equazione y00 = g, dove g e
l'a elearzione di gravita, ha ome soluzione y la velo ita verti ale di un grave in aduta libera) o un sistema
di equazioni di erenziali (ordinarie o a derivate parziali). In queste note i limiteremo a onsiderare il aso
in ui la relazione F (y; d) = 0 e un'equazione di erenziale ordinaria (ODE, dall'inglese \Ordinary Di erential
Equation") del primo ordine.
Ad e ezione di po hi asi, non sempre e possibile risolvere analiti amente un'ODE; inoltre, la risoluzione
analiti a non garantis e la possibilita di avere un'espressione espli ita di fa ile derivazione. La gran parte delle
equazioni he emergono nei modelli e non lineare e non puo essere risolta espli itamente: e quindi ne essario
er arne una soluzione approssimata ri orrendo ad un metodo numeri o.
Un metodo numeri o onsiste nella ostruzione di una su essione di problemi approssimati
Fn (yn ; dn ) = 0
n1
(2)
dipendenti da un parametro n ( he de niremo piu avanti), on la speranza he
yn

!y

! 1:

Per he questo a ada sono ne essarie una buona approssimazione del dato (i.e. dn ! d per n ! 1) e la
\ onsistenza" del metodo, ossia:
Fn (yn ; dn ) F (y; d) ! 0
n ! 1:
Se il problema numeri o (2) approssima il problema matemati o (1) e quest'ultimo modella un problema si o
PF, diremo he (2) e un \modello omputazionale" per PF.
1

L'errore globale ( he denotiamo on e) he si ommette nell'approssimare la soluzione yF del problema si o


on il modello omputazionaale e la di erenza tra la yF e la soluzione e ettivamente al olata y^n , he risulta
la omposizione dell'errore del modello (em ) e dell'errore omputazionale (e ), a sua volta dipendente dalla
dis retizzazione del dominio di al olo (en ) e dalla pre isione della ma hina (ea ):
PF:

yF

em

&
e

)=0

F y; d

!
%

Fn yn ; dn

(3)

ea

en

&
Dalla (3) si ha quindi

yF

)=0

yF ) + (y y^n )
{z }
| {z }
modello
omputazionale

= em + e = (|y

yn ) + (yn y^n )
{z }
| {z }
dis retizzazione
roundo

e = en + ea = (y
|

e si individuano le seguenti tipologie d'errore:


1. Errori dovuti al modello: ontrollabili migliorando la ostruzione del modello matemati o.
2. Errori nei dati: ridu ibili aumentando l'a uratezza deile misurazioni dei dati stessi.
3. Errori di tron amento: le operazioni di passaggio al limite vengono approssimate on operazioni he
ri hiedono un numero nito di passi.
4. Errori di arrotondamento (o \roundo "): dovuti all'aritmeti a nita delle ma hine.
Gli errori 3) e 4) ostituis ono l'errore omputazionale. Un metodo numeri o si di e \ onvergente" se questo
errore pu`o essere ridotto aumentando lo sforzo omputazionale (per esempio aumentando il numero di punti
della griglia di dis retizzazione). Tuttavia questo non e su iente e le altre aratteristi he he si ri hiedono ad
un metodo numri o sono:
a) A uratezza: gli errori devono essere pi oli rispetto ad una tolleranza ssata, in genere quanti ata
attraverso l'ordine di in nitesimo di en rispetto al parametro aratteristi o della dis retizzazione (il numero
di punti n o h = 1=n).
b) Adabilita: l'errore totale puo essere assi urato al di sotto di una erta tolleranza on un margine di
probabilita superiore ad una per entuale prestabilita.
) E ienza: la omplessita omputazionale ne essaria per ontrollare l'errore deve essere la piu bassa
possibile.

Approssimazione numeri a di ODE

Queste note vogliono solamente essere una introduzione molto elementare all'approssimazione numeri a delle
ODE. Per una piu esaustiva presentazione degli argomenti trattati qui si puo far riferimento ad un qualunque
testo di analisi numeri a, quale ad esempio [1.
Consideriamo ora il problema di Cau hy: trovare y 2 C 1 (I ) a valori reali tale he
8
< y 0 (t)
:

= f (t; y(t))

2I

( ) = y0 ;

y t0

(4)

dove f : I  R ! R e una funzione assegnata e ontinua rispetto alla oppia (t; y). Integrando la (4) tra t0 e t
si ottiene
Z t
Z t
f (x; y (x)) dx;
(5)
y 0 (x) dx =
y (t) y0 =
t0

t0

e l'equivalenza

soluzione di (4)
()
y soluzione di (5)
puo essere sfruttata a livello numeri o: se si utilizza la formulazione (4) e ne essario approssimare su ogni
intervallino (xi ; xi+1 una derivata, se si usa la (5) e ne essario approssimare un integrale. Diamo qui di seguito
le metodologie standard per questi due tipi di approssimazione.
y

Approssimazione di derivate mediante di erenze nite

Una derivata puo essere approssimata mediante un metodo alle di erenze nite.
Sia u : R ! R una funzione reale di variabile reale e sia x0 2 R. Se esiste u0 (x0 ), si ha
u(x0 + h) u(x0 )
:
u0 (x ) = lim
0

h!0

Consideriamo ora il problema di approssimare una derivata nei nodi della griglia. Sostituendo il limite on il
rapporto in rementale ad h nito (h = jxi xi 1 j), si ottiene un'approssimazione della derivata detta di erenza
nita in avanti
u(xi+1 ) u(xi )
uFD
i =
h
Per quanto on erne la bonta di questa approssimazione, osserviamo he, dallo sviluppo di Taylor della
entrato in x = xi ,
h2 00
u(xi+1 ) = u(xi ) + hu0 (xi ) +
2 u (i );
dove i 2 (xi ; xi+1 ), si ottiene immediatamente
2

= h2 u00 (i ):
Questo signi a he la di erenza nita in avanti e un'approssimazione del primo ordine della derivata u0 (xi ).
Oltre al rapporto in rementale in avanti e possibile utilizzare quello all'indietro,
u0 xi

( )

uFD
i

uBD
i

= u(xi )

u xi 1

o quello entrato
uCD
i

= u(xi+1 ) 2h u(xi 1 )

Si vede fa ilmente he la di erenza nita all'indietro uBD


i e del primo ordine ome quella in avanti, mentre la
di erenza nita entrata uCD

e
del
se ondo
ordine.
In
Figura 1 si e riportata l'interpretazione geometri a dei
i
tre tipi di di erenza nita.
FD

ui

BD

ui

CD

ui

xi

i1

x i+1

Figure 1: Interpretazione geometri a dell'approssimazione di u0 (xi ) mediante di erenze nite


Approssimazione di integrali mediante formule di quadratura
Sia u : R ! R una funzione reale di variabile reale e onsideriamo il problema di al olare

)=

I u; a; b

()

u x dx:

In generale non e possibile avere un'espressione analiti a per la primitiva di u(x), ed e ne essario ri orrere inve e
a formule di quadratura. Qui di seguito riportiamo le due piu sempli i.
1. Formula del punto medio. L'area del gra o sotteso alla urva sull'intervallo (a; b) viene approssimata
on l'area del rettangolo avente ome base l'intervallo (a; b) stesso e ome altezza il valore della u(x) nel
punto medio dell'intervallo:


a+b
pm
I
= (b a) u 2
2. Formula del trapezio. L'area del gra o sotteso alla urva sull'intervallo (a; b) viene approssimata
on l'area del rettangolo avente ome basi il valore della u(x) negli estremi dell'intervallo e ome altezza
l'intervallo (a; b) stesso :
(b a) hu(a) + u(b)i
IT =
2
Si puo mostrare fa ilmente he entrambe queste formule di quadratura sono esatte al primo ordine, ossia
integrano esattamente i polinomi di primo grado. In Figura 2 si riporta l'interpretazione geometri a delle
formule di quadratura qui presentate.
4

a+b
2

a+b
2

Figure 2: Interpretazione geometri a delle formule di quadratura del punto medio (a sinistra) e del trapezio (a
destra)
Metodi numeri i ad un passo

Sia I = (t0 ; t0 + T ), e sia ftn = t0 + nhn g la su essione dei nodi di dis retizzazione dell'intervallo I in
sottointervalli In = [tn ; tn+1 , on n = 0; : : : ; N (per omodita suponiamo he la mesh sia uniforme, ossia he,
per ogni n, hn = h = T =N ).
Denotiamo quindi on un l'approssimazione di y(tn ) nel nodo tn e poniamo per sempli ita di notazione
yn = y (tn )
fn = f (tn ; un ):
Possiamo allora de nire un metodo numeri o ad un passo.
De nizione 1 Un metodo numeri o si di e ad un passo se un+1 dipende solamente da un . In aso ontrario
il metodo si di e multistep.

Nel seguito riportiamo al uni metodi ad un passo per l'approssimazione della (4).
1. Eulero forward (o Eulero espli ito): si basa sulla formulazione (4), e la derivata e approssimata on una
di erenza nita in avanti.
un+1

= un + hfn

2. Eulero ba kward (o Eulero impli ito): si basa sulla formulazione (4), e la derivata e approssimata on
una di erenza nita all'indietro.
un+1

= un + hfn+1

3. Crank-Ni holson: si basa sulla formulazione (5), e l'integrale e approssimato on il metodo dei trapezi.
un+1

= un + h2 [fn + fn + 1

La presenza della fn+1 lo rende un metodo impli ito.


4. Heun: se si sostituis e nel Crank-Ni holson
fn+1  f (tn+1 ; un + hfn );
ossia si utilizza l'Eulero espli ito per il al olo di un+1 , si ottiene il seguente metodo
5

un+1

= un + h2 [fn + f (tn+1 ; un + hfn )

he e un modo per espli itare il Crank-Ni holson.


Vediamo nel seguito al une proprieta dei metodi numeri i ad un passo.
Consistenza

Un metodo espli ito ad un passo si puo s rivere ome


un+1 = un + h (tn ; un ; fn )
laddove (t; u; f ) e detta funzione di in remento. Se si appli a lo s hema alla soluzione esatta si ottiene

yn+1 = yn + h  tn ; yn ; f (tn ; yn ) + "n+1
dove
"n+1 = h n+1 (h):
La quantita n+1 (h) e detta errore di tron amento lo ale (LTE) e permette di introdurre l'errore di tron amento
globale (GTE), de nito ome
 (h) = max jn+1 (h)j:
0n<N 1
Un metodo numeri o ad un passo e detto onsistente se
lim  (h) = 0:
h!0
Inoltre, se  (h) = O(hp ), il metodo si di e avere ordine p. Si puo fa ilmente veri are he i metodi di Eulero
forward ed Eulero ba kward hanno ordine 1, mentre i metodi di Crank-Ni holson ed Heun hanno ordine 2.
Zero-stabilita

Un metodo numeri o si di e zero-stabile se 9h0 > 0, 9C > 0 tali he 8h 2 [0; h0


jzn un j  C"
0  n  N;
dove (
(
h
i
h
i

un+1 = un + h  tn ; un ; f (tn ; un )
zn+1 = zn + h  tn ; zn ; f (tn ; zn ) + n
u0 = y 0 + 0
z0 = y 0 + 0
on jn j < ".
Questa proprieta riguarda il omportamento del metodo quando h ! 0, ed e una proprieta spe i a dello stesso:
garantis e la po a sensibilita alle pi ole perturbazioni e questo risponde all'esigenza di tenere sotto ontrollo
gli inevitabili errori di arrotondamento dell'aritmeti a nita. Se il metodo non fosse zero-stabile, la presenza di
questi ultimi nel al olo di y0 e di f (tn ; un) renderebbero la soluzione ottenuta priva di signi ato.
Una ondizione su iente per la zero-stabilita e he la (t; u; f ) sia Lips hitziana rispetto alla se onda variabile.
Convergenza

Un metodo si di e onvergente se, 8n = 0; : : : ; N

jun

yn

j  C (h)

dove C (h) e in nitesimo rispetto ad h. Se C (h) = Chp , on C indipendente da h, il metodo si di e di ordine p.


Vale, per i metodi ad un passo, il seguente teorema.

Teorema 1 (Lax-Ri htmyer) Un metodo numeri o ad un passo onsistente e zero-stabile e onvergente.

Metodi di Runge-Kutta

I metodi di Runge-Kutta sono metodi ad un passo he guadagnano in a uratezza sa ri ando la linearita a


prezzo di un aumento del numero di valutazioni funzionali ad ogni passo. Si guadagna in adattivita del passo,
ma si perde in termini di sempli ita di valutazione dell'errore lo ale.
Il generi o metodo Runge-Kutta si s rive
un+1

= un + hF (tn ; unh; f )

0

dove la funzione in remento e data da


(

; ) =

F t n ; un ; h f

s
X
i=1

bi Ki

0
Ki

= f tn + i h; un + h

s
X
j=1

1
aij Kj A

= 1; : : : ; s

ed s indi a il numero di stadi del metodo. Un metodo Runge-Kutta e ompletamente aratterizzato dai suoi
oe ienti faij g, fbig e f i g, usualmente ra olti nella matri e di But her:

bT

Si suppone inoltre he valga la ondizione i = sj=1 aij (i = 1; : : : ; s). Se aij = 0 per j  i, il metodo
Runge-Kutta e espli ito (ossia Ki e al olabile espli itamente a partire da K1 ; : : : ; Ki 1 ). In aso ontrario, e
ne essario risolvere un sistema non lineare di dimensione s per il al olo dei Ki , e questo li rende troppo onerosi
dal punto di vista omputazionale.
Si ri orre talvolta a metodi semi-impli iti, in ui aij = 0 quando j > i, ed ogni Ki e quindi dato dalla soluzione
dell'equazione non lineare
P

Ki

= f tn + i h; un + haii Ki

i 1
X
j=1

aij Kj A

= 1; : : : ; s:

Un metodo Runge-Kutta semi-impli ito ri hiede quindi la soluzione di s equazioni non lineari indipendenti. Si
puo dimostrare he un metodo Runge-Kutta e onsistente se
s
X
i=1

bi

= 1;

e la onvergenza ne onsegue, in quanto nei metodi ad un passo la onsistenza e equivalente alla stabilita. Per
quanto riguarda l'ordine di pre isione di un metodo Runge-Kutta, vale la seguente proprieta:
Un metodo Runge-Kutta espli ito a
impli ito a s stado ha ordine 2s.

stadi non puo avere ordine maggiore di s. Un metodo Runge-Kutta

Questo signi a he per ottenere un pre ssato ordine e ne essario aumentare il numero di stadi. Riportiamo
nella tabella il numero minimo di stadi ne essari per ottenere un erto ordine di approssimazione per un metodo
Runge-Kutta espli ito.
Ordine 1 2 3 4 5 6 7 8
smin
1 2 3 4 6 7 9 11
7

Eser izio 1 S rivere espli itamente il metodo Runge-Kutta di quarto ordine la ui matri e di But her e data
da

1=2 1=2

1=2

1=2

1=6 1=3 1=3 1=6


Soluzione Si ha

4
X

= f (tn + 0  h; un + h  0  Kj ) = f (tn ; un ) = fn
j=1
h
1
h
h
K2 = f (tn + ; un + h K1 ) = f (tn + ; un + K1 )
2
2
2
2
h
1
h
h
K3 = f (tn + ; un + h K2 ) = f (tn + ; un + K2 )
2
2
2
2
K4 = f (tn+1 ; un + h K3 )

K1

un+1

= un + h6

i
h
K1 + 2K2 + 2K3 + K4

Adattivita del passo

I metodi Runge-Kutta si prestano bene al ambio di passo di integrazionepur he si disponga di un buon stimatore
dell'errore lo ale al singolo passo. Sono in generale stime a posteriori e sono di due tipi:
1. utilizzare lo stesso metodo Runge-Kutta on passo h e 2h;
2. impiegare due metodi Runge-Kutta diversi, ma on lo stesso numero di stadi.
La prima opzione ri hiede valutazioni funzionali addizionali, osa he puo essere evitata nel se ondo aso,
utilizzando simultaneamente due Runge-Kutta a s stadi on gli stessi Ki . A questa opzione si asso ia la matri e
di But her modi ata

dove ET = bT b^ T , e dove

bT
b^ T
ET

Metodo Ordine

bT

b^ T

+1

La di erenza tra due sluzioni approssimate in tn+1 fornis e una stima dell'errore di tron amento lo ale per lo
s hema di ordine p.
A titolo di esempio, il metodo Runge-Kutta-Fehlberg del quarto ordine (implementato dalla libreria ode45 di
MATLAB r ) ha la seguente matri e di But her modi ata.
0 0
0
0
0
0 0

Referen es

1
4

1
4

3
8

3
32

9
32

12
13

1932
2197

7200
2197

7296
2197

439
216

3680
513

845
4104

1
2

8
27

1859
4104

11
40

25
216

1408
2565

2197
4104

1
5

25
216

6656
12825

28561
56430

9
50

2
55

1
360

128
4275

3544
2565

2197
75240

1
50

2
55

[1 A. Quarteroni, S. Sa o, and F. Saleri. Matemati a Numeri a. Springer-Verlag, Milano, 1998.

Vous aimerez peut-être aussi