next up previous contents index
Next: 5 SISTEMI CONSERVATIVI: UN Up: 4 DISCRETIZZAZIONE Previous: 4.3 DISCRETIZZAZIONE CONSERVATIVA

4.4 METODI DI INTEGRAZIONE NUMERICA

 

Sommario Quando un sistema dinamico non è integrabile mediante un'espressione analitica esplicita, il che si verifica nella stragrande maggioranza dei casi, può essere necessario usare un procedimento che fornisca un'approssimazione della soluzione. Un metodo di integrazione numerica è quindi un algoritmo che definisce un sistema dinamico discreto le cui soluzioni tex2html_wrap_inline34432 approssimano la soluzione del sistema dinamico continuo su una successione di tempi, per esempio tex2html_wrap_inline40612 . Esistono moltissimi metodi di integrazione numerica, e qui ne presentiamo soltanto alcuni, commentando i rispettivi vantaggi e svantaggi.

Metodi simplettici a scorrimento

Come si è visto nella dimostrazione del teorema della mappa standard , gli scorrimenti  sono mappe conservative del piano in se stesso. Perciò, se si vuole in qualche modo approssimare un sistema continuo conservativo con un sistema discreto pure conservativo, si possono cercare dei metodi di approssimazione che consistano in una sequenza di scorrimenti. Questi metodi vanno sotto il nome di metodi simplettici a scorrimento  .

Per integrare il sistema dinamico derivato da un sistema newtoniano di dimensione 1

displaymath37718

usiamo per esempio una sequenza di tre scorrimenti, alternando l'aggiornamento della x e della y:

displaymath40620

Cerchiamo quindi di determinare i tre coefficienti tex2html_wrap_inline40622 in modo che il metodo abbia ordine di troncamento  2, cioè con errore di troncamento locale tex2html_wrap_inline40624 . Per ottenere questo, basta imporre che risolva esattamente il caso f(x)=2, con soluzione per esempio tex2html_wrap_inline40628 :

displaymath40630

La soluzione non è unica, ma esiste una sola soluzione che ha la notevole proprietà aggiuntiva di essere reversibile  , cioè di dare (x,y) a partire da (x',y') se il metodo viene applicato con passo -h; per avere questa proprietà occorre che tex2html_wrap_inline40638 , quindi la soluzione è tex2html_wrap_inline40640 :

displaymath40642

Esempio:

Per una trattazione più ampia dei metodi di integrazione simplettici  si veda [Yoshida 93].

Metodi di Runge-Kutta

Una classe importante di metodi di integrazione numerica va sotto il nome di Runge e Kutta. Dato il sistema dinamico

displaymath40652

un metodo di Runge-Kutta   ad s passi intermedi è un sistema dinamico discreto la cui mappa tex2html_wrap_inline40656 è della forma

displaymath40658

dove h è il passo  e tex2html_wrap_inline40662 sono approssimazioni di valori intermedi ottenuti con le formule

displaymath40664

Se la matrice tex2html_wrap_inline40666 è tale che tex2html_wrap_inline40668 per tex2html_wrap_inline40670 , il metodo è esplicito   ed i valori intermedi tex2html_wrap_inline40672 si possono calcolare in sequenza, altrimenti il metodo è implicito   e le equazioni per gli tex2html_wrap_inline40672 vanno risolte ad ogni passo. La soluzione di questo sistema di equazioni esiste ed è unica per h abbastanza piccolo; infatti si tratta di un'equazione del tipo del punto unito , e per h piccolo il secondo membro è una contrazione  (in un intorno di X).

Lo stesso metodo si potrebbe applicare anche ad un sistema di equazioni differenziali non autonomo

displaymath40682

con il solito procedimento di omogeneizzazione , cioè aggiungendo un'equazione per la variabile tex2html_wrap_inline40684 :

displaymath40686

Questo significa usare la formula modificata per il calcolo dei valori intermedi

displaymath40688

dove i tempi intermedi sono tex2html_wrap_inline40690 dati dai coefficienti

displaymath40692

Lo scopo di un metodo di Runge-Kutta, come di ogni metodo di integrazione numerica, è quello di approssimare X(t+h) con X', supponendo che X=X(t). Il principale requisito per un metodo di integrazione numerica accurato è quello di avere un ordine di troncamento   più grande possibile. L'ordine è q se la differenza tra l'approssimazione discreta tex2html_wrap_inline40702 e la soluzione esatta X(t+h) è infinitesimo di ordine q+1 rispetto al passo h per tex2html_wrap_inline40710 :

displaymath40712

Per imporre che il metodo sia di ordine q si può richiedere che risolva esattamente le equazioni differenziali che hanno come soluzioni dei polinomi di grado fino a q: in altri termini le equazioni

displaymath40718

devono essere risolte esattamente. Applicando un metodo di Runge-Kutta a queste equazioni si trovano delle condizioni sui coefficienti tex2html_wrap_inline40720 . Se tex2html_wrap_inline40722 è la soluzione esatta,

displaymath40724

displaymath40726

