Sei sulla pagina 1di 4

Appunti sul corso di Complementi di Matematica ( modulo Analisi)prof. B.

Bacchelli 02- Equazioni dierenziali del primo ordine: Metodi Numerici Riferimenti: R.Adams, Calcolo Dierenziale 2. Casa Editrica Ambrosiana 1. Lo studio delle equazioni dierenziali viene arontato in tre ambiti: Analitico, esatto, metodi simbolici Metodi quantitativi (campo di direzioni, isocline...) Metodi numerici Anche se risolviamo simbolicamente, rimane sempre la questione del calcolo dei valori. Il numero e ` e il valore y (1) della soluzione della y = y con y (0) = 1. Ma COME troviamo che e = 2.718282828459045... ? La risposta ` e: con metodi numerici. Come primo esempio prendiamo lEDO del primo ordine y = x2 y 2 = f (x, y ), con condizione iniziale y (0) = 1. La domanda ` e: quanto vale y (1) ? Questa equazione non si risolve in termini esatti, ma solo numericamente. 2. Primo approccio: usiamo le linee tangenti del campo per approssimare la soluzione con una spezzata poligonale, in cui ogni segmento ha lunghezza orizzontale h , e ha pendenza f (x, y ) dove (x,y) ` e il punto nale del segmento precedente. Questo ` e il metodo di Eulero, che ` e un metodo generale per calcolare (approssimare, in realt` a) il valore y (x1 ) da y (x0 ) e utilizzando il campo di direzioni. In eetti, il metodo approssima y (x) per tutti gli x tra x0 e x1 . Scegliamo il passo h per andare da x0 a x1 = x0 + Kh; indichiamo con (xn , yn ) il generico vertice di un segmento della poligonale. Nota: se h ` e piccolo, il numero di passi K per raggiungere x1 ` e grande. Metodo di Eulero: Dati: h, x0 , y0 , f (x, y ), K, for n = 0, K 1 An = f (xn , yn ) xn+1 = xn + h yn+1 = yn + hAn end

3. y = x2 y 2 = f (x, y ). Organizziamo in una tabella i valori trovati con h = 0.1 n xn yn An hAn 0 1 2 ..... ..... 0 0.1 0.2 1 0.9 0.82 -1 -0.8 -0.1404 -0.1 -0.08 -0.01404

Il metodo di Eulero ` e dicilmente esatto. In ogni caso il poligono di Eulero non ` e una soluzione esatta, e il campo di direzioni nel suoi vertici dierisce sempre pi` u dal campo di direzioni della soluzione vera, soprattutto se il campo cambia rapidamente. Proviamo a individuare alcune fonti di errore. (1) Errori di arrotondamento accumulati. Ogni computazione comporta un piccolo errore, dovuto allarrotondamento, e questi errori si sommano. Quindi vorremmo usare il minor numero di passi possibile ( K piccolo h grande) (2) Se h ` e grande, ` e probabile che la soluzione approssimata si discosti molto dalla vera ( h piccolo) C` e una contraddizione tra (1) e (2). Lerrore dipende dalla grandezza del passo h Si dimostra che lerrore col metodo di Eulero diminuisce proporzionalmente al passo h : err(E ) c1 h Cio` e il metodo di Eulero ` e un metodo del primo ordine ( h1 ). Per intervalli piccoli, possiamo predirre , almeno, se il metodo di Eulero produrr` a una risposta troppo alta, oppure troppo bassa. Se la curva integrale ` e convessa ( y > 0), lapprossimazione di Eulero ` e troppo bassa. Se ` e concava ( y < 0), lapprossimazione di Eulero ` e troppo alta.

4. Un modo per arontare il problema ` e scegliere una pendenza migliore, per esempio prendere la media delle pendenze dei due vertici del segmento del metodo di Eulero. Metodo di Eulero migliorato: for n = 0, K 1 xn+1 = xn + h An = f (xn , yn ) un+1 = yn + hAn Bn = f (xn+1 , un+1 ) An + Bn yn+1 = yn + h 2 end Dati: h, x0 , y0 , f (x, y ), K,

Si dimostra che lerrore col metodo di Eulero migliorato, detto anche di Heun, diminuisce proporzionalmente al quadrato del passo h : err(H ) c2 h2 Cio` e` e un metodo del secondo ordine ( h2 ). Se valutiamo OPPORTUNAMENTE quattro pendenze successive otteniamo RK4, cio` e il metodo di Runge-Kutta di quarto ordine: Dati: h, x0 , y0 , f (x, y ), K, for n = 0, K 1 xn+1 = xn + h An = f (xn , yn ) h An Bn = f (xn + , yn + h ) 2 2 h Bn Cn = f (xn + , yn + h ) 2 2 Dn = f (xn + h, yn + hCn ) An + 2Bn + 2Cn + Dn yn+1 = yn + h 6 end Lerrore in questo caso ` e proporzionale alla potenza quarta di h : err(RK 4) c4 h4 3

E interessante confrontare questi metodi. Qui di seguito c` e un confronto che usa lEDO y = y, y (0) = 1; la soluzione ` e y (x) = ex , e noi studiamo y (1) = e. A uguali costi: Metodo RK1 = Eulero RK2 = Heun RK4 Passi 1000 500 250 Valutazioni 1000 1000 1000 Errore 1.35 103 1.81 106 7.99 1015

Ogni valutazione del campo di direzioni ha un costo (in termini di tempo e di soldi!). Heun fa due valutazioni per passo, RK4 ne fa quattro, quindi il costo di Eulero con 1000 passi ` e allincirca uguale al costo di Heun con 500 passi o di RK4 con 250 passi. Lerrore di Eulero ` e circa 1/1000, anche usando 1000 passi di ampiezza 1/1000. Questo riette la teoria generale per cui lerrore ` e proporzionale allampiezza del passo, il metodo ` e del primo ordine. Per Heun la previsione teorica ` e che lerrore ` e proporzionale a h2 . h = 2 103 qui, quindi h2 = 4 106 ; nellesperimento ` e anche meglio. RK4 prevede un errore proporzionale a h4 , che nel nostro caso ` e 16 1012 ; nel nostro esperimento risulta anche pi` u accurato. Morale: Se si vuole buona accuratezza il metodo di Eulero ` e essenzialmente inutile, e RK4 sar` a vincente. Ci sono anche metodi di ordine maggiore, assai pi` u complessi, e lesperienza mostra che RK4 ` e un buon compromesso. 5. Vedere Esempio 4 del testo. Sono valutati i valori in x = 0.4, x = 0.8, e x = 1.0 della soluzione ai valori iniziali y = y 2 , con y (0) = 1 , mediante i tre metodi descritti e usando passi di lunghezza h = 0.2, h = 0.1, e h = 0.05 . La soluzione esatta ` e y (x) = 1/(1 x) , sullintervallo (, 1).

Potrebbero piacerti anche