Analisi Numerica II D. Lera LEZIONE 11 Analisi Numerica II Daniela Lera Università degli Studi di Cagliari Dipartimento di Matematica e Informatica A.A. 2008-2009 ODE Analisi Numerica II Analisi dei metodi monostep D. Lera LEZIONE 11 In generale un metodo esplicito monostep si può scrivere nella 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 se si pretende di "far verificare" alla soluzione esatta lo schema numerico. ODE Analisi Numerica II D. Lera Errori nei metodi monostep LEZIONE 11 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 nodo xi+1 ). ti+1 (h) viene detto errore di troncamento locale. ODE Analisi Numerica II D. Lera LEZIONE 11 Errori nei metodi monostep Si definisce errore di discretizzazione sull’intervallo: τ (h) = max |τi+1 (h)| 0≤i≤N−1 dove N è il numero totale dei nodi nell’intervallo considerato, N = N(h). Si noti che τ (h) dipende dalla funzione y, soluzione del problema di Cauchy. ODE Analisi Numerica II Errori nei metodi monostep D. Lera LEZIONE 11 Chiariamo meglio il concetto di errore di discretizzazione locale. 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 di conoscere yi vale la: ∗ ηi+1 = yi + hΦ(xi , yi , f (xi , yi ); h) Dalle (1), (2) si ha: ∗ yi+1 − ηi+1 = hτ (xi , yi ; h) (2) ODE Analisi Numerica II D. Lera LEZIONE 11 ODE Analisi Numerica II D. Lera LEZIONE 11 Errori nei metodi monostep Si definisce errore globale di discretizzazione nel generico 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 ) ODE Analisi Numerica II D. Lera LEZIONE 11 Errori nei metodi monostep La prima componente è il l’ errore di troncamento locale e tiene conto dell’errore introdotto al passo i + 1 dalla sola discretizzazione delle derivata prima. La seconda componente, detta errore di propagazione, contiene l’accumulo di tutti gli errori commessi ai passi precedenti all’(i + 1)-esimo. ODE Analisi Numerica II Convergenza D. Lera LEZIONE 11 Definizione Un metodo si dice convergente se è tale che: max |ηi − y(xi )| → 0 per h → 0 0≤i≤N Il metodo si dice convergente di ordine p se esiste c > 0 tale che max |ηi − y(xi )| ≤ chp 0≤i≤N . ODE Analisi Numerica II D. Lera LEZIONE 11 Convergenza Il tendere a zero del solo errore locale è una condizione necessaria alla convergenza, ma non sufficiente. Vediamo più in dettaglio le condizioni di convergenza per i metodi monostep. ODE Analisi Numerica II Analisi dei metodi monostep D. Lera LEZIONE 11 Uno schema esplicito monostep è completamente caratterizzato dalla sua funzione di incremento Φ. Esempio 1 Nel metodo di Eulero-Cauchy si ha: Φ(xi , yi , f (xi , yi ); h) = f (xi , yi ) Esempio 2 Nel metodo di Heun si ha: Φ(xi , yi , f (xi , yi ); h) = 1 [f (xi , yi ) + f (xi + h, yi + hf (xi , yi ))] 2 ODE Analisi Numerica II Consistenza D. Lera LEZIONE 11 τi+1 = yi+1 − yi − Φ(xi , yi , f (xi , yi ); h) h In tutti gli schemi numerici considerati si ha: lim Φ(xi , yi , f (xi , yi ); h) = f (xi , yi ), h→0 ∀xi ≥ x0 . Considerato inoltre che vale la: yi+1 − yi = y0 (xi ), ∀i ≥ 0 lim h→0 h segue che ODE Analisi Numerica II D. Lera Consistenza LEZIONE 11 lim τi (h) = 0, h→0 0≤i≤N Da cui si ricava lim τ (h) = 0 h→0 che esprime la consistenza di un metodo. ODE Analisi Numerica II D. Lera LEZIONE 11 Consistenza Definizione Un metodo si dice consistente quando l’errore di discretizzazione è infinitesimo rispetto ad h. Un metodo ha ordine di consistenza p se τ (h) = O(hp ), per h → 0 ODE Analisi Numerica II D. Lera Consistenza LEZIONE 11 Esempio: metodo di Eulero-Cauchy Consideriamo lo sviluppo di Taylor arrestato al secondo ordine: h2 y(x + h) = y(x) + y0 (x)h + y”(ξ) 2 x<ξ <x+h ⇒ h y(x + h) − y(x) − y0 (x) = y”(ξ) h 2 ODE Analisi Numerica II D. Lera LEZIONE 11 Consistenza: metodo di Eulero-Cauchy Ma y0 (x) = f (x, y(x)), quindi τ (h) = y”(ξ) |τ (h)| ≤ h 2 M h 2 con M = maxx<ξ<x+h |y”(ξ)|. Eulero-Cauchy è consistente del primo ordine ODE Analisi Numerica II D. Lera LEZIONE 11 La zero-stabilità Consideriamo il metodo numerico: ηi+1 = ηi + hΦ(xi , ηi , fi ; h) (1) Definizione Il metodo numerico (1) per la risoluzione del problema di Cauchy si dice zero-stabile se esistono h0 > 0 e C > 0 tali che: (h) (h) |zi − ηi | ≤ Cε (2) (h) (h) ∀h ∈ (0, h0 ], con 0 ≤ i ≤ N, zi e ηi soluzioni dei seguenti problemi: rispettivamente ODE Analisi Numerica II La zero-stabilità D. Lera LEZIONE 11 ( (h) (h) (h) (h) zi+1 = zi + h[Φ(xi , zi , f (xi , zi ); h) + δi+1 ] z0 = y0 + δ0 ( (h) (h) ηi+1 = ηi η0 = y0 (h) (h) + h[Φ(xi , ηi , f (xi , ηi ); h) con 0 ≤ i ≤ N − 1 e |δk | ≤ ε per ogni 0 ≤ k ≤ N ODE Analisi Numerica II D. Lera LEZIONE 11 La zero-stabilità La zero-stabilità richiede quindi che in un intervallo limitato valga la (2) per ogni valore di h ≤ h0 . La zero-stabilità riguarda in particolare il comportamento del 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 sensibile alle piccole perturbazioni e sia quindi stabile. ODE Analisi Numerica II D. Lera LEZIONE 11 La zero-stabilità Diremo che il metodo è instabile nel senso che le perturbazioni, che risultano nella soluzione ηi , sono non limitate se si considera il limite per h → 0. N.B. La costante C nella (2) è indipendente da h (e quindi da N), ma può dipendere dall’ampiezza dell’intervallo di integrazione: potrebbe crescere al crescere dell’intervallo. ODE Analisi Numerica II D. Lera LEZIONE 11 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 Φ sia uniformemente lipschitziana di costante Λ rispetto al secondo 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. ODE Analisi Numerica II D. Lera LEZIONE 11 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. ODE Analisi Numerica II D. Lera LEZIONE 11 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. ODE Analisi Numerica II Metodo di Eulero: convergenza D. Lera LEZIONE 11 Si consideri: 0 y = f (x, y(x)) y(x0 ) = y0 ηi+1 = ηi + hf (xi , ηi ) η0 = y0 problema di cauchy schema numerico (1) Applicando Eulero si opera la seguente approssimazione yi+1 ≈ yi + hf (xi , yi ) ODE Analisi Numerica II D. Lera LEZIONE 11 Metodo di Eulero: convergenza La soluzione esatta y(x) soddisfa: yi+1 − yi − f (xi , yi ) := τ (xi , yi ; h) 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 Eulero supponendo di conoscere yi . ODE Analisi Numerica II D. Lera Metodo di Eulero: convergenza LEZIONE 11 Poniamo ei+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 )] ODE Analisi Numerica II Metodo di Eulero: convergenza D. Lera LEZIONE 11 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 |τ (xi , yi ; h)| i ODE Analisi Numerica II Metodo di Eulero: convergenza D. Lera LEZIONE 11 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 b a−1 ODE Analisi Numerica II Metodo di Eulero: convergenza D. Lera LEZIONE 11 Cioé |ei+1 | ≤ (1 + hL)i+1 − 1 hτ (h) hL 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 ) ODE Analisi Numerica II D. Lera LEZIONE 11 Metodo di Eulero: convergenza Infine: |ei+1 | ≤ eL(xi+1 −x0 ) Con τ (h) ≈ M h, 2 τ (h) L M = max |y”(x)| ODE Analisi Numerica II D. Lera LEZIONE 11 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’errore locale. Il metodo di Eulero è convergente. ODE Analisi Numerica II D. Lera LEZIONE 11 Metodo di Eulero: convergenza Teniamo ora conto degli errori di arrotondamento. Siano ηei le quantità calcolate in presenza di errori di arrotondamento. Lo schema di Eulero si può scrivere: ηei+1 = ηei + hf (xi , ηei ) + ρi ηe0 = y0 + ρ0 dove ρi rappresentano gli errori introdotti dal calcolo numerico della quantità ηei + hf (xi , ηei ) (err. di arrotondamento locali). ODE Analisi Numerica II D. Lera LEZIONE 11 Metodo di Eulero: convergenza Si ponga: ε 0 = ρ0 , εi = ηei − ηi Con un procedimento analogo al precedente si ricava: h ρi |εi+1 | ≤ eL(xi+1 −x0 ) |ρ0 | + hL con ρ = maxi |ρi |. Tende all’∞ per h → 0 !! ODE Analisi Numerica II Metodo di Eulero: convergenza D. Lera LEZIONE 11 Se definiamo come errore totale: Ei := yi − ηei = (yi − ηi ) + (ηi − ηei ) = ei + εi si ha: |Ei+1 | ≤ |ei+1 | + |εi+1 | 1 ρ L(xi+1 −x0 ) ≤e |ρ0 | + τ (h) + L h E’ necessario un compromesso nella scelta di h. Esiste un h∗ = passo ottimale. ODE Analisi Numerica II D. Lera LEZIONE 11 Metodo di Eulero: errore totale