Si noti che se i tex2html_wrap_inline40728 sono già stati scelti, questo è un sistema lineare con incognite tex2html_wrap_inline40730 e come matrice dei coefficienti la matrice di Vandermonde   tex2html_wrap_inline40732 ; il sistema è quadrato se si richiede che l'ordine sia s, e in tal caso ha soluzione unica se i tex2html_wrap_inline40728 sono diversi tra loro (perché il determinante della matrice di Vandermonde tex2html_wrap_inline40738 è diverso da zero).

Vediamo allora alcune soluzioni di queste equazioni: per esempio, se cerchiamo un metodo di ordine 2 a 2 passi intermedi, abbiamo un sistema di due equazioni in quattro incognite:

displaymath40740

che ha soluzione per ogni coppia di valori diversi di tex2html_wrap_inline40742 arbitrariamente scelti; per esempio per tex2html_wrap_inline40744 abbiamo tex2html_wrap_inline40746 . Bisogna poi soddisfare alle condizioni per cui le tex2html_wrap_inline40728 sono somma delle righe di A; l'unica soluzione che dia un metodo esplicito (con tex2html_wrap_inline40752 ) è tex2html_wrap_inline40754 . In conclusione un metodo di Runge-Kutta esplicito di ordine 2 è dato dalle formule

displaymath40756

Se invece cerchiamo un metodo ad un solo passo intermedio e di ordine 2, è chiaro che non potrà essere esplicito (avendo una matrice A di tipo tex2html_wrap_inline40760 , questa non può essere nulla sulla diagonale, altrimenti è nulla e si ottiene un metodo di ordine 1). Abbiamo allora due equazioni, nelle due sole incognite tex2html_wrap_inline40762 :

displaymath40764

La soluzione in questo caso è unica, con tex2html_wrap_inline40766 ; il metodo è implicito, nel senso che il valore intermedio appare nell'equazione del punto unito:

displaymath40768

e solo dopo aver risolto questa (per esempio per approssimazioni successive ) si può calcolare il nuovo punto:

displaymath40770

Teorema dei metodi di Runge-Kutta conservativi :  Il metodo di Runge-Kutta implicito ad 1 passo intermedio e di ordine 2 è conservativo, nel senso che se applicato ad un sistema newtoniano ad un grado di libertà  fornisce un sistema dinamico discreto conservativo.

Dimostrazione omessa.

In effetti vale un risultato molto più generale: se applicato ad un sistema hamiltoniano , il metodo di Runge-Kutta con s=1 ed ordine 2 è un metodo di integrazione simplettico  , cioè la mappa del sistema dinamico discreto è una trasformazione canonica . Perciò questo metodo, pur non essendo un'approssimazione accurata del sistema dinamico continuo corrispondente, può essere valida come metodo di integrazione numerica quando abbiano importanza solo le proprietà qualitative della soluzione.

Esempio:

Costruire metodi con ordine di troncamento  superiore al secondo non è tanto facile, ma si conoscono molte soluzioni. Prendiamo per esempio l'ordine 4: il metodo di Runge-Kutta classico   (il primo ad essere stato scoperto, ed ancora largamente in uso) è di ordine 4 con 4 passi intermedi, e con la seguente scelta dei tempi intermedi:

displaymath40794

Da qui il sistema di 4 equazioni lineari nelle 4 incognite tex2html_wrap_inline40730

displaymath40798

con soluzione unica:

displaymath40800

Si definisce così il metodo di Runge-Kutta classico, che può essere espresso in termini dei valori intermedi del secondo membro

displaymath40802

Un metodo di quarto ordine, anche se non ha la proprietà di essere simplettico, può essere usato con un passo abbastanza piccolo per ottenere soluzioni che siano quantitativamente molto simili a quelle esatte (Figura 4.9). Bisogna però fare attenzione a non usare il risultato dell'integrazione numerica per dedurne delle proprietà qualitative; per esempio, in un sistema newtoniano si introduce una ``dissipazione numerica''.

A titolo di esempio di un metodo ancora più accurato, che però richiede un numero maggiore di valutazioni del secondo membro per ogni passo, diamo i coefficienti dell'unico metodo implicito di ordine 4 a due passi intermedi, detto metodo di Runge-Kutta-Gauss  :

displaymath40804

Anche il metodo di Gauss è un metodo di integrazione simplettico , ed ha proprietà di stabilità molto forti: per esempio, è stabile se applicato a qualsiasi sistema lineare stabile.

Per una trattazione completa delle proprietà note dei metodi di integrazione numerica di Runge-Kutta si veda [Butcher 87].

  figure10048
Figure 4.9:  Il pendolo nonlineare conservativo integrato con il metodo di Runge-Kutta classico, di ordine 4 e a 4 passi intermedi, con un passo abbastanza corto (h=0.2). Il risultato appare molto simile alla soluzione esatta, ma se l'integrazione continuasse per un tempo molto lungo l'effetto dissipativo introdotto dalla discretizzazione diventerebbe evidente, per esempio osservando l'andamento nel tempo dell'integrale primo dell'energia.

\


next up previous contents index
Next: 5 SISTEMI CONSERVATIVI: UN Up: 4 DISCRETIZZAZIONE Previous: 4.3 DISCRETIZZAZIONE CONSERVATIVA

Andrea Milani
Thu Aug 14 11:30:04 MET DST 1997