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
yi1  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,…
ba
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)
h0
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)
i1  y( x i1 )  y( x i )  hh, 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)
i1  y( x i1 )  y( x i )  hh , 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 i1 )  y( x i )  hh , x i , y( x i )  i1
y i1  y i  hh , x i , y i 
per cui, sottraendo membro a membro, viene
e i 1  e i  hh, 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 i1  ( 1  hk )i1  e 0    e hk( i1 )  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
~
yi1  ~
yi  h( h, x i , ~
yi )  i1
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 p1 a meno di infinitesimi di ordine superiore.
La funzione di h
hp M 

h
ha un minimo per
(31)
h*  p1

.
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
yx n1   y n1  yx n1   y n1   y n1  y n1 
dove y n1 è 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  hy i
y i 1  y i  hy 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 nk  h  k f ( x nk , y nk )  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(nsk1 )  h  k f ( x nk , 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
Lk h  1
ossia per valori di h tali che
(41)
h
1
Lk
,
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 nd 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
i0
(42) è semplicemente
y n 
(46)
b
k 1
1 ai
.
i0
Sommando questa alla (45), si ottiene la soluzione generale di (42).
Ordine, consistenza e zero stabilità
Indichiamo con F l’operatore
Fy( x ), h     j y( x  jh )  h  j y( x  jh )
k
(47)
j0
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)
Fy( 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
j1
j 0

k
k

1
1
c i   ji  j 
 ji1 j ,
i! j1
(i  1)! j1

(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 p1 h p1 y ( p1) (x n )  O(h p2 ) .
(50)
La quantità
c p1 h p1 y ( p1) (x n )
è detta parte principale dell’errore di troncamento.
La (38) nell’ipotesi che i valori y n , y n1 ,, y nk1 , f n , f n1 ,, f nk1 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 nk  c p1h p1y( p1 ) ( x n )  O( h p2 )
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 ,
j0
k
k
j0
j0
 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   ,
h0
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
j1
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 n4 
(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 ))  Tnk
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 Tnk  R nk   = 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
j0
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  hexp 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)
expi
expi
, 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 expi, 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 nsk1  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 n0k sufficientemente
buona.
In pratica, si arresta il procedimento iterativo quando
(79)
y nsk1  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 nk    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 nk
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 PEC  E se  = 0; oppure PEC  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:




yx n  k   y n0k  c p 1 h p 1 y p 1 x n   O h p  2
yx 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 p1
c p1h p1 y p1 x n   
y nm k  y n0k
c p1  c p1

.
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
ê n0k   ˆ j ê n1 j  h  ˆ j ê n1 j  1
ê n1 k    j ê n1 j  h   j ê n1 j  h k ê n0 j   2
.
Eliminando ê n0k 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   hr   h k ˆ r   h
.
Nel caso m  1 , ossia per il metodo PEC  E , l’equazione caratteristica, diviene
m
(83)
 
 

ˆ r   0
 PECm E r, h  r   hr   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 PEC  l’equazione caratteristica è
m
(85)

 
 


ˆ r   0 .
 PEC r, h   k r k r   hr   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
m2
nk
m
nk
m 1
nk
.
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  hx 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
1i  R
j1
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 sr  
s 1


R


 f  x  a 2 h , y  h  b 2s k sr  
s 1


R


k Rr 1  f  x  a R h , y  h  b Rs k sr   ,
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
 
yx  h   yx   hx, yx , h   O h p1
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
 
 
 
 
yx   hyx   O h 2  yx   hx, yx ,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
 
yx n  h   y n 1  O h p1
(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
yx  h   yx  R
  c r k r  Oh p 
h
r 1
per cui passando al limite per h  0 , si ha
R
y x   f x , yx  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, yx  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
yx  h   yx   hy x  
h2
h3
y x  
y x   Oh 4 
2
6
Tenendo conto che yx  è 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 .
yx  h   yx   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   Oh 3 
2
 2

a2

1
2
k 3  f  ha 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
 Oh 
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)
yx 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)
yx n1   y n1  x n , yx n  h p1  Oh p2 
Ripetendo il calcolo partendo da xn-1 ed effettuando un passo di ampiezza 2h, si trova
yx n1   y*n1  x n1 , yx n1 2h 
p1
 Oh p2 
che diviene, ponendo x n1 , yx n1  = x n , yx n   Oh ,
(107b)
yx n1   y*n1  x n , yx n  2h 
p1
 Oh p2  .
Quindi sottraendo la (107a) dalla (107b), si ha
(108)
y n1  y*n1  2p1  1 x n , yx n  h p1  Oh p2 
per cui una valutazione dell’errore risulta
(109)
yx n 1   y n 1 
y n 1  y*n 1
.
2 p1  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  yx n  , si ha
yx n1   y n1  yx n1   yx n   h x n , yx n , h  n
e quindi
n  yx n1   ˆy n1  ˆy n1  y n1  ˆn  ˆy n1  y n1 
essendo, n, di ordine p e ̂ n di ordine p+1, ne segue che la parte più significativa di n è la
quantità
n  ˆy n1  y n1 .
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 p1
Cerchiamo il nuovo passo qh, con q>0, affinché l’errore locale sia tale che
kqh 
p1

Sostituendo k si trova
q  p1

.
ˆy n1  y n1
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 

yx 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)
yx 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 n1  y n  hy n  1  hy 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  h1  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  h1  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
 h1  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)
yx 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 Imi 
2 2
R
h Rei 
 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 n1  y n 

h
f  f n1
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
ut  
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