Metodi Matematici per l’Ingegneria – Prof. M. Caprili CAPITOLO 7 RISOLUZIONE NUMERICA DI UN’EQUAZIONE E DI UN SISTEMA DI EQUAZIONI DIFFERENZIALI ORDINARIE CON CONDIZIONI INIZIALI ASSEGNATE 139 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Introduzione Supporremo nel seguito che ogni problema di valori iniziali o di Cauchy y f ( x, y) y( a ) (1a) (1b) abbia una ed una sola soluzione in [a, b]. Ciò equivale a dire che supporremo sempre verificate le ipotesi del seguente teorema. Teorema. Sia f(x, y) definita, limitata e continua in D ( x, y) R 2 : a x b, y ed esista una costante L tale che | f (x, y1 ) f (x, y 2 ) | L | y1 y 2 | (2) per ogni (x, y1), (x, y2) appartenenti a D. Allora il problema (1) ha una ed una sola soluzione in [a, b] con η numero reale arbitrario. f Se la f(x, y) è derivabile rispetto ad y e L in D, allora f(x, y) soddisfa la condizione di y Lipschitz (2). Nel caso di un sistema di equazioni differenziali del primo ordine y i f i ( x, y1 , y 2 , y n ) , y i ( a ) i i 1, 2, n, o in forma matriciale y f ( x , y ) , y(a ) (3) , la (2) è sostituita da f ( x , y1 ) f ( x , y 2 ) L y1 y 2 (4) per (x, y1 ), (x, y 2 ) D (x, y) : a x b, y i , i 1, 2,, n . Se le f i x , y (i 1, 2, , n ) hanno derivate prime continue e limitate in D si può scegliere L f ( x, y) y , dove f è la matrice jacobiana delle funzioni fi(x,y1,…,yn), i=1,2,…,n. y Un’equazione differenziale di ordine n 140 Metodi Matematici per l’Ingegneria – Prof. M. Caprili (5) y ( n ) f ( x, y, y ,, y ( n 1) ) si può equivalentemente porre nella forma di un sistema differenziale del primo ordine. Posto infatti y1 y, y 2 y ,, y n y ( n 1) , si ottiene (6) y 1 y 2 y y 2 3 y n f ( x, y 1 , y 2 , , y n ) . Le condizioni iniziali y(a ) 1 , y (a ) 2 ,, y ( n 1) (a ) n associate alla (5) si trasformano in y 1 (a ) 1 y (a ) 2 2 y n (a ) n . Nel caso particolare di un sistema differenziale del primo ordine a coefficienti costanti (7a) y A y b( x ) (7b) y( a ) , con A matrice quadrata di ordine n, si verifica subito che y( x ) e x c è soluzione del sistema omogeneo y A y se λ è autovalore di A e c autovettore associato a λ. Nel caso in cui A abbia n autovalori distinti, la soluzione generale di (7a) è n (8) y( x ) i e i x c i ˆy( x ) i 1 dove ŷ( x ) è una soluzione particolare di (7a). Se si impone che la (8) soddisfi la (7b) si trova il sistema lineare n (9) i 1 i e ia c i ˆy( a ) ˆ 1, ˆ 2 ,, ˆ n che, posti nella (8), danno la soluzione del problema di che, risolto, dà i valori Cauchy (7). Se A non ha n autovalori distinti, a soluzione generale del sistema omogeneo y A y può essere espressa formalmente dall’esponenziale dell’operatore A, cioè (10) y(x) e Ax v 141 Metodi Matematici per l’Ingegneria – Prof. M. Caprili con v R n vettore arbitrario. Se poniamo v e, per semplicità, poniamo anche a = 0, la (10) diviene y(x) e Ax , (11) che è soluzione del problema (7) con b(x)=0. Definiamo adesso la matrice eAx. Consideriamo il polinomio caratteristico p( ) det( A I ) ; in virtù del teorema di Cayley-Hamilton, se p(D) è l’operatore differenziale associato a p(λ) si ha p( D)e Ax p( A)e Ax 0. Ad esempio, se il polinomio della matrice A di ordine 3 risulta p( ) 3 3 4 , si ha p( D ) D3 3D 4D0 e p( D )e Ax ( A 3 3A 4I )e Ax . Ne consegue che ogni elemento Cij della matrice C = eAx è soluzione dell’equazione differenziale (12) p( D ) C ij( x ) 0 . Se y1 (x), y 2 (x), , y n (x) è un sistema fondamentale di soluzioni di (12), la soluzione generale di (12) si può scrivere Cij( x ) E1( i ,j ) y1( x ) E(2i ,j ) y 2 ( x ) E(ni ,j ) y n ( x ) . Se usiamo una scrittura matriciale si ha (13) e Ax E1y1( x ) E 2 y 2 ( x ) E n y n ( x ) , dove E1, E2, …, En sono matrici di ordine n. La determinazione delle matrici E1 , E 2 ,, E n si effettua risolvendo il sistema lineare (14) I E 1 y 1 (0) E 2 y 2 (0) E n y n (0) A E y (0) E y (0) E y (0) 1 1 2 2 n n A n 1 E 1 y 1( n 1) (0) E 2 y (2n 1) (0) E n y (nn 1) (0) ottenuto uguagliando le derivate dei due membri di (13), in x=0, fino all’ordine n-1. 142 Metodi Matematici per l’Ingegneria – Prof. M. Caprili La matrice del sistema (14) è non degenere in quanto il suo determinate è il wroskiano del sistema fondamentale y1 (x), y 2 (x), , y n (x) calcolato in x=0, che, come è noto, è non Pertanto la soluzione del sistema (14) di n3 incognite esiste ed è unica. Per ottenere una soluzione particolare di (7a) si applica il metodo della variazione delle costanti arbitrarie. Si pone cioè ŷ(x) e Ax v(x) (15) che, sostituito nella (7a), dà A e Ax v( x ) e Ax d v( x ) A ( e Ax v( x )) b( x ) dx ossia e Ax d v( x ) b( x ) . dx Cosicché, integrando si trova x v( x ) e At b( t )dt 0 che per x = 0 vale zero come si voleva. Quindi la soluzione di (7), per la (11) e la (15) con a=0, risulta x y( x ) e Ax e Ax e At b( t )dt 0 in cui la prima parte, e Ax , rappresenta l’evoluzione libera e la restante la soluzione forzata. Se la condizione iniziale fosse stata la (7b), cioè con a≠0, allora la soluzione sarebbe semplicemente divenuta (16) y( x ) e A ( x a ) x e Ax e At b( t )dt a in cui la soluzione forzata non è mutata. Metodi lineari ad un passo In questa prima parte i metodi sono riferiti ad una equazione differenziale del primo ordine. Tuttavia, i metodi si estendono subito ai sistemi differenziali del primo ordine. Consideriamo dapprima i metodi ad un passo, che approssimano il problema continuo (1) con il problema nel discreto (19a) (19b) y i 1 y i ( h, x i , y i ) h y0 143 i=0,1,… Metodi Matematici per l’Ingegneria – Prof. M. Caprili o anche yi1 yi h ( h, x i , yi ) y0 (20a) (20b) dove x i a i h, i 1,2, , N 1, x o a, x N b, h i=0,1,… ba e yi è l’approssimazione numerica N di y(xi). I punti xi in cui è suddiviso l’intervallo [a, b] sono detti nodi e h è detto passo di integrazione. Assegnato il valore y0= η , tramite la (1b), è possibile calcolare, per la (20), ogni yi ricorsivamente. Definizione. Il metodo (20) è detto consistente o coerente con l’equazione (1a) se lim (h, x, y) f (x, y) . (21) h0 Il limite della (19a) per h 0 dà, per la (21), la (1a), ossia si riottiene il problema continuo. Ad esempio, il metodo di Eulero y i 1 y i hf (x i , y i ) (22) oppure il metodo di Eulero modificato y i 1 y i (23) h f ( x i , y i ) f ( x i h, y i hf ( x i , y i )) 2 risultano consistenti. Definizione. Si definisce errore di troncamento la quantità (24) i1 y( x i1 ) y( x i ) hh, x i , y( x i ) dove y(x) è la soluzione esatta di (1). Si osserva che (25) y i 1 y(x i ) h(h, x i , y(x i )) è il valore della soluzione numerica in xi+1 calcolata tramite valori esatti. Pertanto, la (24), per la (25), si può scrivere i 1 y(x i 1 ) y i 1 che indica l’errore locale commesso cioè, in un passo di integrazione, a prescindere da altri errori. La (24), per la (21) dà (26) i1 y( x i1 ) y( x i ) hh , x i , y( x i ) hy( x i ) hf x i , y( x i ) O( h 2 ) O( h 2 ) in quanto f (x i , y(x i )) y(x i ) per la (1a). 144 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Ad esempio, nel caso del metodo di Eulero, risulta i 1 1 2 h y ( x i h ) . 2 Definizione. Un metodo ha ordine p>0 se τ = O(hp+1), ove max i . i Quindi, per la (26), si ha il teorema. Teorema. Se il metodo (20a) è consistente, ha ordine almeno 1 e, viceversa. L’errore globale o accumulato e i y(x i ) y i . dipende dall’errore di arrotondamento nei calcoli; dall’errore di troncamento locale τi ; da gli errori nei passi precedenti. Definizione. Se per ogni fissato x i [a, b] , si ha (27) lim y( x i ) y i 0 h 0 ih x i a per ogni problema di Cauchy (1), il metodo (20) è detto convergente. Teorema. Supponiamo che la φ(h, x, y) sia lipschitziana rispetto ad y, ossia (28) ( h , x , y1 ) ( h , x , y 2 ) k y1 y 2 allora, se il metodo (20a) è consistente, è anche convergente e viceversa. Dimostrazione. Dalla (20a) e dalla (24) risulta y( x i1 ) y( x i ) hh , x i , y( x i ) i1 y i1 y i hh , x i , y i per cui, sottraendo membro a membro, viene e i 1 e i hh, x i , y(x i )) h, x i , y i i 1 o anche, passando ai moduli, per la (28), si trova e i 1 e i 1 hk che, risolta, dà 145 Metodi Matematici per l’Ingegneria – Prof. M. Caprili e i 1 e 0 (1 hk ) i 1 1 (1 hk ) (1 hk ) i e 0 (1 hk ) i 1 (1 hk ) hk i 1 1 . Tale disuguaglianza si può anche scrivere k ( x a ) k ( b a ) (29) e i1 ( 1 hk )i1 e 0 e hk( i1 ) e 0 e i 1 e 0 e e0 . hk hk hk hk Quindi, se l’errore iniziale è nullo, ei+1 tende a zero quando h tende a zero, in quanto la consistenza implica, per la (26), τ = O(h2). Viceversa, se il metodo è convergente, il primo membro della (19a) tende, per h→0, a y’(xi), ossia a f(xi,y(xi)) e il secondo membro, per la (28), φ(0,xi,y(xi)). Ne segue che la (21) è soddisfatta, ossia il metodo è consistente. Se il metodo ha ordine p l’errore globale è un infinitesimo di ordine p, mentre l’errore locale è un infinitesimo di ordine p+1. Inoltre, se consideriamo anche gli errori di arrotondamento, i valori calcolati risultano ~ yi1 ~ yi h( h, x i , ~ yi ) i1 per cui, analogamente a prima, riesce (30) 1 E i 1 y( x i 1 ) ~ y i 1 e k ( b a ) E 0 h p M k h dove max i e M h p1 a meno di infinitesimi di ordine superiore. La funzione di h hp M h ha un minimo per (31) h* p1 . pM Un concetto molto importante nei metodi numerici è la stabilità. Infatti la inevitabile presenza degli errori nella soluzione numerica può provocare, man mano che il calcolo procede, un effetto devastante sulla precisione dei risultati . L’errore globale si può scomporre nella somma yx n1 y n1 yx n1 y n1 y n1 y n1 dove y n1 è calcolato con i valori esatti. Quidi,il primo termine al secondo membro indica l’errore locale, mentre il secondo indica l’errore trasmesso o propagato. Quest’ultimo dipende dal condizionamento del problema. Definizione. Il metodo numerico (20) è detto assolutamente stabile per certi valori del passo di integrazione h e per una certa classe di problemi di Cauchy (1) se un errore i su y i dà luogo ad errori su y i 1 , y i 2 , non superiori a i . Poichè la stabilità dipende anche dal problema da risolvere, diremo che il metodo è assolutamente stabile se lo è per la classe di problemi di Cauchy, detti problemi test 146 Metodi Matematici per l’Ingegneria – Prof. M. Caprili (32) y y y( x ) y 0 0 , C . Si tratta quindi, dato un metodo numerico, di determinare le coppie (,h) per cui la stabilità assoluta è soddisfatta. Si osservi che, se Re()>0, la soluzione esatta y( x ) y 0 e ( x x 0 ) è crescente in modulo con x e un piccolo errore su y 0 verrebbe amplificato tanto di più quanto più grande è Re(). In questo caso parrebbe sensato parlare di stabilità relativa, ossia richiedere che l’errore cresca meno di quanto cresce la soluzione, ossia l’errore relativo resti limitato. Per questo motivo la condizione di stabilità assoluta è richiesta solo per Re()0, ossia nel caso di soluzione non crescente. Un metodo numerico assolutamente stabile per ogni h>0 e per ogni Re()0 è detto A-stabile. Ad esempio, il metodo di Eulero, applicato al problema (32), se si cambia y i in y i y i , dà i due risultati (33) (34) y i 1 y i hy i y i 1 y i hy i e l’errore propagato (35) y i 1 y i 1 (1 h)( y i y i ) non cresce se 1 h 1 per cui la regione di stabilità assoluta nel piano complesso è il cerchio di centro (-1,0) e raggio 1 indicato in figura 1. 147 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Fig.1 Se è un numero reale la condizione di stabilità si riduce a 2 h 0 e la regione di stabilità può essere indicata in figura 2. Fig. 2 Se si considera l’errore relativo la (35), per la (33), dà (37) y i 1 y i 1 (1 h)( y i y i ) y i y i y i 1 (1 h) y i yi per cui i metodi ad un passo sono sempre relativamente stabili. Metodi lineari a k passi Passiamo adesso a considerare metodi lineari a k passi con k>1. Un metodo lineare a k passi è una combinazione lineare tra i valori y n , y n 1 , , y n k e 148 Metodi Matematici per l’Ingegneria – Prof. M. Caprili f ( x n , y n ), f ( x n 1 , y n 1 ),, f ( x n k , y n k ) della forma k (38) j 0 k j y n j h j f n j j 0 dove f n j f ( x n j , y n j ),x n j x n jh . I coefficienti j, j sono definiti a meno di una costante moltiplicativa per cui si elimina tale indeterminazione ponendo k=1. La soluzione numerica del problema di Cauchy (1), tramite la (38), deve essere determinata in modo ricorsivo, ossia passo-passo. Naturalmente, una tale risoluzione comporta la conoscenza dei coefficienti j, j (j=0,1,...,k) e dei valori iniziali y 0 , y 1 , , y k 1 . Se k=0 il metodo è detto esplicito, altrimenti viene detto implicito. In quest’ultimo caso, ad ogni passo si deve risolvere l’equazione non lineare (39) y nk h k f ( x nk , y nk ) g dove g è una costante che dipende dai valori precedenti x n j , y n j , f n j ,( j 0,1,, k 1) . La (39) si può risolvere tramite un procedimento iterativo (40) y(nsk1 ) h k f ( x nk , y(ns)k ) g con y (n0)k valore iniziale quale, ad esempio, può essere y n k 1 . La successione ottenuta dalla (40) è sicuramente convergente se Lk h 1 ossia per valori di h tali che (41) h 1 Lk , dove L è la costante della (2). Nel caso particolare che la (38) sia un’equazione alle differenze lineare e a coefficienti costanti, ossia del tipo (42) y n k a k 1 y n k 1 a 0 y n b n con a 0 0 , si può trovare la soluzione generale. Assegnate poi le condizione iniziali (43) y 0 0 y 1 1 y k 1 k 1 149 Metodi Matematici per l’Ingegneria – Prof. M. Caprili si determina la particolare soluzione di (42), (43). Iniziamo col determinare la soluzione generale dell’equazione omogenea associata alla (42). A tale scopo cerchiamo soluzioni della forma y n r n . Per sostituzione diretta nell’omogenea della (42), si trova r n k a k 1 r n k 1 a 0 r n 0 ossia, r deve essere soluzione dell’equazione algebrica associata r k a k 1 r k 1 a 0 0 . (44) Nel caso che la (44) abbia p radici distinte r1, r2, ...,rp di molteplicità m1, m2, ..., mp la soluzione generale dell’omogenea associata alla (42), diviene p (45) y n d i ,1 d i ,2 nd i ,mi n( n 1)...( n mi 2) rin . i 1 Poiché la (44) è a coefficienti reali, se ri è una radice complessa anche ri è soluzione e quindi, in luogo di rin n cos( n ) i sen( n ) e ri n cos( n ) i sen( n ) , si possono considerare le loro combinazioni n cos( n) e n sen( n) , che sono ancora soluzioni ma, adesso, sono funzioni reali di n. k 1 Nel caso particolare di bn=b, indipendentemente da n, e 1 a i 0 , una soluzione particolare di i0 (42) è semplicemente y n (46) b k 1 1 ai . i0 Sommando questa alla (45), si ottiene la soluzione generale di (42). Ordine, consistenza e zero stabilità Indichiamo con F l’operatore Fy( x ), h j y( x jh ) h j y( x jh ) k (47) j0 associato al metodo (38) dove y(x) è una arbitraria funzione di classe C1(a,b). Se y(x) è sufficientemente derivabile, sviluppando y(x+jh), y ( x jh ) in serie di Taylor con punto iniziale x, si trova (48) Fy( x), h c 0 y( x) c1 h y ( x) c n h r y ( r ) ( x) con 150 Metodi Matematici per l’Ingegneria – Prof. M. Caprili k c 0 j j 0 k k c j 1 j j j1 j 0 k k 1 1 c i ji j ji1 j , i! j1 (i 1)! j1 (49) (i 2,3, ) . Definizione. L’operatore alle differenze (47) ed il metodo lineare a k passi (38) sono detti di ordine p se risulta c 0 c 1 c p 0 e c p 1 0 . Definizione. L’errore di troncamento Tn+k del metodo lineare a k passi (38) è espresso dalla (47) con y(x) soluzione del problema di Cauchy (1). Nel caso in cui la soluzione di (1) sia derivabile p+1 volte e il metodo sia di ordine p, per la (48), si ha la rappresentazione Tn k c p1 h p1 y ( p1) (x n ) O(h p2 ) . (50) La quantità c p1 h p1 y ( p1) (x n ) è detta parte principale dell’errore di troncamento. La (38) nell’ipotesi che i valori y n , y n1 ,, y nk1 , f n , f n1 ,, f nk1 che intervengono per calcolare yn+k siano esatti, risulta k 1 k 1 j 0 j 0 y n k j y( x n jh ) h k f ( x n k , y n k ) h j f ( x n jh , y( x n jh )) 0 e la (47), con y f ( x, y) , diviene k 1 y( x n kh) j y( x n jh ) h k f ( x n kh, y( x n kh)) j 0 k 1 h j f ( x n jh , y( x n jh )) Tn k . j 0 Cosicché, sottraendo membro a membro, si trova (51) y(x n kh) y n k h k [f (x n hk , y(x n hk )) f (x n kh, y n k )] Tn k o anche, per il teorema di Lagrange, (52) y( x n kh) y n k h k f ( x n kh, n k )( y( x n hk ) y n k ) Tn k . y 151 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Pertanto, se il metodo è esplicito, l’errore locale, cioè commesso in quel passo a prescindere da errori precedenti, è uguale all’errore di troncamento del metodo y(x n kh) y n k Tn k , mentre se è implicito viene 1 y( x n kh) y n k f 1 h k ( x n kh, n k ) y e l’errore locale è semplicemente proporzionale a Tn+k . Tn k , Se y(x) é sufficientemente derivabile, in entrambi i casi, per la (50), si ottiene (53 ) y( x n kh ) y nk c p1h p1y( p1 ) ( x n ) O( h p2 ) dove p è l’ordine del metodo. Definizione. Un metodo lineare a k passi è detto consistente se di ordine p 1. Tale proprietà é verificata se e solo se c0 = c1 = 0, ossia k (54) j 0 , j0 k k j0 j0 j j j . Quando il metodo lineare a k passi è consistente, ossia quando i coefficienti della (38) verificano le (54), allora per h 0 il metodo discreto tende al problema continuo (1). Dobbiamo ora dare la definizione di convergenza, ossia indicare quando la soluzione numerica {yn} tende alla soluzione esatta y(xn) per h che tende a zero. Tuttavia, poiché x=a+nh si considera fissato, quando h tende a zero n deve tendere a infinito in modo che nh resti costante. Definizione. Il metodo lineare a k passi (38) è detto convergente, se per ogni problema di Cauchy (1), risulta (55) lim y n y( x ) h 0 n nh x a x [a , b] e per tutte le soluzioni {yn} di (38) soddisfacenti alle condizioni iniziali y 0 , y1 , , y k 1 tali che (56) lim y i , h0 Consideriamo il problema di Cauchy (57a) (57b) y 0 y(a ) 0 152 i 0,1,, k 1 . Metodi Matematici per l’Ingegneria – Prof. M. Caprili con soluzione esatta y ≡ 0. Il metodo lineare a k passi (38), applicato al problema (57), risulta (58) y n k k 1 y n k 1 1 y n 1 0 y n 0 . La soluzione generale di (58) è (59) y n d 1 r1n d 2 r2n d k rkn con r1 , r2 ,, rk soluzioni distinte dell’equazione algebrica associata alla (59). Poiché la (59) deve soddisfare le condizioni iniziali y 0 , y1 ,, y k 1 , i coefficienti d1 , d 2 ,, d k saranno da queste definiti e, per la (57b), dovranno tendere a zero per h 0 . Per assicurare la convergenza di (59) alla soluzione esatta, tutte le radici, che abbiamo supposto semplici, dovranno essere in modulo minori od uguali ad uno. Nel caso però in cui una soluzione ri fosse di molteplicità >1 , allora nella (59) sarebbero presenti termini del tipo nr in , n( n 1)rin , che tendono a zero solo se tale radice è in modulo minore di uno. Definizione. Un metodo lineare a k passi è detto zero-stabile se l’equazione algebrica k (60) r j r j 0 j1 ha radici in modulo ≤1 e le radici di modulo 1 sono semplici. In particolare la radice principale r=1 deve essere semplice, ossia (1) 0 (1) 0 e per la seconda delle (56) dovrà essere k j 0 . j 0 Enunciamo adesso il teorema di convergenza di Dahlquist. Teorema . Condizione necessaria e sufficiente affinché un metodo lineare a k passi , zero-stabile, sia convergente è che sia consistente. La convergenza è una proprietà inderogabile per ogni metodo, ma ciò comporta una limitazione all’ordine del metodo, come precisato dal teorema seguente. Teorema. Un metodo lineare a k passi zero-stabile ha ordine al più k+1 se k é dispari o al più k+2 se k è pari. Se un metodo lineare a k passi ha un ordine superiore a questi limiti non è zero-stabile e quindi non è neppure convergente. Metodo di Eulero (61) y n 1 y n hf n , Tn 1 153 1 2 h y ( ) ; 2 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Metodo di Crank-Nicholson (62) 1 1 1 y n 1 y n h f n 1 f n , Tn 1 h 3 y ( ) ; 2 12 2 Metodo di Milne y n4 (63) 8 6 ( y n 3 y n 1 ) y n h (f n 4 4f n 3 4f n 1 f n ) , 19 19 18 7 ( 7 ) Tn 4 h y ( ) . 1995 Errore globale L’errore globale è l’errore al passo n-esimo che tiene conto dell’errore locale, dell’errore trasmesso e dell’errore di arrotondamento. Ponendo ê n y(x n ) ŷ n dove ŷ n è il valore effettivamente calcolato, si può dimostrare che per ogni metodo lineare a k passi esplicito od implicito vale la seguente maggiorazione (66) ˆe n ( x n a ) Dh p e LB( x a ) h dove δ è il massimo errore assoluto di arrotondamento e p è l’ordine del metodo. Si osserva che , Dh p , rappresentano rispettivamente l’effetto dell’errore nei valori iniziali, h l’effetto dell’errore locale, l’effetto degli errori di arrotondamento. In pratica risulta quasi sempre Dh p . Tuttavia, se si vuole ridurre l’errore di arrotondamento è necessario effettuare i calcoli h con più cifre significative. Stabilità La proprietà di consistenza del metodo (38) assicura che l’errore locale commesso ad ogni passo, cioè a prescindere dagli errori precedenti, decresce con h e, in tal caso, lo schema alle differenze si discosta sempre meno dal problema continuo. La zero-stabilità, insieme alla consistenza, per il teorema di Dahlquist, assicura che la successione numerica differisce dai valori esatti di una quantità che si riduce con h. Questo vale quando h tende a zero. In pratica i calcoli sono effettuati una o al più due volte con fissati valori di h. Vogliamo esaminare le condizioni su h affinché per una certa classe di problemi di Cauchy l’errore trasmesso resti limitato. 154 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Determiniamo allora l’equazione dell’errore. Date le note formule k ŷ j j 0 k h j f ( x n j , ŷ n j ) R n k n j j 0 k k j 0 j 0 j y(x n j ) h jf (x n j , y(x n j )) Tnk dove Rn+k indica l’errore di arrotondamento, per sottrazione membro a membro si ottiene l’equazione dell’errore (67) k k j 0 j 0 jê n j h j f ( x n j , n j ) y Per esaminare la (67) dobbiamo supporre ê n j Tn k R n k . f =costante e Tnk R nk = costante. y Allora l’equazione (67) diviene k (68) ( j 0 j h j )ê n j la cui soluzione generale è espressa da k (69) ê n d j r jn j 0 k h j j 0 dove h h e r1 , r2 ,, rk sono le radici dell’equazione caratteristica associata k (70) ( r , h ) ( j h j ) r j 0 j0 supposte, per semplicità, distinte. Il polinomio (70) , ( r , h ) ( r ) h( r ) , è detto polinomio di stabilità. È evidente che la condizione f ci ha portato a considerare almeno localmente il problema test y (71) y y y( a ) la cui soluzione decresce se Re{λ}<0. 155 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Quindi, come già visto per i metodi ad un passo, se Re{λ}<0 richiediamo che anche l’errore trasmesso decresca, ossia che il metodo sia assolutamente stabile. Definizione. Un metodo lineare a k passi è detto assolutamente stabile per un fissato h con 0 se tutte le radici di (70) sono in modulo minori di 1. Inoltre una regione del piano complesso è detta di assoluta stabilità se h con 0 il metodo è assolutamente stabile. f Per una sola equazione differenziale non lineare non è costante, e allora si può scegliere per λ y f ( x n , y n ) f un valore di valido nel sottointervallo [xn, xn+k], ad esempio e quindi se risulta y y negativo il passo h deve essere tale da verificare la stabilità; nel successivo passo il valore della derivata diverrà eventualmente diverso e ne seguirà un diverso passo h. Nel caso di un sistema di equazioni non lineare è necessario determinare gli autovalori della matrice jacobiana. Se un autovalore ha parte reale negativa allora h deve appartenere alla regione di stabilità del metodo. Se 0 , la condizione di assoluta stabilità non si pone anche perché, nessun metodo lineare a k passi ha un intervallo di stabilità del tipo (0, β) con β>0. Tuttavia, se 0 , si potrebbe richiedere la relativa stabilità ossia, determinare i valori di h h per cui (72) | rs | | r1 | , s 2, 3,, k dove r1 è la radice principale cioè, la radice della (70) che tende ad uno quando h tende a zero. Metodi per determinare le regioni di assoluta e relativa stabilità Metodo di Schur Si consideri un polinomio a coefficienti reali o complessi p( r ) a k r k a k 1 r k 1 a 1 r a 0 con ak e a0 non nulli. Esso si dirà di Schur se le radici sono in modulo minori di uno. Considerando poi il polinomio p̂( r ) a 0 r k a 1 r k 1 a k 1 r a k dove a i è il complesso coniugato di ai, si può costruire quest’altro polinomio di grado al più k-1 p1 ( r ) 1 ˆp( 0 )p( r ) p( 0 )ˆp( r ) . r Dopo di che si può enunciare il teorema di Schur. Teorema. Condizione necessaria e sufficiente perché p(r) sia di Schur è che p1(r) sia di Schur e valga 156 Metodi Matematici per l’Ingegneria – Prof. M. Caprili | p̂(0) | | p(0) | . Passando quindi al polinomio caratteristico ( r , h ) , associato al metodo (38), in cui supponiamo che λ sia un disequazione (73) numero complesso, si determina il polinomio 1 ( r, h ) e si ottiene una prima | ˆ (0, h ) | | (0, h ) | . Proseguendo, si costruisce 2 ( r , h ) di grado al più k-2 e quindi una seconda disequazione (74) | ˆ 1 (0, h ) | | 1 (0, h ) | Il procedimento si arresta quando ci siamo ridotti ad un polinomio di grado uno, per il quale non vi è alcuna difficoltà a richiedere che sia di Schur. Pertanto, la regione Ω di assoluta stabilità è costituita dalle soluzioni del sistema di disequazioni lineari (73), (74), etc. Per determinare una regione di relativa stabilità poniamo r ze h cosicché l’equazione caratteristica diviene (ze h , h) 0 e quindi si applica il metodo di Schur per determinare i valori di h per cui |z|<1. In questo caso il sistema di disequazioni è non lineare. Si può dimostrare che la radice principale vale r1 e h O( h p 1 ) ove p è l’ordine del metodo e, a meno d’infinitesimi d’ordine p+1, si può scrivere (75) r1 e h . Metodo della frontiera Consideriamo h numero complesso con parte reale negativa e cerchiamo la regione del piano complesso tale che per h le radici di (70) siano tutte in modulo minori di uno. Poiché le radici di (70) sono funzioni continue dei coefficienti dell’equazione e quindi anche di h , la frontiera di è definita dai valori di h per cui almeno una delle radici ha modulo unitario, ossia quando h e sono tali che exp i, h 0 o anche exp i hexp i 0 Ne segue che il luogo dei punti di è definito dall’equazione parametrica nel piano complesso (Re( h ), Im( h )) 157 Metodi Matematici per l’Ingegneria – Prof. M. Caprili h (76) expi expi , 0 2 La curva (76) si può tracciare tramite un personal computer. La regione di stabilità relativa è definita, per la (75), da rs / exp h 1 , s 2,3,...,k , per cui la frontiera è definita imponendo rs / exp h exp , s 2,3,...,k ossia, ponendo r e h e i nella (70) e risolvendo l’equazione non lineare (77) exp h expi, h 0 per valori discreti di [0,2 ) , ad esempio, per m , m = 0,1,2,… con angolo fissato. In tal modo si costruisce per punti un’approssimazione della frontiera della regione di relativa stabilità. Metodi di predizione e correzione Supponendo di voler risolvere il problema di Cauchy (1) con un metodo a k passi implicito è necessario applicare ad ogni passo il procedimento iterativo (78) y nsk1 h k f x n k , y ns k g con h 1 L k per assicurare la convergenza della (78) e con una approssimazione iniziale y n0k sufficientemente buona. In pratica, si arresta il procedimento iterativo quando (79) y nsk1 y ns k con paragonabile all’errore di troncamento locale. Utilizzando un metodo esplicito per determinare il valore iniziale del procedimento iterativo (78) si ottiene il seguente schema generale detto PREDITTORE – CORRETTORE: (80) k 1 k 1 0 m ˆ m ˆ y nk j y n j h jf n j j 0 j 0 s s f n k f x n k , y n k k 1 k 1 y s 1 y m h f s h f m j n j k nk j n j n k j 0 j 0 m m f n k f x n k , y n k 158 s = 0,1,…,m – 1 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Ovviamente, predittore sta per il metodo esplicito e per contro il metodo implicito è detto correttore. m m Il metodo (80) si indica PEC E se = 0; oppure PEC se = 1 e in quest’ultimo caso non si valuta f n( mk) . L’ordine del metodo, se p* e p sono gli ordini del predittore e del correttore, è soltanto quello del correttore se p* p e m 1 ; mentre, se p* p , coincide con quello del correttore soltanto se m p p * 1 . Inoltre, quando p* p è possibile stimare l’errore locale. Infatti, si ha: yx n k y n0k c p 1 h p 1 y p 1 x n O h p 2 yx n k y nm k c p 1 h p 1 y p 1 x n O h p 2 per cui sottraendo membro a membro, si ricava l’espressione della parte principale dell’errore locale (81) c p1 c p1h p1 y p1 x n y nm k y n0k c p1 c p1 . Per la stabilità del metodo predittore–correttore le equazioni degli errori, riferite allo schema PECE, risultano k 1 k 1 j 0 j 0 k 1 k 1 j 0 j 0 ê n0k ˆ j ê n1 j h ˆ j ê n1 j 1 ê n1 k j ê n1 j h j ê n1 j h k ê n0 j 2 . Eliminando ê n0k dalla seconda tramite la prima, si ha k j 0 j k ˆ j hˆ j ê n1 j 3 h j ê n1 j h k j 0 con 3 = 1+2 . Pertanto gli intervalli di stabilità assoluta e/o relativa si determinano dall’equazione caratteristica (82) ˆ r 0 PEC r, h r hr h k ˆ r h . Nel caso m 1 , ossia per il metodo PEC E , l’equazione caratteristica, diviene m (83) ˆ r 0 PECm E r, h r hr M m h ˆ r h dove 159 Metodi Matematici per l’Ingegneria – Prof. M. Caprili 1 h k m M m h h k (84) 1 h k . m Per il metodo PEC l’equazione caratteristica è m (85) ˆ r 0 . PEC r, h k r k r hr M m h ˆ r h Si osserva che può essere approssimativamente valutato, ad ogni passo, tramite la formula (86) y y y y k m 1 n k m2 nk m nk m 1 nk . Metodi di Runge – Kutta Sono metodi ad un passo e perciò non richiedono ulteriori dati iniziali oltre a quello assegnato dal problema di Cauchy. Lo schema generale dei metodi di Runge – Kutta espliciti si può rappresentare nella forma: (87) y n 1 y n hx n , y n , h R (88) x , y, h c r k r r 1 (89) k 1 f x , y k f x a h, y b hk 2 2 21 1 k R f x a R h, y b R1 hk 1 ... b R ,R 1 hk R 1 r 1 (90) a r b rs , r=2,3,…,R . s 1 e i valori k1 , k 2 ,..., k R sono calcolati esplicitamente per ricorrenza. Per contro i metodi impliciti richiedono ad ogni passo la risoluzione di un sistema non lineare in quanto le (89) sono espresse da 160 Metodi Matematici per l’Ingegneria – Prof. M. Caprili R k f x a h , y h b1s k s 1 1 s 1 R k 2 f x a 2 h, y h b 2 s k s s 1 R k R f x a R h, y h b Rs k s s 1 (91) R a r b rs (92) , r = 1,2,…,R . s 1 Se 1 h R L max b ij 1i R j1 il sistema ha un’unica soluzione ottenuta per iterazioni successive r 1 k1 k 2r 1 R f x a 1h , y h b1s k sr s 1 R f x a 2 h , y h b 2s k sr s 1 R k Rr 1 f x a R h , y h b Rs k sr , s 1 r 1,2,... Una via di mezzo tra i metodi espliciti e impliciti sono i metodi di Runge – Kutta semi-impliciti. Per essi il sistema (89) è della forma (93) k1 f x a 1h , y hb 11k1 k f x a h , y hb k hb k 2 21 1 22 2 2 R k R f x a R h , y h b Rs k s s 1 (94) a r b rs r , r = 1,2,…,R . s 1 Definizione. quale risulta (95) Un metodo di Runge – Kutta è detto di ordine p, se p è il più grande intero per il yx h yx hx, yx , h O h p1 dove y(x) è la soluzione esatta del problema di Cauchy. 161 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Definizione. Un metodo di Runge – Kutta è detto consistente o coerente con il problema differenziale (1) se x, y,0 f (x, y) . (96) Sviluppando la (95) con la formula di Taylor, per la (96), si ha yx hyx O h 2 yx hx, yx ,0 O h 2 hf x, y hf x, y O h 2 O h 2 per cui la (96) implica che il metodo ha ordine p 1 . Dalla (95) , per la (87), si ha yx n h y n 1 O h p1 (97) dove y n 1 è calcolato tramite i valori esatti. Pertanto l’errore locale, a prescindere dagli errori commessi nei passi precedenti, decresce con h. La consistenza implica c1 c 2 ... c R 1 . Infatti, dalla (95) riesce yx h yx R c r k r Oh p h r 1 per cui passando al limite per h 0 , si ha R y x f x , yx c r 0 . r 1 Ma essendo y f x, y dovrà essere R c r 1 r 1. Teorema. Se la funzione x, y, h è continua in D x, y, h : a x b, y ,0 h h 0 ed è lipschitziana rispetto a y, ossia in D risulta (98) x, y1 , h x, y 2 , h M y1 y 2 , allora i metodi di Runge–Kutta espliciti sono convergenti se e solo se sono consistenti. I coefficienti c r , a r , b rs si possono ottenere sviluppando il primo membro della (95) con la formula di Taylor con punto iniziale x, yx e uguagliando a zero i coefficienti delle potenze di h fino alla massima potenza possibile, in modo da ottenere il massimo ordine. Ad esempio, per il metodo di Runge–Kutta esplicito con R = 3, lo sviluppo di Taylor, diviene yx h yx hy x h2 h3 y x y x Oh 4 2 6 Tenendo conto che yx è la soluzione esatta del problema di Cauchy risulta 162 Metodi Matematici per l’Ingegneria – Prof. M. Caprili y' f y' ' f x f y f y' ' ' f xx 2f xy f f yyf 2 f y f x f y2 f per cui h2 h3 f x f y f f xx 2f xy f f yyf 2 f y f x f y2 f O h 4 . yx h yx hf 2 6 (99) Inoltre, gli sviluppi della (89), per R=3, riescono k1 f 100 a2 b2 k 2 k 2 f h a 2 f x b 21k1f y h 2 2 f xx 21 1 f yy a 2 b 21k1f xy Oh 3 2 2 a2 1 2 k 3 f ha 3f x f y b 31k1 b 32 k 2 h 2 3 f xx f yy b 31k1 b 32 k 2 f xy b 31k1 b 32 k 2 a 3 2 2 3 Oh dove si è tenuto conto che con R = 3 non è possibile ottenere metodi di ordine maggiore di 3. Quindi, sostituendo le (99) e (100) nel primo membro della (95) e imponendo l’annullamento delle quantità che moltiplicano h, h 2 , h 3 si trova il sistema non lineare c1 c 2 c 3 1 a b 2 21 a 3 b 31 b 32 c a c a 1 3 3 2 2 2 1 c 3 a 2 b 32 6 c a 2 c a 2 1 3 3 2 2 3 Si osserva che la seconda e la terza equazione del sistema erano già indicate nella(90). Tra le infinite soluzioni quelle più utilizzate sono indicate dalle tabelle di Butcher a2 b 21 a3 b 31 b 32 c1 c2 ; c3 cioè (101a) 2 3 2 3 2 3 0 2 8 2 3 3 8 (101b) 3 8 163 1 2 1 1 2 1 2 1 4 6 6 1 6 Metodi Matematici per l’Ingegneria – Prof. M. Caprili Nyström classico Se consideriamo il caso più semplice del metodo di Runge – Kutta esplicito R = 2, le equazioni da soddisfare divengono c1 c 2 1 a b 21 2 1 c1a 2 2 c b 1 2 21 2 e le soluzioni più usate, indicate nella forma a2 , b 21 c1 c 2 risultano (102a) 1 1 1 2 (102b) 1 2 Eulero – Cauchy 2 3 2 3 1 4 3 4 ottima In questo caso la formula esplicita, dell’errore locale, risulta (103) yx n 1 y n 1 h3 2 3a 2 y 3a 2f y y O h 4 12 2 , come nella (102b), annulla il coefficiente di y e minimizza la somma dei 3 valori assoluti dei coefficienti 2 3a 2 3a 2 , con 0 a 2 1. e la scelta di a 2 Analogamente, ponendo R = 4 e arrestando gli sviluppi alla quarta potenza di h, si costruisce un sistema non lineare di 13 incognite in 11 equazioni. Alcune soluzioni, indicate dalle tabelle di Butcher a2 a3 b 21 b 31 b 32 a4 b 41 b 42 b 43 c1 c3 c2 sono 164 c4 Metodi Matematici per l’Ingegneria – Prof. M. Caprili (104a) 1 2 1 2 1 1 2 0 0 1 6 1 2 0 2 6 (104b) 1 2 6 1 6 Classico (104c) 1 3 2 3 1 1 3 1 1 3 1 1 1 1 3 3 8 8 8 1 8 Kutta 1 2 1 2 1 2 2 1 2 1 0 1 6 2 2 2 2 2 2 2 6 2 2 2 2 6 1 1 6 Gill Passando a R = 5 , 6 e 7 gli ordini di precisione risultano 4, 5 e 6, rispettivamente. Ad esempio un metodo di ordine 5 è il cosiddetto metodo di Nyström e uno di ordine 6 è il metodo di Butcher le cui tabelle risultano 1 3 2 5 (105) 1 3 4 25 1 1 4 2 61 3 81 4 6 5 75 23 192 6 25 12 4 90 81 36 75 0 15 4 50 81 10 75 125 192 8 81 8 75 0 Nyström 165 0 81 125 192 192 Metodi Matematici per l’Ingegneria – Prof. M. Caprili 1 3 2 3 1 3 1 2 1 2 (106) 1 1 3 0 1 12 1 16 0 9 44 11 120 2 3 1 1 3 12 9 3 8 16 9 3 8 8 9 63 11 44 27 0 40 3 8 3 4 18 11 27 40 1 2 16 11 4 11 15 120 0 4 15 Butcher Stima dell’errore locale La stima, ad ogni passo, dell’errore locale ci permette di valutare la bontà o meno del passo di integrazione e se è il caso di ridefinirne il valore. Se p è l’ordine del metodo, l’errore locale al passo (n + 1)-esimo, è espresso da (107a) yx n1 y n1 x n , yx n h p1 Oh p2 Ripetendo il calcolo partendo da xn-1 ed effettuando un passo di ampiezza 2h, si trova yx n1 y*n1 x n1 , yx n1 2h p1 Oh p2 che diviene, ponendo x n1 , yx n1 = x n , yx n Oh , (107b) yx n1 y*n1 x n , yx n 2h p1 Oh p2 . Quindi sottraendo la (107a) dalla (107b), si ha (108) y n1 y*n1 2p1 1 x n , yx n h p1 Oh p2 per cui una valutazione dell’errore risulta (109) yx n 1 y n 1 y n 1 y*n 1 . 2 p1 1 Nel caso in cui la precisione valutata dalla (109) sia quella richiesta si sostituisce il valore di yn+1 con il valore corretto 166 Metodi Matematici per l’Ingegneria – Prof. M. Caprili (110) y( x n 1 ) y n 1 y n 1 y *n 1 2 p 1 1 tale operazione è detta estrapolazione di Richardson. Altrimenti si ripetere il calcolo con un nuovo valore del passo. Alternativamente, si abbiano due metodi numerici y n 1 y n h x n ,y n ,h ˆy n 1 ˆy n h x n ,ˆy n ,h con errori di troncamento o errori locali, rispettivamente, n, di ordine p e ̂ n di ordine p+1. Essendo i metodi espliciti e trattandosi dell’errore locale y n ˆy n yx n , si ha yx n1 y n1 yx n1 yx n h x n , yx n , h n e quindi n yx n1 ˆy n1 ˆy n1 y n1 ˆn ˆy n1 y n1 essendo, n, di ordine p e ̂ n di ordine p+1, ne segue che la parte più significativa di n è la quantità n ˆy n1 y n1 . Se si vuole raggiungere una certa precisione si dovrà adeguare il passo h: cioè, verificare quello adottato e predirre quello per il passo successivo. Posto, n =k hp+1, si ha k ˆy n 1 y n 1 h p1 Cerchiamo il nuovo passo qh, con q>0, affinché l’errore locale sia tale che kqh p1 Sostituendo k si trova q p1 . ˆy n1 y n1 Se q<1 è necessario ripetere il calcolo col nuovo passo qh. Altrimenti, se q>1 il nuovo passo verrà impiegato per proseguire al passo successivo. In pratica se q è vicino ad 1 non si modifica il passo. Passi eccessivamente piccoli denunciano singolarità della soluzione o delle sue derivate. Stabilità La risoluzione numerica di un problema di Cauchy comporta un errore commesso ad ogni passo più un errore trasmesso dai valori approssimati calcolati nei passi precedenti. Tale somma dà luogo 167 Metodi Matematici per l’Ingegneria – Prof. M. Caprili all’errore globale o accumulato. Perfino quando l’errore ad ogni passo, ossia l’errore locale, è piccolo, l’errore totale può essere grande a causa dell’errore trasmesso, cioè può accadere che gli errori effettuati si propaghino amplificandosi. Consideriamo il semplice problema di Cauchy y y y x 0 y 0 (111) detto problema test con = costante. Il problema (111) può essere considerato una linearizzazione di un problema non lineare y f x, y yx 0 y 0 . (112) Infatti, considerando un punto generico x n , y n e arrestando lo sviluppo al primo ordine la (112) diviene: y y Bx C y( x n ) y n (113) dove f x n , y n y f x n , y n B x C f x n , y n y n f x n , y n x n f x n , y n . y x Quindi, si può affermare che in un intorno di x n , y n la stabilità o instabilità dei metodi di RungeKutta per il problema (112) è ricondotta all’analisi del problema (113) ovvero del problema (111) in quanto il termine Bx + C non dipende da y. La soluzione esatta del problema (111) è (114) y x y 0 e x x 0 la quale a x n x 0 nh vale (115) yx n y 0 e nh y 0 e h . n Il metodo di Eulero applicato al problema test dà luogo all’equazione alle differenze (116) y n1 y n hy n 1 hy n la cui soluzione è 168 Metodi Matematici per l’Ingegneria – Prof. M. Caprili y n 1 h y 0 . n (117) La condizione di assoluta stabilità risulta 1 h 1 (118) quella di relativa stabilità 1 h e h . (119) Se è reale e negativo la soluzione esatta decresce e anche la soluzione numerica deve decrescere e ciò accade se è verificata la condizione di assoluta stabilità (118) in senso stretto, ossia se 2 h 0. (120) Se è positivo la soluzione esatta cresce con x e così dovrà fare anche la soluzione numerica. Pertanto, siamo interessati, in questo caso, alla accuratezza relativa, legata cioè al numero di cifre significative, anziché all’accuratezza assoluta legata al numero di cifre decimali. Dovremmo così imporre la condizione della stabilità relativa 1 h e h , >0 (121) , che però è verificata per ogni valore di h. Infatti, l’errore relativo y 0 e h n y 0 1 h n y 0 e h n 1 h 1 h e n non cresce con n. Il metodo di Runge–Kutta esplicito del quarto ordine (104a), applicato al problema test (111), risulta k 1 y n 1 1 k 2 y n hk 1 1 h y n 2 2 2 1 1 1 1 1 k 3 y n hk 2 1 h1 hk 1 y n 1 h h y n 2 2 2 2 2 1 1 1 1 2 2 3 k 4 y n hk 3 1 h1 h h y n 1 h h h y n 2 4 2 4 e quindi 169 Metodi Matematici per l’Ingegneria – Prof. M. Caprili y n 1 y n hy n 2 1 2 1 1 1 1 1 2 2 3 h1 h y n h 1 h h y n h 1 h h h y n 6 6 2 6 2 4 6 2 4 1 1 1 2 3 4 1 h h h h y n . 2 6 24 Anche in questo caso è facile verificare che se h > 0 il metodo (104a) è sempre relativamente stabile. Mentre, se h < 0, il metodo è assolutamente stabile se 1 h 1 2 1 3 1 4 h h h 1 2 6 24 ossia, se (121) -2.78<h<0 . Nel caso di metodi di Runge – Kutta del 3° ordine l’intervallo di stabilità assoluta, risulta (123) -2.51<h<0. Alcuni metodi di Runge–Kutta impliciti Riportiamo metodi impliciti con R = 2: y n 1 y n c1hk 1 c 2 hk 2 k 1 f x n a 1h , y n b11hk 1 b12 hk 2 k 2 f x n a 2 h , y n b 21hk 1 b 22 hk 2 a 1 b11 b12 a 2 b 21 b 22 I valori dei coefficienti sono indicati nella tabella di Butcher 3 3 6 3 3 6 1 4 3 2 3 12 1 2 3 2 3 12 1 4 1 2 metodo A-stabile di ordine p=4 170 Metodi Matematici per l’Ingegneria – Prof. M. Caprili 0 2 3 0 1 3 1 4 0 1 3 3 4 0 1 Hammer 0 0 1 2 0 1 1 2 Trapezio Se R=1, si ha il metodo Midpoint 1 2 1 2 1 Alcuni metodi di Runge-Kutta semimpliciti Riportiamo i parametri dei metodi tramite le tabelle di Butcher 3 3 6 3 3 6 3 3 0 6 3 3 3 3 6 1 1 2 2 A-Stabile diordine3 0 0 0 0 1 2 1 1 4 0 1 6 1 0 4 1 0 2 1 3 6 Butcher-Lobatto di ordine 4 Sistemi di equazioni differenziali Un sistema di n equazioni differenziali del primo ordine, che in forma vettoriale si scrive (126a) y f x , y , a x b , dà luogo, con la condizione iniziale (126b) yx 0 y 0 , al ben noto problema di Cauchy. I metodi di Runge–Kutta si estendono immediatamente ai sistemi di equazioni differenziali. A titolo di esempio, il metodo di Runge – Kutta classico,(104a), diviene (126) y n 1 y n h k1 2k 2 2k 3 k 4 6 dove 171 Metodi Matematici per l’Ingegneria – Prof. M. Caprili k1 f x n , y n h h k 2 f x n , y n k1 2 2 h h k3 f xn , yn k2 2 2 k 4 f x n h, y n h k 3 . La stabilità assoluta per i sistemi di equazioni differenziali del primo ordine è analizzata linearizzando la (126a) intorno ad un punto generico x n , y n ossia considerando il sistema differenziale y A y (127) detto problema test, dove A è la matrice jacobiana di f x , y rispetto ad y valutata in x n , y n . La condizione di assoluta stabilità è soddisfatta se per ogni autovalore i con parte reale negativa il numero complesso h i appartiene alla regione di stabilità assoluta del metodo . Ad esempio, per i metodi di Runge – Kutta espliciti del quarto ordine, la regione R di stabilità assoluta è indicata in figura h Imi 2 2 R h Rei 2.78 Stabilità 2 2 ed è definita dalle soluzioni nel campo complesso della disequazione 1 h 1 h 2 1 h 3 1 h 4 1. 2 6 24 Nel caso dei metodi di Runge – Kutta del secondo e terzo ordine la regione di assoluta stabilità è il cerchio di centro (-1,0) e raggio 1 definito da entrambe le disequazioni 1 h 1 h 2 1 2 172 Metodi Matematici per l’Ingegneria – Prof. M. Caprili 1 h 1 h 2 1 h 3 1. 2 6 f Un caso particolare del problema di Cauchy (126) si presenta quando la matrice jacobiana ha y autovalori con parte reale negativa e tali che max Re( j ) min Re( j ) , j 1,2,..., n . Tali sistemi sono detti “STIFF” e per essi l’integrazione numerica può richiedere dei passi molto piccoli e in numero molto elevato. I metodi denominati A-stabili hanno la regione di stabilità coincidente con il semipiano h(Re) < 0; mentre i metodi A()-stabili quando la regione di stabilità è costituita dall’angolo di vertice l’origine e ampiezza 2 < e di bisettrice la semiretta dell’asse reale negativo; infine i metodi A(0)-stabili se è molto piccolo. Esiste tuttavia una limitazione della stabilità come indicato dal teorema . Teorema. Nessun metodo lineare a k passi esplicito è A-stabile. L’unico metodo lineare A-stabile con minima costante di errore, è il metodo di Crank-Nicolson: y n1 y n h f f n1 2 n il cui ordine è p = 2 Anche il metodo di Runge - Kutta implicito R = 2, indicato dalla tabella (125), è A-stabile però non è un metodo lineare. Esempio, di un problema Stiff du 100 sen t u dt u 0 0 la cui soluzione, risulta ut sen t 0.01 cos t 0.01 e 100t . 1.0001 Il termine e-100t decade rapidamente e se si è interessati soltanto della soluzione a regime si dovrebbe scegliere un passo di integrazione t=(2)/20, circa un ventesimo del periodo. Tuttavia, se si usa il metodo di Runge-Kutta del quarto ordine, si deve tener conto della stabilità, e scegliere quindi un passo t=0,0278, molto minore di 0.3. Con t=0.03, di poco superiore al limite indicato, dopo 100 passi la soluzione numerica risulta 6.7 1011 . Effetto blow-up. Quindi, il problema assegnato è molto stabile ma, quello numerico può essere altamente instabile per certi valori del passo temporale. 173