Académique Documents
Professionnel Documents
Culture Documents
a
Eser
itazione del 29 settembre 2005
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 dierenziale (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 dierenziali (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 dierenziale ordinaria (ODE, dall'inglese \Ordinary Dierential
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 deniremo 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
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
|
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
Una derivata puo essere approssimata mediante un metodo alle dierenze 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 dierenza
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 dierenza 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 )
ui
BD
ui
CD
ui
xi
i1
x i+1
)=
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 denire un metodo numeri
o ad un passo.
Denizione 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
dierenza 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 dierenza 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
un+1
jun
yn
j C (h)
Metodi di Runge-Kutta
= un + hF (tn ; unh; f )
0
; ) =
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.
Questo signi
a
he per ottenere un pressato 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
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
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 dierenza 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