Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Equazioni Differenziali
Ordinarie
Metodi Multi-step
Studenti:
Rosario Distefano
Damiano Calaore
Alberto Rinaudo
9 Dicembre 2009
Indice
1 Introduzione 1
2 Metodi numerici 8
2.1 Metodi Multi-step . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.1 Metodi di Adams-Bashforth . . . . . . . . . . . . . . . 22
2.1.2 Metodi di Adams-Moulton . . . . . . . . . . . . . . . . 30
2.1.3 Metodi Predictor-Corrector . . . . . . . . . . . . . . . 42
i
Capitolo 1
Introduzione
zionale, in cui viene espresso un legame tra una funzione incognita e le sue
derivate.
variabili.
0
F (x, y, y , ..., y n ) = 0 (1.1)
1
CAPITOLO 1. INTRODUZIONE 2
un certo intervallo (a, b). Questo ovviamente implica che y(x) deve essere
sucientemente regolare per ammettere derivate no alla n-esima in (a, b).
0
F (z0 , z1 , · · · , zn ) = 0
0
z0 = z1
z 0 = z2
1
(1.2)
0
z2 = z3
.
.
.
z 0 = zn−1
n−2
0
y (x) = f (x, y(x)) (1.3)
Problema di Cauchy
Spesso nei problemi che si vogliono modellare si deve trovare come evolve un
sistema a partire da dei dati iniziali; ciò si traduce imponendo che la soluzione
y 0 (x) = f (x, y) ∀x ∈ I
(1.4)
y(x ) = y
0 0
il valore iniziale (x0 , y0 ) e come risultato deve fornire una funzione y : I → <,
tale che y sia derivabile in I, con x0 ∈ I e y(x0 ) = y0 .
ϑf δf
parziale
ϑy
esiste ed è limitata (cioè
δy
≤L ) allora f è lipschitziana in y.
CAPITOLO 1. INTRODUZIONE 4
problema perturbato:
Y 0 (x) = f (x, y) + δ(x)
(1.6)
Y (x ) = y +
0 0 0
Tale condizione, però, non è suciente a garantire che gli errori numerici
ziale (così detto integrale generale) per poi trovare la soluzione che verica la
condizione iniziale. Questa tecnica, però, può essere utilizzata solo in pochi
casi perché esistono solo alcune tecniche per calcolare l'integrale generale e
sione di punti {xi }ni=0 , con xi ∈ I tale che xi+1=xi +hi con i = 1, 2, 3, · · · , n−1
e di calcolare un valore approssimato ui della soluzione esatta y(xi ) . In
dizione iniziale, e i valori hi sono detti passi della discretizzazione. Più piccoli
sono i passi e maggiore sarà il numero di nodi in cui calcolo la soluzione.
Il modo più semplice per calcolare i nodi è che questi siano equispaziati, cioè
funzione I, si ha h = b−a
n
); studieremo pertanto principalmente questo caso.
Lo sviluppo della formula di Taylor infatti serve per approssimare una fun-
1 00 1
Pn (x) = f (x0 ) + f 0 (xo )(x − x0 ) + f (x0 )(x − x0 )2 + f 000 (xo )(x − x0 )3 + ...+
2! 3!
1 (n)
+ f (x0 )(x − x0 )n
n!
poniamo hi = h.
Se a e b sono gli estremi di I, si ha:
b−a
h=
n
ha:
h2 00
y(xi+1 ) = y(xi ) + hy 0 (xi ) + y (xi ) + ...
2
CAPITOLO 1. INTRODUZIONE 7
con:
hk−1 (k)
Tk (xi , yi ; h) = y 0 (xi ) + ... + y (xi )
k!
Poichè però è richiesto il calcolo delle derivate, tale metodo non è conveniente.
Capitolo 2
Metodi numerici
Spesso trovare una soluzione per via analitica è un'operazione piuttosto dif-
o a più passi.
8
CAPITOLO 2. METODI NUMERICI 9
rente.
cienza della soluzione (cioè ricercano una soluzione più accurata possibile),
Nel caso dei metodi multistep lineari per calcolare il valore di y per il
passo corrente desiderato, viene utilizzata una combinazione lineare dei punti
Metodi Espliciti-Impliciti
Un metodo si dice esplicito, se yi+1 dipende solo dai valori dei passi prece-
denti, mentre si dice implicito se yi+1 dipende anche da se stesso, attraverso
già noti nei nodi precedenti sono schemi in generale poco costosi e facili da
cui la funzione f deve essere valutata anche in yi+1 . Vediamo allora come
possono essere ricavati dei metodi di questo tipo. Dal teorema fondamentale
Z tn+1
yn+1 = yn + f (t, y(t))dt (2.1)
tn
a più passi, cioè in cui il valore di un+1 dipende non solo da un , ma anche
che interpola f nei nodi tn−q , tn−q+1 , . . . , tn , si ottengono i così detti Metodi di
Adams-Bashforth che sono di tipo esplicito, mentre sostituendo all'integrale
più suciente il solo dato iniziale del problema di Cauchy, ma sono necessari
passo. Inoltre questi dati iniziali devono essere calcolati con una precisione
che dipende dall'ordine del metodo multipasso che si vuole utilizzare per non
pregiudicarne l'approssimazione.
T −t0
numero di intervallini (N) di ampiezza h (passo di discretizzazione (
N
))
Z tn+k
y(tn+k ) = y(tn−j ) + f (t, y(t))dt (2.4)
tn−j
il valore numerico della funzione y(t) è noto nei punti equidistanziati (ti =
ti−1 + h i = 1, . . . , N ) della successione, appare naturale utilizzare per il
CAPITOLO 2. METODI NUMERICI 12
q
X
pq (x) = f (tn−i , yn−i )Li (x) (2.5)
i=0
q
Y x − xn−l
Li (x) = (2.6)
l=0 l6=i
xn−i − xn−l
q
X
yn+k = yn−j + h βqi fn−i (2.7)
i=0
fl ≡ f (tl , yl ) (2.8)
tari di Lagrange
Z tn+k Z k q
1 Y x+l
βqi = Li (t)dt = dx (2.9)
h tn−j −j l=0 l6=i
−i + l
di Adams-Bashforth
CAPITOLO 2. METODI NUMERICI 13
q
X
yn+1 = yn + h βqi fn−i (2.10)
i=0
q
X
yn = yn−1 + h βqi fn−i (2.11)
i=0
q
X
yn+1 = yn + h βqi fn−i+1 (2.12)
i=0
q
X
yn+1 = yn−1 + h βqi fn−i (2.13)
i=0
Metodi di Adams-Bashforth:
h
un+1 = un + [3fn − fn−1 ] secondo ordine (2.15)
2
h
un+1 = un + [23fn − 16fn−1 + 5fn−2 ] terzo ordine (2.16)
12
CAPITOLO 2. METODI NUMERICI 14
Metodi di Adams-Moulton:
h
un+1 = un + [fn+1 − fn ] secondo ordine (2.17)
2
h
un+1 = un + [5fn+1 − 8fn + fn−1 ] terzo ordine (2.18)
12
Una generalizzazione dei metodi multistep che include i metodi Adams, è da-
q q
X X
ai yn−i = h bi fn−i (2.19)
i=0 i=0
n-esimo ordine.
Considerazioni:
metodo è implicito e l'equazione per yn+q deve essere risolta. Metodi iterativi
implicita.
valore di yn+q . Tale valore viene poi utilizzato in una formula implicita per
teoriche sulle equazioni alle dierenze lineari. Una equazione nella forma:
Se ak 6= 0 , allora si può trovare una soluzione per ogni scelta dei valori
soluzione generale può essere scritta come {yn +zn } , dove {yn } è la soluzione
dell'equazione omogenea e zn una soluzione particolare dell'equazione non
iniziale.
zn = xn (2.23)
Esempio
con γ1 , γ2 costanti.
Esempio
Convergenza
Per i metodi multistep l'analisi della convergenza è più complicata rispetto
partenza:
se:
ii) i metodi multistep possono essere instabili. Per mostrare ciò consideri-
y 0 = λy
(2.29)
y(0) = 1
x2 − 2hλx − 1 = 0 (2.31)
CAPITOLO 2. METODI NUMERICI 19
√ √
r1 = hλ + 1 + h2 λ2 e r2 = hλ − 1 + h2 λ2 (2.32)
Ricaviamo β1 e β2 :
y0 = 1 = β1 + β2
(2.34)
y1 = ehλ = β1 r1 + β2 r2
da cui segue:
ehλ − r2 r1 − ehλ
β1 = √ = 1+O(h2 λ2 ) e β2 = √ = O(h3 λ3 )
2 1 + h2 λ2 2 1 + h2 λ2
(2.35)
Osserviamo che:
Per h → 0, β1 → 1, β2 → 0 .
k−1
X
Zn+k + am an+m = 0 n = 0, 1, . . . (2.36)
m=0
k
X k
X
hτ = αj y(x + hj) − h βj y 0 (x + hj) (2.37)
j=0 j=0
(hj)2
y(x + hj) = y(x) + hjy 0 (x) + y 00 (x) + ... (2.39)
2
CAPITOLO 2. METODI NUMERICI 21
(hj)2
y 0 (x + hj) = y 0 (x) + hjy 00 (x) + y 000 (x) + ... (2.40)
2
che dà hτ se poniamo:
C0 = α0 + α1 + . . . + αk
C1 = α0 + 2α2 + . . . + kαk − (β0 + β1 + . . . + βk )
......
1 1
Cn = n!
(α1 + 2n α2 + . . . + k n αk ) − (n−1)!
(β1 + 2n−1 β2 + . . . + k n−1 βk )
......
(2.41)
vergenza.
grande, h dovrà essere piccolo. Con tale tipo di stabilità si controlla l'errore
relativo.
CAPITOLO 2. METODI NUMERICI 22
Assoluta stabilità
Spesso è importante fare un'analisi di stabilità tenendo il passo h ssato e ciò
permette di controllare l'errore assoluto. Un metodo è assolutamente stabile
se gli errori ai passi precedenti non aumentano. Tale concetto si applica anche
ai metodi one-step.
interpola f nei punti tn−p , tn−p+1 , . . . , tn si ottiene quindi una classe di metodi
detta di Adams-Bashforth. Questi metodi sono espliciti, il che vuol dire che
p
X
yn+k = yn−j + βpi fn−i (2.44)
i=0
dove
Z tn+k p Z k
1 Y x+l
fi ≡ (ti , yi ) e βpi = Li (x)dx = dx (2.45)
h tn−j −j l=0 −i + l
l6=i
p Z 1 p
X Y x+l
yn+1 = yn + h βpi fn−i con βpi = dx (2.46)
i=0 0 l=0
−i + l
l6=i
esplicito;
h
• per p = 2 l'equazione diventa: yn = yn−1 + 2
[3fn−1 − fn−2 ]: Adams-
n−2 ;
CAPITOLO 2. METODI NUMERICI 24
h
• per p = 3 l'equazione diventa: yn = yn−1 + 12 [23fn−1 − 16fn−2 + 5fn−3 ]:
Adams-Bashforth a 3 passi.
h
• per p = 4 l'equazione diventa: yn = yn−1 + 24 [55fn−1 − 59fn−2 + 37fn−3 − 9fn−4 ]:
Adams-Bashforth a 4 passi.
Esaminiamo la funzione
y 0 = −y + 5 · e−t · cos(5 · t − π)
(2.47)
y(0) = 0
tf −t0 1
h= N
= 2
, le formule diventeranno quindi:
Bashforth a 2 passi è:
CAPITOLO 2. METODI NUMERICI 25
f = inline( func );
end
CAPITOLO 2. METODI NUMERICI 26
il calcolo del punto y(2) . In questo modo diventa possibile l'esecuzione della
routine di risoluzione. I metodi di risoluzione a 3 e 4 passi funziona analoga-
iniziali. Applichiamo quindi Eulero esplicito per ottenere tutti i valori e ap-
1
come è possibile notare il passo di integrazione risulta troppo grande,
2
1
convergenza del metodo del metodo a 3 passi basta porre , per ottenere
4
1
dobbiamo porre il passo di integrazione :
8
CAPITOLO 2. METODI NUMERICI 29
CAPITOLO 2. METODI NUMERICI 30
1
del polinomio interpolatore di Lagrange (di grado p + 1 per ottenere il meto-
do Adams-Moluton a p+1 passi) che interpola la f nei nodi si ottengono i
così detti metodi di Adams-Multon che sono impliciti. Da notare infatti che
insieme di dati con un polinomio: dati alcuni punti, trovare un polinomio che passa proprio
p pZ 0
X Y x+l
yn = yn−1 + h βpi fn−i con βpi = dx (2.48)
i=0 −1 l=0 −i + l
l6=i
p
X
yn+1 = yn + h βpi fn−i+1 (2.49)
i=0
Eulero implicito);
h
• per p = 2 l'equazione diventa: yn+1 = yn + 2
[fn+1 + fn ]: Adams-
Moulton a 2 passi;
5
• per p=3 l'equazione diventa: yn+2 = yn+1 + h( 12 fn+2 − 23 fn+1 − 12
1
fn ):
Adams-Moulton a 3 passi;
h
• per p=5 l'equazione diventa: yn+4 = yn+3 + 720
(251fn+4 + 646fn+3 −
264fn+2 + 106fn+1 − 19fn ): Adams-Moulton a 5 passi;
• ...
CAPITOLO 2. METODI NUMERICI 32
specicare:
• l'intervallo di integrazione t0 , . . . , tf ;
ode45
ode23
ode15s
CAPITOLO 2. METODI NUMERICI 33
attraverso la formula:
y ◦ − yn + hf (tn+1 , y ◦ ) = 0 (2.51)
intervallo in cui f cambi segno, e per evitare che il metodo diverga. La chiama-
ta più semplice è: >> x = f zero(f unzione, x0) dove funzione è una stringa
di caratteri che contiene il nome della funzione di cui si sta cercando uno zero,
la ricerca all'interno di [a, b]. Per avere un controllo maggiore su fzero e sapere
che cosa sta facendo, dobbiamo modicare le opzioni disponibili. Questo si
ottiene con la function optimset, per esempio per imporre una tolleranza rel-
ativa uguale a 0.001: >> x = f zero(f unzione, x0, optimset(0 T olX 0 , 1e − 3))
comando:
dove '@(ys) ys-h*f(t(n+1), ys)' sta ad indicare che voglio cercare la soluzione
dell'equazione:
ys - h f(t(n+1),ys) - y(n) =0
ad indicare che verrà scelto questo valore (il precedente) come stima iniziale
della soluzione.
Adams-Moulton.
Esaminiamo la funzione
CAPITOLO 2. METODI NUMERICI 37
y 0 = −y + 5 · e−t · cos(5 · t − π)
(2.52)
y(0) = 0
Moulton a 2 passi è:
end
quindi il metodo di Eulero implicito per il calcolo del punto y(2) . In questo
amo bisogno di 3,4,5 punti iniziali. Applichiamo quindi Eulero implicito 2,3,4
volte, così da trovare i punti y(2), y(3), y(4), . . ., applichiamo poi la routine
Ricordiamo inne che la Sostituzione nella 2.1 di f (t, y(t)) per la sua inter-
CAPITOLO 2. METODI NUMERICI 42
step.
(0)
Occorre fornire un buon dato iniziale di un+1 . Questo viene realizzato con
CAPITOLO 2. METODI NUMERICI 43
h
P redittore un+1 = un + [3fn − fn−1 ] (2.53)
2
h
Correttore un+1 = un + [5fn+1 − 8fn + fn−1 ] (2.54)
12
tavia risulta migliore eettuare una valutazione anche alla ne, come avviene
Esaminiamo la funzione
y 0 = −y + 5 · e−t · cos(5 · t − π)
(2.56)
y(0) = 0
h =
tf −t0
N
. I seguenti esempi fanno uso della funzione ode113 presente in
(2-3) e (3-4).
• l'intervallo di integrazionet0 , . . . , tf ;
Bashforth-Moulton (2-3).
CAPITOLO 2. METODI NUMERICI 47
for n=3:N
% prediciamo il valore con Adams-Bashfort di ordine 2
y(n+1)= y(n) + (h/2)*(3*f(t(n),y(n))- f(t(n-1),y(n-1)));
1
Figura 2.6: Per N = 10, h = 2 = 0.5.
CAPITOLO 2. METODI NUMERICI 49
1
Figura 2.7: Per N = 20, h = 4 = 0.25.
CAPITOLO 2. METODI NUMERICI 50
1
Figura 2.8: Per N = 35, h = 7 = 0.143 .
CAPITOLO 2. METODI NUMERICI 51
1
Figura 2.9: Per N = 50, h = 10 = 0.1 .
CAPITOLO 2. METODI NUMERICI 52
1
Figura 2.10: Per N = 70, h = 14 = 0.071.
CAPITOLO 2. METODI NUMERICI 53
1
Figura 2.11: Per N = 100, h = 20 = 0.05.
CAPITOLO 2. METODI NUMERICI 54
Figura 2.12: viene mostrato un confronto tra le diverse procedure, cioè tra Adams-
1
Bashforth, Adams-Moulton e Adams-Bashforth-Moulton utilizzando N = 50 e h= 10 =
0.1 .
CAPITOLO 2. METODI NUMERICI 56
Figura 2.13: viene mostrato un confronto tra le diverse procedure, cioè tra Adams-
1
Bashforth, Adams-Moulton e Adams-Bashforth-Moulton utilizzando N = 100 e h= 20 =
0.05 .