Analisi Numerica II-modulopeople.unica.it/leradaniela/files/2014/10/lezione11.pdfODE La...
Transcript of Analisi Numerica II-modulopeople.unica.it/leradaniela/files/2014/10/lezione11.pdfODE La...
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
Analisi Numerica II-modulo
Daniela Lera
Università degli Studi di CagliariDipartimento di Matematica e Informatica
A.A. 2014-2015
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Analisi dei metodi monostepIn generale un metodo esplicito monostep si può scriverenella forma
ηi+1 = ηi + hΦ(xi, ηi, fi; h), η0 = y0
dove Φ() è detta funzione di incremento, ed fi = f (xi, ηi).
Analogamente si può scrivere
yi+1 = yi + hΦ(xi, yi, f (xi, yi); h) + εi+1
dove yi = y(xi) e εi indica il residuo che si ha nel punto xi sesi pretende di "far verificare" alla soluzione esatta lo schemanumerico.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Errori nei metodi monostep
Risulta
εi+1 = yi+1 − yi − hΦ() := ti+1(h)
Se indichiamo
ti+1(h) = hτi+1(h)
τi+1(h) è detto errore di discretizzazione locale (nel nodoxi+1).
ti+1(h) viene detto errore di troncamento locale.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Errori nei metodi monostep
Si definisce errore di discretizzazione sull’intervallo:
τ(h) = max0≤i≤N−1
|τi+1(h)|
dove N è il numero totale dei nodi nell’intervallo considerato,N = N(h).
Si noti che τ(h) dipende dalla funzione y, soluzione delproblema di Cauchy.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Errori nei metodi monostepChiariamo meglio il concetto di errore di discretizzazionelocale. La soluzione esatta y(x) soddisfa:
yi+1 = yi + hΦ(xi, yi, f (xi, yi); h) + hτ(xi, yi; h) (1)
Inoltre, applicando un passo del metodo supponendo diconoscere yi vale la:
η∗i+1 = yi + hΦ(xi, yi, f (xi, yi); h) (2)
Dalle (1), (2) si ha:
yi+1 − η∗i+1 = hτ(xi, yi; h)
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Errori nei metodi monostep
Si definisce errore globale di discretizzazione nelgenerico nodo xi+1 la quantità
ei+1 = yi+1 − ηi+1, i = 0, 1, 2, ...
E’ possibile scomporre l’errore in due componenti:
ei+1 = (yi+1 − η∗i+1) + (η∗i+1 − ηi+1)
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Errori nei metodi monostep
La prima componente è il l’ errore di troncamento locale etiene conto dell’errore introdotto al passo i + 1 dalla soladiscretizzazione delle derivata prima.
La seconda componente, detta errore di propagazione,contiene l’accumulo di tutti gli errori commessi ai passiprecedenti all’(i + 1)-esimo.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Convergenza
DefinizioneUn metodo si dice convergente se è tale che:
max0≤i≤N
|ηi − y(xi)| → 0 per h→ 0
Il metodo si dice convergente di ordine p se esiste c > 0tale che
max0≤i≤N
|ηi − y(xi)| ≤ chp
.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Convergenza
Il tendere a zero del solo errore locale è una condizionenecessaria alla convergenza, ma non sufficiente.
Vediamo più in dettaglio le condizioni di convergenza per imetodi monostep.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Analisi dei metodi monostepUno schema esplicito monostep è completamentecaratterizzato dalla sua funzione di incremento Φ.
Esempio 1Nel metodo di Eulero-Cauchy si ha:
Φ(xi, yi, f (xi, yi); h) = f (xi, yi)
Esempio 2Nel metodo di Heun si ha:
Φ(xi, yi, f (xi, yi); h) =12
[f (xi, yi) + f (xi + h, yi + hf (xi, yi))]
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Consistenza
τi+1 =yi+1 − yi
h− Φ(xi, yi, f (xi, yi); h)
In tutti gli schemi numerici considerati si ha:
limh→0
Φ(xi, yi, f (xi, yi); h) = f (xi, yi), ∀xi ≥ x0
.
Considerato inoltre che vale la:
limh→0
yi+1 − yi
h= y′(xi), ∀i ≥ 0
segue che
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Consistenza
limh→0
τi(h) = 0, 0 ≤ i ≤ N
Da cui si ricava
limh→0
τ(h) = 0
che esprime la consistenza di un metodo.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Consistenza
DefinizioneUn metodo si dice consistente quando l’errore didiscretizzazione è infinitesimo rispetto ad h.
Un metodo ha ordine di consistenza p se
τ(h) = O(hp), per h→ 0
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Consistenza
Esempio: metodo di Eulero-CauchyConsideriamo lo sviluppo di Taylor arrestato al secondoordine:
y(x + h) = y(x) + y′(x)h + y”(ξ)h2
2x < ξ < x + h
⇒ y(x + h)− y(x)
h− y′(x) = y”(ξ)
h2
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Consistenza: metodo di Eulero-Cauchy
Ma y′(x) = f (x, y(x)), quindi
τ(h) = y”(ξ)h2
|τ(h)| ≤ M2
h
con M = maxx<ξ<x+h |y”(ξ)|.
Eulero-Cauchy è consistente del primo ordine
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
La zero-stabilità
Consideriamo il metodo numerico:
ηi+1 = ηi + hΦ(xi, ηi, fi; h) (1)
DefinizioneIl metodo numerico (1) per la risoluzione del problema diCauchy si dice zero-stabile se esistono h0 > 0 e C > 0 taliche:
|z(h)i − η
(h)i | ≤ Cε (2)
∀h ∈ (0, h0], con 0 ≤ i ≤ N, z(h)i e η(h)
i rispettivamentesoluzioni dei seguenti problemi:
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
La zero-stabilità
{z(h)
i+1 = z(h)i + h[Φ(xi, z
(h)i , f (xi, z
(h)i ); h) + δi+1]
z0 = y0 + δ0
{η
(h)i+1 = η
(h)i + h[Φ(xi, η
(h)i , f (xi, η
(h)i ); h)
η0 = y0
con 0 ≤ i ≤ N − 1 e|δk| ≤ ε per ogni 0 ≤ k ≤ N
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
La zero-stabilità
La zero-stabilità richiede quindi che in un intervallo limitatovalga la (2) per ogni valore di h ≤ h0.
La zero-stabilità riguarda in particolare il comportamentodel metodo numerico nel caso limite h→ 0. E’ una proprietàdel metodo, e non del problema di Cauchy.
La (2) assicura che il metodo numerico sia poco sensibilealle piccole perturbazioni e sia quindi stabile.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
La zero-stabilità
Diremo che il metodo è instabile nel senso che leperturbazioni, che risultano nella soluzione ηi, sono nonlimitate se si considera il limite per h→ 0.
N.B. La costante C nella (2) è indipendente da h (e quindida N), ma può dipendere dall’ampiezza dell’intervallo diintegrazione: potrebbe crescere al crescere dell’intervallo.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Teorema 1.(Zero-stabilità)Si consideri il generico metodo esplicito monostep:
ηi+1 = ηi + hΦ(xi, ηi, fi; h) (1)
per la risoluzione del problema di Cauchy.
Si supponga che la funzione di incremento Φ siauniformemente lipschitziana di costante Λ rispetto alsecondo argomento, cioé:
|Φ(xj, zj, f (xj, zj); h)− Φ(xj, ηj, f (xj, ηj); h)| ≤ Λ|zj − ηj|
xj ∈ [x0, x0 + T].
Allora il metodo numerico (1) è zero-stabile.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Teorema 2.(Convergenza)Nelle stesse ipotesi del Teorema 1 si ha:
|yi − ηi| ≤ (|y0 − η0|+ ihτ(h))eihΛ, 1 ≤ i ≤ N
Pertanto se il metodo è consistente e|y0 − η0| → 0, per h→ 0, allora il metodo è convergente.
Inoltre se il metodo ha ordine di consistenza p e|y0 − η0| = O(hp), allora converge con lo stesso ordine p.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Quindi dal Teorema 2 si ha
CONSISTENZA + ZERO-STABILITA’ = CONVERGENZA
Questa proprietà è nota come teorema di equivalenza.
Il viceversa: "un metodo convergente è zero-stabile" èovviamente vero.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenzaSi consideri:{
y′ = f (x, y(x)) problema di cauchyy(x0) = y0
{ηi+1 = ηi + hf (xi, ηi) schema numericoη0 = y0
(1)
Applicando Eulero si opera la seguente approssimazione
yi+1 ≈ yi + hf (xi, yi)
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
La soluzione esatta y(x) soddisfa:
yi+1 − yi
h− f (xi, yi) := τ(xi, yi; h)
yi+1 = yi + hf (xi, yi) + hτ(xi, yi; h) (2)
Inoltre vale la:
η∗i+1 = yi + hf (xi, yi) (3)
é il valore che si troverebbe applicando un passo di Eulerosupponendo di conoscere yi.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Poniamoei+1 = yi+1 − ηi+1, i = 0, 1, 2, ...
Errore nel nodo i cioé
ei+1 = (yi+1 − η∗i+1) + (η∗i+1 − ηi+1)
Dalle (1), (2) e (3) si ha:
yi+1 − η∗i+1 = hτ(xi, yi; h)
η∗i+1 − ηi+1 = ei + h[f (xi, yi)− f (xi, ηi)]
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Supponiamo che f (x, y) sia lipschitziana, cioé:
|f (xi, yi)− f (xi, ηi)| ≤ L|yi − ηi| = L|ei|
Quindi
|ei+1| ≤ h|τ(xi, yi; h)|+ |ei|+ h|f (xi, yi)− f (xi, ηi)|
≤ hτ(h) + (1 + Lh)|ei|
doveτ(h) = max
i|τ(xi, yi; h)|
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Si ha:
|e0| = 0, a = (1 + hL), b = hτ(h)
a e b non dipendono da i.
|ei+1| ≤ b + a|ei| ≤ b + a(b + a|ei−1|) = b(1 + a) + a2|ei−1|
≤ b(1 + a) + a2(b + a|ei−2|) = b(1 + a + a2) + a3|ei−2| ≤ ...
b(1 + a + a2 + ...+ ai) + ai+1|e0| =ai+1 − 1
a− 1b
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Cioé
|ei+1| ≤(1 + hL)i+1 − 1
hLhτ(h)
Siccome h(i + 1) = xi+1 − x0 e inoltre
1 + t ≤ et, ∀t > 0 ⇒ 1 + hL ≤ ehL
si ha che
(1 + hL)i+1 − 1 ≤ ehL(i+1) − 1 = eL(xi+1−x0) − 1
≤ eL(xi+1−x0)
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Infine:
|ei+1| ≤ eL(xi+1−x0) τ(h)
L
Conτ(h) ≈ M
2h, M = max |y”(x)|
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Quindi
l’errore globale ei+1 tende a zero per h→ 0.l’ordine dell’errore globale è pari all’ordine dell’errorelocale.
Il metodo di Eulero è convergente.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Teniamo ora conto degli errori di arrotondamento.Siano η̃i le quantità calcolate in presenza di errori diarrotondamento. Lo schema di Eulero si può scrivere:{
η̃i+1 = η̃i + hf (xi, η̃i) + ρi
η̃0 = y0 + ρ0
dove ρi rappresentano gli errori introdotti dal calcolonumerico della quantità η̃i + hf (xi, η̃i) (err. diarrotondamento locali).
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Si ponga:ε0 = ρ0, εi = η̃i − ηi
Con un procedimento analogo al precedente si ricava:
|εi+1| ≤ eL(xi+1−x0)[|ρ0|+
ρ
hL
]con ρ = maxi |ρi|.
Tende all’∞ per h→ 0 !!
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: convergenza
Se definiamo come errore totale:
Ei := yi − η̃i = (yi − ηi) + (ηi − η̃i) = ei + εi
si ha:
|Ei+1| ≤ |ei+1|+ |εi+1|
≤ eL(xi+1−x0)
[|ρ0|+
1L
(τ(h) +
ρ
h
)]
E’ necessario un compromesso nella scelta di h. Esiste unh∗ = passo ottimale.
AnalisiNumericaII-modulo
D. Lera
LEZIONE 11
ODE
Metodo di Eulero: errore totale