• Non ci sono risultati.

Francesca Mazzia Dipartimento di Matematica Universit`a di Bari Equazioni Differenziali

N/A
N/A
Protected

Academic year: 2021

Condividi "Francesca Mazzia Dipartimento di Matematica Universit`a di Bari Equazioni Differenziali"

Copied!
12
0
0

Testo completo

(1)

Francesca Mazzia

Dipartimento di Matematica Universit` a di Bari

Equazioni Differenziali

(2)

Consideriamo il sistema di equazioni differenziali:

y 0 = f (t, y) (6.1)

con condizione iniziale:

y(t 0 ) = y 0 ,

e supponiamo che la funzione f : [t 0 , T ] × R s → R s sia continua nelle due variabili e Lipshitziana in y, cio` e che, presi y 1 , y 2 ∈ R s , risulti:

kf(t, y 1 ) − f(t, y 2 ) k < Lky 1 − y 2 k

con L > 0. ` E noto che sotto queste ipotesi, fissata la condizione iniziale, esiste un’unica soluzione dell’equazione (6.1). Tranne pochi casi per` o le so- luzioni non possono essere fornite analiticamente, cio` e non possono essere espresse mediante polinomi, funzioni elementari e funzioni trigonometriche.

Bisogna necessariamente approssimarle mediante un procedimento numerico oppure cercare le informazioni di interesse sul loro comportamento mediante opportune tecniche.

Per semplicit` a considereremo prima il caso unidimensionale, cio` e il caso in cui y ∈ R; quindi generalizzeremo quanto detto al caso y ∈ R s .

6.1 Convergenza, consistenza e stabilit` a

Consideriamo l’equazione differenziale con condizione iniziale

