Richiami ai metodi numerici per equazioni differenziali ordinarie Analisi Numerica Prof. M. Lucia Sampoli a.a. 2013/2014 ODE nei problemi applicativi 1 Le leggi fondamentali della fisica, della meccanica, dell’elettricità e della termodinamica si basano su osservazioni empiriche che descrivono delle variazioni nelle caratteristiche fisiche e di stato dei sistemi In genere tali leggi, invece di descrivere direttamente lo stato dei sistemi, sono presentate in termini di variazioni spaziali e temporali I modelli variazionali, combinati con dell’energia, della massa o dei momenti… leggi di conservazione …danno luogo ad equazioni differenziali che, integrate, producono espressioni matematiche che descrivono lo stato spaziale e temporale di un sistema, in termini di energia, massa o variazioni di velocità ODE nei problemi applicativi 2 Legge Espressione matematica Variabili e parametri Seconda legge del moto di Newton Velocità v, forza F e massa m Legge di Fourier sul calore Conducibiltà termica k e temperatura T Legge di Fick sulla diffusione Coefficiente di diffusione D e temperatura T Legge di Faraday sulla caduta di tensione nell’induttore Induttanza L e corrente i Legge di conservazione della massa Volume V e concentrazione c Equazioni differenziali ordinarie 1 Definizione: Sia dove è un intervallo e è un aperto; si dice equazione differenziale ordinaria (ODE) di ordine n una relazione del tipo dove è la derivata iesima della funzione L'ordine di un'equazione è l'ordine massimo di derivazione che vi compare L'aggettivo ordinario si riferisce al fatto che l'incognita è una funzione di una sola variabile Si parla invece di equazioni differenziali alle derivate parziali quando l'incognita è funzione di più variabili Equazioni differenziali ordinarie 2 Equazione differenziale del primo ordine dy = f(x,y) dx x: variabile indipendente y: variabile dipendente solo da x L’equazione è ordinaria La funzione y tale che descrive una famiglia (infinita) di soluzioni Esempio Per l’equazione differenziale ordinaria una famiglia di soluzioni è data da con c costante arbitraria y’ = y y y0 x0 x Esempio Per l’equazione differenziale ordinaria una famiglia di soluzioni è data da 0 con C costante arbitraria 3.5 Problemi ai valori iniziali e al contorno Per definire completamente la soluzione di un’equazione differenziale, ovvero per scegliere una particolare curva nella famiglia infinita delle soluzioni, occorre fissare delle condizioni iniziali In ODE di ordine n, per avere una soluzione unica, occorrono n condizioni Quando tutte le condizioni sono fissate per un medesimo valore della variabile indipendente si ha un problema ai valori iniziali Nei problemi al contorno le condizioni aggiuntive sono fornite, viceversa, per diversi valori della variabile indipendente Osservazione Le equazioni differenziali di ordine n possono essere ricondotte a sistemi di eq. diff. del primo ordine y ( n ) ( x ) f ( x, y ( x), y '( x), y ''( x),..., y ( n 1) ( x)) equazione in forma normale Si pone z1 ( x) y ( x), z2 ( x) y '( x),..., zn ( x) y ( n 1) ( x) z1 ( x) z2 ( x) z2 ( x) z3 ( x) zn 1 ( x) zn ( x) zn ( x) f ( x, z1 ( x), z2 ( x),..., zn ( x)) z1 (a) y1,0 z (a) y 2 2,0 con condizioni zn (a) yn ,0 Il problema di Cauchy Definisce la forma generale dei problemi ai valori iniziali (IVP Initial Value Problem) con: condizione iniziale y(x0)=y0 intervallo di integrazione [a,b] Esistenza ed unicità Prima di risolvere numericamente un’equazione differenziale bisogna essere sicuri che il problema di Cauchy ammetta un’unica soluzione y(x). Teorema: Se la funzione f è continua in I × R e lipschitziana rispetto a y, cioè esiste L > 0 tale che |f (x, y1 ) - f (x, y 2 )| L |y1 - y 2 | x I, y1, y 2 R allora esiste una ed una sola y : I × R soluzione del problema di Cauchy. Dipendenza continua dai dati Consideriamo il seguente problema: z'(x) = f (x, z(x)) + (x) z(x 0 ) = y 0 + 0 . per t I Definizione: Sia I un insieme limitato. Il problema di Cauchy si dice stabile secondo Liapunov (totalmente stabile) se per ogni perturbazione (δ0, δ(x)) che soddisfa |δ0|<ε e |δ(x)|<ε per ε>0 la soluzione z del problema perturbato verifica: C > 0 indipendente da tale che: |y(x) - z(x)| <C La sola ipotesi di uniforme lipschitzianità di f rispetto a y è sufficiente a garantire la stabilità del pb. di Cauchy Dipendenza continua dai dati - 2 Vale il seguente risultato: Teorema: Se la funzione f è continua in I × R e lipschitziana rispetto a y, allora chiamate y(x,y0) e con y(x,y1) le soluzioni dei pb. di Cauchy y'(x) = f (x, y(x)) y(a) = y 0 y'(x) = f (x, y(x)) y(a) = y1 allora vale la disuguaglianza: y ( x, y0 ) y ( x, y1 ) e L x a y1 y0 Dal punto di vista numerico la dipendenza continua dai dati e’ essenziale, dato che si lavora sempre con quantita’ approssimate (prima caratterizzazione di condizionamento del probema) Metodi numerici Per la soluzione numerica di equazioni differenziali si suppone che il problema sia ben posto (i.e. esista unica la soluzione) e che dipenda con continuità dai dati iniziali (hp. cruciale dal punto di vista numerico). Tali condizioni sono verificate, per esempio, se la funzione f è uniformemente lipschitziana rispetto a y. Tutti i metodi sono basati sull’idea di discretizzare l’intervallo di integrazione [a,b], mediante un insieme di rete IN={xnε[a,b]: xn= xn-1+ hn, xn=b}, e di approssimare la soluzione mediante una funzione di rete {yn, n=0,…N} I vari metodi numerici si distinguono per come costruiscono la funzione di rete {yn}. Essi possono essere raggruppati in 2 classi principali: 1. 2. Metodi one-step: il valore yn+1 viene calcolato utilizzando solo yn. Metodi multistep il valore yn+1 viene calcolato utilizzando k approssimazioni precedenti yn, yn-1,…, yn-k+1. Il metodo di Eulero La derivata prima fornisce direttamente la pendenza nel punto xi dove f(xi,yi) è l’equazione differenziale valutata in (xi,yi) Pertanto la formula di Eulero è: y Si calcola un nuovo valore di yi+1 servendosi della pendenza (uguale alla derivata prima calcolata nel punto di partenza xi) per estrapolare linearmente lungo l’intervallo h stimato vero } errore h x xi xi+1 Errore di troncamento Per valutare la bontà di un metodo si introduce l’errore di troncamento: Definizione: si definisce errore di troncamento locale la quantita’: i 1 y ( xi 1 ) y ( xi ) h ( xi , y ( xi ), y ( xi 1 ), h) ovvero la quantità a meno della quale la soluzione continua soddisfa il metodo discreto. Si definisce poi l’errore di troncamento unitario ti+1=1/h τi+1 Per i metodi one-step espliciti si può dare una semplice interpretazione geometrica dell’errore di troncamento locale. Posto z '( x) f ( x, z ( x)) z ( xi ) yi yi 1 z ( xi ) h ( xi , z ( xi ), h) i 1 z ( xi 1 ) yi 1 Errore globale di discretizzazione L’errore globale di discretizzazione e’ definito come ei 1 y ( xi 1 ) yi 1 [ y( xi 1 ) z ( xi 1 )] [ z ( xi 1 ) yi 1 ] (*) (**) il termine (*) e’ la differenza tra due soluzioni del PVI esso dipende da quanto le soluzioni si discostano tra loro ( dipende da come si sono propagati gli errori locali di troncamento introdotti ai passi precedenti) Il termine (**) e’ dato dall’errore di troncamento locale e rappresenta l’errore introdotto al passo (i+1)-esimo. Definizione: un metodo e’ consistente se limh 0tn+1=0. Esso ha poi ordine p se tn+1=o(hp) Per la convergenza occorre che l’accumulo degli errori locali non esploda quando h diventa piccolo stabilita’ (zero stabilita’) CONVERGENZA = CONSISTENZA +STABILITA’ I metodi di RungeKutta (RK) 1 I metodi RK sono tutti esprimibili attraverso la formula dove (xi,yi,h) è detta funzione incremento e può essere interpretata come la pendenza media della funzione nell’intervallo di integrazione La funzione può essere espressa nella forma generale r ajk j j 1 in cui ai sono costanti e ki sono definite da k1 f ( xi , yi ) j 1 k j f ( xi b j h, h cij ki ) i 1 I metodi di RungeKutta (RK) 2 Il numero di valutazioni della funzione f, r, e’ chiamato numero degli stadi Si possono ottenere diversi tipi di metodi RK utilizzando un numero differente r Il metodo RK del primo ordine è il metodo di Eulero (r1, a11) Dopo aver scelto r, i valori delle quantità ai, bi, cij possono essere calcolati uguagliando opportunamente i termini della formula generale con i corrispondenti termini della serie di Taylor RungeKutta del 2° ordine Vediamo come… La versione del secondo ordine della formula RK è dove k1 f ( xi , yi ) k2 f ( xi b h, yi h c k1 ) Per determinare i valori di a1, a2, b, e c, si ricordi che la serie di Taylor che esprime yi+1 in termini di yi troncata al 2oordine, è data da con f '( xi , yi ) f x ( xi , yi ) f y ( xi , yi ) f ( xi , yi ) I metodi di RungeKutta (RK) 4 Pertanto si ottiene h2 yi 1 yi h f ( xi , yi ) [ f x ( xi , yi ) f y ( xi , yi ) f ( xi , yi )] 2 yi 1 yi h (a1 f ( xi , yi ) a2 f ( xi b h, yi h c f ( xi , yi )) Le due espressioni ottenute per yi+1 possono quindi essere eguagliate ma, per far ciò, occorre preventivamente sviluppare in serie di Taylor l’espressione di k2 in un intorno di (xi,yi) k 2 f ( xi , y i ) h b f x ( xi , y i ) h c f y ( xi , y i ) f ( xi , y i ) ( a1 a 2 ) f ( xi , y i ) a 2 h [ b f x ( xi , y i ) h c f y ( x i , y i ) f ( x i , y i )] 1 1 a1 a2 1, a2b , a2 c 2 2 I metodi di RungeKutta (RK) 6 Il sistema di tre equazioni in quattro incognite appena descritto non ammette soluzione unica Non esiste un solo metodo del secondo ordine, ma un’intera famiglia di metodi Aumentando il numero degli stadi si costruiscono metodi di ordine superiore. In realta’ Butcher ha dimostrato che solo per metodi di ordine fino a 4 c’e’ coincidenza tra numero di stadi e ordine del metodo. Poi le cose vanno leggermente peggio: r4 pr r 5, 6 r 7,8 p r 1 p r 2 r 9 p r 3 Metodi impliciti Il metodo di Eulero esplicito (o in avanti) può essere ottenuto sostituendo la derivata prima con il rapporto incrementale in avanti: y '( xi ) y ( xi 1 ) y ( xi ) hi Analogamente sostituendo la derivata prima con il rapporto incrementale all’indietro si ottiene il metodo di Eulero implicito (o all’indietro) y '( xi 1 ) y ( xi 1 ) y ( xi ) hi yi 1 yi h f ( xi 1 , yi 1 ) Metodi impliciti DEF: Un metodo si dice esplicito se yi+1 dipende solo dai valori ai passi precedenti. Un metodo si dice implicito se yi+1 dipende da se stessa attraverso f. Questi ultimi richiedono la risoluzione di un problema non lineare se f non è lineare in y. La differenza rispetto alla formula esplicita è che la f è valutata non più al passo xi ma al passo xi+1. Quindi il calcolo di yi+1 dipende implicitamente da yi+1 stesso! La valutazione di yi+1 diventa quindi più laboriosa e complicata (se si ha un’equazione non lineare in yi+1, la si risolve tramite un metodo di punto fisso o di Newton-Raphson). Tuttavia, in termini di accuratezza si hanno risultati migliori. Metodo di Crank-Nicolson (Trapezi) Prendendo la media aritmetica delle formule di Eulero esplicito e implicito: yi 1 yi h f ( xi , yi ) yi 1 yi h f ( xi 1 , yi 1 ) yi 1 h yi f ( xi , yi ) f ( xi 1 , yi 1 ) 2 Metodo di ordine 2 (può essere visto come un metodo multistep) Metodi Predictor-Corrector Risolvendo un problema di Cauchy non lineare con uno schema implicito è richiesto, ad ogni passo, la risoluzione di un’equazione non lineare. Si possono usare: metodi di Punto Fisso, metodo di Newton, … Ciò richiederà un valore di innesco (valore iniziale) vicino alla soluzione sia per problemi di convergenza, sia per diminuire il numero di iterazioni. Ciò può essere ottenuto usando in coppia un metodo esplicito (predictor) che fornisce un buon dato iniziale per il metodo implicito (corrector) che è generalmente più stabile. Esempio P:ŷi+1 = yi + hf(xi; yi) Eulero: ordine 1 C:yi+1 = yi + h /2[f(xi; yi) + f(xi+1; ŷi+1)] Trapezi: ordine 2 Metodo di ordine 2 Metodi Predictor-Corrector-2 Si possono usare per uno schema predictor-corrector più varianti: PECE P(EC)kE PEC P(EC)k
© Copyright 2024 Paperzz