( y 0 = f (t, y)

y(t 0 ) = y 0 (6.2)

e supponiamo che f : [t 0 , T ] × R → R sia una funzione tale che la soluzione esista e sia unica nell’intervallo [t 0 , T ]. Vogliamo ottenere una approssima- zione della soluzione. Dividiamo l’intervallo in N sottointervalli di ampiezza h. Sar` a quindi N h = T − t 0 .

t

0

t

1

t

2

t

3

- h

· · · t

N−1

t

N

≡ T

Figura 6.1: Discretizzazione dell’intervallo [t 0 , T ].

(3)

- 6

0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 0.2

0.4 0.6 0.8

1.0 ... ... ... ... ... ... ... ... ...

... ... ...

...

...

...

...

...

...

...

...

...

.. ..

.. ..

.. ..

.. .

r r

h

 -

Figura 6.2: Metodo di Eulero esplicito.

Il metodo pi` u semplice per approssimare la soluzione ` e quello di con- siderare lo sviluppo in serie di Taylor nell’intorno del generico punto t n , n = 0, 1, . . . , N :

y(t n+1 ) = y(t n ) + y 0 (t n )h + τ n

ove τ n = h 2

2

y 00 (ξ n ), essendo ξ n un punto tra t n e t n+1 . Questa quantit` a

`

e detta errore locale. Il metodo di Eulero esplicito consiste nel trascurare questo termine e scrivere:

( y n+1 = y n + hf (t n , y n )

y 0 = y(t 0 ) . (6.3)

In figura (6.2) ` e rappresentato un passo del metodo di Eulero esplicito.

Si noti che y 1 ` e il valore assunto nel punto t 1 dalla tangente alla soluzione nel punto t 0 .

Questa formula di ricorrenza non fornir` a la soluzione esatta y(t n ), per n = 1, . . . , N , ma una sua approssimazione, che abbiamo indicato con y n . Sottraendo e indicando con e n l’errore, cio` e ponendo e n = y(t n ) − y n , si ha:

( e n+1 = e n + h(f (t n , y(t n )) − f(t n , y n )) + τ n

e 0 = 0 (6.4)

Vogliamo che e n rimanga limitato al variare di n, cio` e che la soluzione

numerica rimanga vicina a quella continua e, possibilmente, tenda a questa

quando il passo h tende a zero (convergenza). Ricordiamo che quando h → 0

allora N → ∞.

(4)

Per studiare il comportamento dell’errore basta studiare l’equazione pre- cedente. Quando la f (t, y) ` e non lineare, l’equazione (6.4) ` e non lineare e pertanto difficile da studiare. Di solito ci si limita a studiare il comportamen- to di e n nel caso in cui f sia lineare. Si pu` o dimostrare che, sotto opportune ipotesi, i risultati ottenuti in questo caso possono estendersi al caso di f (t, y) non lineare. Si consideri dunque la funzione test

f (y) = λy, Re(λ) < 0. (6.5)

Per semplicit` a i calcoli seguenti saranno fatti nel caso in cui λ ` e reale e negativo. Sostituendo nell’equazione dell’errore (6.4), si ottiene:

( e n+1 = e n + hλe n + τ n = (1 + hλ)e n + τ n

e 0 = 0 (6.6)

la cui soluzione ` e:

e n =

n−1

X

j=0

(1 + hλ) n−1−j τ j . Ponendo M = max

ξ ∈[t

0

,T ] |y 00 (ξ) |, si ha:

|e n | ≤ h 2 2 M

n−1

X

j=0

|1 + hλ| n−1−j = h 2

2 M |1 + hλ| n − 1

|1 + hλ| − 1

Si vede subito che se |1 + hλ| > 1, l’errore |e n | cresce esponenzialmente.

Si deve quindi fare in modo che |1 + hλ| ≤ 1. In tal caso il metodo si dice assolutamente stabile. Per vedere se vi ` e convergenza, bisogna far tendere il passo h a zero. Possiamo quindi supporre che h sia gi` a abbastanza piccolo da aversi |hλ| < 1 e quindi scrivere:

|e n | ≤ h 2

2 M 1 − |1 + hλ| n

h |λ| ≤ hM

2 |λ| . (6.7)

Dalla precedente si vede subito che

h→0 lim e n = 0

e quindi il metodo ` e convergente per l’equazione test usata. Si pu` o dimostrare

che il metodo ` e convergente anche per una generica funzione f soddisfacen-

te alle ipotesi fatte all’inizio. La convergenza ` e solo lineare rispetto ad h.

(5)

Per questo motivo il metodo si dice di ordine uno. In genere l’ordine di convergenza di un metodo ` e di una unit` a inferiore rispetto all’esponente di h nell’espressione dell’errore locale τ i . Notiamo che se la dipendenza dell’errore locale τ n da h fosse stata lineare invece che quadratica, la convergenza non avrebbe potuto aver luogo. Quindi l’ordine uno ` e il pi` u piccolo ordine per cui si pu` o avere convergenza. Per questo motivo i metodi di ordine almeno uno sono detti consistenti.

Ricordiamo che convergenza significa che la soluzione numerica tende alla soluzione continua quando h tende a zero. Ma un metodo ha senso solo se h ` e diverso da zero e non troppo piccolo. Cio` e si devono poter scegliere dei valori del passo non troppo piccoli senza che l’errore cresca con n.

Generalizzando quanto detto al caso in cui λ sia un numero complesso con parte reale negativa, l’errore non cresce se |1 + hλ| < 1, cioe se hλ `e interno al cerchio di centro ( −1, 0) e raggio 1.

Tale regione del piano complesso (rappresentata in figura 6.3) ` e detta regione di Assoluta stabilit` a del metodo di Eulero esplicito.

- 6

Re(hλ) Im(hλ)

-1 -2

-3

-4 1 2 3 4

-1

-2 1 2

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

... ... ... ... ... ... ... ... ...

Figura 6.3: Regione di assoluta stabilit` a del metodo di Eulero esplicito.

Da quanto detto segue che in pratica, pi` u che la convergenza, ` e l’Assoluta stabilit` a che ha un ruolo centrale nel comportamento dei metodi. L’altro parametro essenziale ` e l’ordine dato, come gi` a detto, dall’esponente di h nell’errore locale diminuito di uno.

Finora ci siamo occupati del metodo di Eulero esplicito. Vi sono essen-

zialmente due motivi che lo rendono spesso non soddisfacente alle esigenze

delle applicazioni:

(6)

1. il basso ordine;

2. la regione di Assoluta stabilit` a relativamente piccola.

Vi sono naturalmente metodi con ordine pi` u elevato o con regione di Assoluta stabilit` a pi` u ampie. Soffermiamoci ancora a discutere questi due concetti basilari. L’ordine ` e importante perch` e misura la velocit` a con cui l’errore diminuisce al diminuire di h (almeno fino a quando gli errori di arro- tondamento non cominciano ad emergere). Se un metodo ` e di ordine p, ci` o significa che (vedi, ad esempio, (6.7)):

max n |e n | = ch p .

Usando un passo pi` u piccolo, ad esempio h 2 , il nuovo errore e n soddisfa la:

max n |e n | = c h 2

! p

= max

n |e n |2 −p

da cui si deduce che il nuovo errore ` e 2 p volte pi` u piccolo dell’errore pre- cedente. Risulta quindi evidente il vantaggio di usare un metodo di ordine elevato.

Per quel che riguarda la regione di Assoluta stabilit` a, la sua ampiezza ` e importante nel caso in cui

T − t 0  1

|λ| . (6.8)

Infatti se la regione di Assoluta stabilit` a ` e piccola, allora si ` e costretti ad usare dei passi molto piccoli (nel caso del metodo di Eulero esplicito h < |λ| 2 ). Ci` o implica che il numero di passi N diventa molto grande, essendo N = T −t h

0

> (T − t 0 ) |λ| >> 1. Ci`o fa aumentare l’accumulo degli errori di arrotondamento, oltre a far aumentare i tempi di esecuzione per ottenere la soluzione.

Problemi in cui la (6.8) ` e verificata, si chiamano problemi stiff. Per questi problemi ` e quindi importante usare dei metodi per cui la regione di Assoluta stabilit` a ` e la pi` u grande possibile.

Un esempio di metodo con regione di Assoluta stabilit` a pi` u ampia, ` e il metodo di Eulero implicito definito da

( y n+1 = y n + hf (t n+1 , y n+1 )

y 0 = y(t 0 ) . (6.9)

(7)

- 6

0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 0.2

0.4 0.6 0.8

1.0 ... ... ... ... ... ... ... ... ...

... ... ...

...

...

... ...

...

... ....

.. .. ..

.. .. ..

.. .. ..

.. .

.. ..

.. ..

.. ..

.. .. r r

h

 -

Figura 6.4: Metodo di Eulero implicito.

In figura 6.4 ` e rappresentato un passo del metodo di Eulero implicito.

Osserviamo che y 1 rappresenta il valore nel punto t 1 della retta passante per t 0 e parallela alla tangente alla soluzione nel punto t 1 .

Si vede facilmente che questo metodo ` e ancora di ordine 1, cio` e che si ha y(t n+1 ) = y(t n ) + hf (t n+1 , y(t n+1 )) + τ n

con τ n = O(h 2 ). Sottraendo ed usando l’equazione test si ottiene:

( e n+1 = e n + hλe n+1 + τ n e 0 = 0

da cui:

e n+1 = 1

1 − hλ e n + 1 1 − hλ τ n e 0 = 0

,

la cui soluzione ` e:

e n =

n−1

X

j=0

 1 1 − hλ

 n −1−j

τ j .

Anche in questo caso gli errori locali non saranno amplificati se

1 1 − hλ

≤ 1,

(8)

la quale permette una scelta di hλ ben pi` u ampia. Infatti essa ` e soddisfatta per tutti i valori di hλ esterni al cerchio di centro (1, 0) e raggio 1 (regione di Assoluta stabilit` a). Questa regione contiene il semipiano negativo del piano complesso. I metodi per cui ci` o avviene si dicono A-stabili.

- 6

Re(hλ) Im(hλ)

-1 -2

-3

-4 1 2 3 4

-1

-2 1 2

... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...

...

Figura 6.5: Regione di assoluta stabilit` a del metodo di Eulero implicito.

Sembrerebbe quindi che il metodo di Eulero implicito sia migliore di quello esplicito, e che quindi debba essere sempre usato al posto di quest’ultimo. In realt` a il metodo di Eulero implicito, come del resto tutti i metodi impliciti di cui ci occuperemo anche nei prossimi paragrafi, presentano una grossa difficolt` a. Consideriamo infatti il primo passo:

y 1 = y 0 + hf (t 1 , y 1 ).

Il nuovo punto y 1 ` e sia al primo che al secondo membro. Quando f ` e non lineare la precedente ` e una equazione non lineare nella incognita y 1 . Questa deve essere risolta con un procedimento iterativo, ad esempio il metodo di Newton. In generale quindi il metodo di Eulero implicito necessita la solu- zione, ad ogni passo, di una equazione non lineare. Ci` o aumenta di molto il costo del metodo, e lo rende giustificabile solo per problemi stiff.

Un esempio di metodo implicito con regione di A-stabile di ordine pi` u alto ` e il metodo dei Trapezi definito da

( y n+1 = y n + h(f (t n , y n ) + f (t n+1 , y n+1 ))/2

y 0 = y(t 0 ) . (6.10)

Questo metodo ` e ancora di ordine 2, cio` e che si ha

(9)

y(t n+1 ) = y(t n ) + h(f (t n , y(t n )) + f (t n+1 , y(t n+1 ))/2 + τ n con τ n = O(h 3 ). Sottraendo ed usando l’equazione test si ottiene:

( e n+1 = e n + hλ(e n + e n+1 )/2 + τ n e 0 = 0

da cui:

 

 

e n+1 = 1 + hλ/2

1 − hλ/2 e n + 1 1 − hλ/2 τ n e 0 = 0

, la cui soluzione ` e:

e n =

n −1

X

j=0

1 + hλ/2 1 − hλ/2

! n−1−j

τ j .

Anche in questo caso gli errori locali non saranno amplificati se

1 + hλ/2 1 − hλ/2

≤ 1,

essa ` e soddisfatta per tutti i valori di hλ che hanno parte reale negativa, quindi il metodo ` e A-stabile.

Esempio 6.1.1 Risolvere l’equazione differenziale

( y 0 = −10 6 y y 0 = 2

con i tre metodi e mostrare le diverse limitazioni sulla scelta del passo.

6.2 Metodi multistep

Abbiamo presentato, in maniera piuttosto dettagliata, i due semplici metodi di Eulero e il metodo dei trapezi. Ci` o perch` e gi` a in questi metodi vi ` e, nella forma pi` u semplice, tutta la problematica da affrontare quando si studia- no metodi pi` u sofisticati. Essi appartengono alla classe dei metodi lineari multistep.

La classe dei metodi lineari multistep ` e definita dalla

(10)

 

 

k

X

i=0

α i y n+i − h

k

X

i=0

β i f n+i = 0 y 0 , y 1 , . . . , y k−1 fissati

, (6.11)

ove si ` e posto f n+i = f (t n+i , y n+i ). I parametri α i e β i sono da determinare imponendo alcune condizioni alla (6.11). I metodi per i quali β k = 0 sono detti metodi espliciti, mentre quelli per i quali β k 6= 0 sono detti metodi impliciti.

Esempio 6.2.1 I metodi di Eulero appartengono alla classe dei metodi li- neari multistep. Si ottengono prendendo k = 1, α 1 = 1 e α 0 = −1. Per Eulero esplicito si pone poi β 1 = 0 e β 0 = 1, mentre per Eulero implicito si pone β 1 = 1 e β 0 = 0.

L’errore locale si ottiene sostituendo nella (6.11) i valori y(t n+i ) della soluzione teorica nei punti di discretizzazione. Si ha:

k

X

i=0

α i y(t n+i ) − h

k

X

i=0

β i y 0 (t n+i ) = τ n , (6.12) in cui si ` e tenuto conto che y 0 (t n+i ) = f (t n+i , y(t n+i )).

Ricordiamo che un metodo ` e di ordine p se τ n = O(h p+1 ) e che un metodo dicesi consistente se p ≥ 1. Ricaviamo le condizioni sui coefficienti α i e β i affinch` e si abbia la consistenza. Essendo

y(t n+i ) = y(t n ) + ihy 0 (t n ) + O(h 2 ) y 0 (t n+i ) = y 0 (t n ) + ihy 00 (t n ) + O(h 2 ) si ha:

k

X

i=0

α i [y(t n ) + ihy 0 (t n )] − h

k

X

i=0

β i y 0 (t n ) + O(h 2 )

=

k

X

i=0

α i y(t n ) + h

k

X

i=0

(iα i − β i )y 0 (t n ) + O(h 2 ) e quindi deve essere:

k

X

i=0

α i = 0,

k

X

i=0

(iα i − β i ) = 0.

(11)

In generale si puo dimostrare che un metodo ` e di ordine p se sono soddi- sfatte le seguenti relazioni:

k

X

i=0

 i s α i − si s−1 β i  = 0 s = 0, 1, 2, . . . , p. (6.13)

6.3 Metodi Runge-Kutta

Un’altra importante classe di metodi ` e quella dei metodi Runge-Kutta. Que- sta ` e caratterizzata dal fatto che, nella definizione dei metodi, tra due punti successivi t n−1 e t n vengono usati dei punti ausiliari (stages) nei quali viene calcolata la funzione f (t, y). Ad esempio nel caso di un solo punto ausiliario (metodo di Heun), si pone

y n+1 = y n + hf t n + h

2 , y n + h 2 f n

!

.

Si ` e quindi introdotto il punto ausiliario t = t n + h 2 . Si calcola y = y n + h 2 f n e si considera questo valore come approssimazione di y(t ). Si calcola poi f (t , y ) e lo si usa per ottenere y n+1 . Si pu` o dimostrare che il metodo precedente ` e di ordine due.

In generale, un metodo ad r stages esplicito ` e definito da:

 

 

 

 

 

 

y n+1 = y n + h

r

X

i=1

a i k i k i = f

 t n + hb i , y n + h

i −1

X

j=0

c ij k j

 i = 1, 2, . . . , r

Nei metodi Runge-Kutta impliciti le sommatorie all’interno del calcolo dei k i arrivano fino ad i invece che ad i − 1. I coefficienti si calcolano impo- nendo che l’ordine sia massimo. L’ordine naturalmente si definisce in maniera analoga a quanto fatto nei paragrafi precedenti, e cos`ı pure la stabilit` a. Non ci dilungheremo ulteriormente su questa classe di metodi. Riportiamo solo i principali risultati per i metodi Runge-Kutta espliciti:

• l’ordine massimo p(r) ottenibile `e

(12)

p(r) =

 

 

r per r = 1, 2, 3, 4 r − 1 per r = 5, 6, 7 r − 2 per r = 8, 9

;

• non esistono metodi Runge-Kutta A-stabili espliciti.

Riferimenti

Documenti correlati

Le formule composte sono ottenute dividen- do l’intervallo [a, b] in un certo numero N di sottointervalli uguali, ed applicando in ognu- no di questi una formula di quadratura di

In generale al pas- so i dell’eliminazione di Gauss, ordiniamo le righe e le colonne da i a n in modo da por- tare l’elemento pi` u grande in valore assoluto in posizione i, i..

rappresentano istanti discreti di tem- po, le equazioni alle differenze del primo ordine possono essere considerate come lo strumento pi` u semplice per descrivere l’evoluzione

Per i problemi MAL CONDIZIONATI la per- turbazione nei dati dovuta alla rappresenta- zione finita genera errori elevati sul risultato, qualunque sia l’algoritmo utilizzato. Se K `

Dipartimento Interuniversitario di Matematica Universit` a di Bari. MATLAB: Elementi di

Data una matrice A, si dice rango della ma- trice, e si indica con rank(A), il rango dell’in- sieme dei suoi vettori colonna.... L’ultima relazione pu` o essere fuorviante, per- ch`

Dipartimento Interuniversitario di Matematica Universit` a di Bari. MATLAB: Elementi di Algebra

In generale al pas- so i dell’eliminazione di Gauss, ordiniamo le righe e le colonne da i a n in modo da por- tare l’elemento pi` u grande in valore assoluto in posizione i, i..