Sei sulla pagina 1di 11

2

Sistema ODE: definizione


Cosa si intende per sistema di equazioni differenziali alle derivate ordinarie o,
pi in breve, sistema ODE

1
= 1 1 , , , , , 1 0 = 1,0


= ,
= 1 , , , , , 0 = ,0
0 = 0

0 = ,0
= 1 , , , , ,

Il sistema ODE riportato scritto in forma normale, cio ogni sua equazione
differenziale esplicita nella derivata di una delle variabili del sistema.
Un sistema ODE deve sempre essere accoppiato ad un set di condizioni iniziali o
al contorno; noi ci occuperemo di studiare metodi di risoluzione per i soli sistemi
con le condizioni iniziali.
3
Sistema ODE: riduzione in forma autonoma
Un sistema ODE si definisce autonomo se tutte le sue funzioni NON
dipendono esplicitamente dal tempo :

=

0 = 0
Un sistema ODE sempre riconducibile ad un equivalente sistema autonomo
con laggiunta di una ulteriore variabile e di una ulteriore equazione differenziale:
1
= 1 1 , , , , , +1
1 0 = 1,0

= , , , , , +1
1 0 = ,0 =

0 = 0
= 1 , , , , , +1 0 = ,0

+1 0 = 0
+1
=1

4
Integrazione numerica dei sistemi ODE: a
cosa serve?
A risolvere sistemi di equazioni differenziali non lineari (I);
A risolvere sistemi di equazioni differenziali lineari dove la matrice dei coefficienti
del sistema tale che non facile il calcolo dei suoi autovalori/autovettori (II).

I
1 1
= 1 2 + 2 3
1 0 = 1
2 2
2 0 = 4
= 0.011
1 + 2

II
11 12 13 1 0 = 1,0
1 1
2 = 21 22 23 2 2 0 = 2,0
3 31 32 33 3 3 0 = 3,0
5
Integrazione numerica di sistemi ODE:
come si fa?
Le logiche specifiche sui cui si basano i metodi di soluzione numerica di sistemi
ODE sono varie e difficilmente generalizzabili.
Molto spesso si cerca di ricondurre lintegrazione delle equazioni differenziali
alla soluzione di un opportuno numero (di solito molto elevato) di sistemi di
equazioni algebriche.
I sistemi algebrici da risolvere sono lineari o non lineari in funzione delle
caratteristiche del sistema ODE originale da integrare; sistemi ODE lineari generano
di solito sistemi algebrici lineari mentre sistemi ODE non lineari producono spesso
sistemi algebrici non lineari.
Le tre classi di metodi pi comuni per la soluzione di sistemi di equazioni alle
derivate ordinarie scritti in forma normale, con condizioni inziali e autonomi
sono:
Gli algoritmi di tipo Eulero;
Gli algoritmi di tipo Runge-Kutta;
Gli algoritmi di tipo Multi-step/Multi-value.
6
Metodi di tipo Eulero: Eulero forward
Nota la soluzione del sistema ODE ( ) in un instante , si conoscono i valori
delle derivate delle funzioni in ; approssimando, inoltre, il termine

tramite rapporto incrementale si ottiene:
,+1 ,
= = 1

Si ottiene quindi un sistema di equazioni lineari nelle incognite ,+1 , che


costituisce la formula ricorsiva del metodo noto come Eulero forward.

La soluzione del sistema lineare


sopra menzionato analitica e
conduce velocemente ad una
formula esplicita per il calcolo di
+1 :
+1 = +
7
Metodi di tipo Eulero: Eulero backward
Nota la soluzione del sistema ODE ( ) in un instante , si sceglie di
approssimare i valori delle derivate delle funzioni in un instante +1 ,
successivo a , tramite rapporto incrementale; si ottiene:
,+1 ,
= +1 = 1
+1

Si ottiene quindi un sistema di equazioni non lineari nelle incognite ,+1 , che
costituisce la formula ricorsiva del metodo di Eulero backward.

La soluzione del sistema non


lineare stavolta non analitica e
va affrontata per via numerica; la
sua struttura formale risulta:
+1 +1 =
8
Metodi di tipo Eulero: applicazione
iterativa
Le formule viste per i metodi di Eulero forward e backward permettono, nota la
soluzione del sistema ODE in un certo instante di tempo, di trovare
unapprossimazione della sua soluzione ad un instante di tempo successivo, ma
limitrofo al primo.
Queste relazioni vanno quindi iterate, partendo dalla condizione iniziale del
sistema ODE, fino a raggiungere un valore di tempo finale di integrazione
(dettato dal significato fisico delle equazioni differenziali).
Chiaramente, affinch la soluzione numerica delle equazioni differenziali cos
ottenuta sia accurata necessario selezionare valori del parametro , chiamato
passo di integrazione, limitati.
Negli attuali programmi di soluzione numerica di sistemi ODE, la scelta del
parametro automatizzata in modo da garantire buona accuratezza ma, allo
stesso tempo, anche buona efficienza.
Per i metodi di tipo Eulero laggiustamento di viene di solito eseguito per via
iterativa.
9
Metodi di tipo Runge-Kutta
I metodi Runge-Kutta sono unevoluzione dei metodi di tipo Eulero sviluppati
con lo scopo di migliorarne laccuratezza e, a volte, la stabilit.
Si basano su una famiglia di formule ricorsive del tipo:

+1 = +
=1

= + , +
=1

I coefficienti , e sono parametri adattivi; i loro valori definiscono un


particolare metodo Runge-Kutta.
In base al set di , e scelto, un metodo Runge-Kutta pu richiedere la
soluzione di un sistema lineare/non lineare per ricavare, noto , il valore di
+1 .
Come i metodi di tipo Eulero, i metodi di Runge-Kutta si applicano per via
iterativa.
10
Cenni alla stabilit dei metodi di
integrazione numerica di sistemi ODE
Def. Un sistema ODE ben condizionato in un certo istante di tempo se vale
la condizione < 0 = 1 ( il p-esimo autovalore della matrice
jacobiana del sistema di equazioni differenziali e indica loperatore parte reale).
Un sistema ODE ben condizionato un sistema di equazioni differenziali che, se
perturbato in un certo istante di tempo (nella condizione iniziale o nelle sue
funzioni ), non consente a tale perturbazione di amplificarsi a tempi successivi.
Def. Un metodo numerico di integrazione per sistemi ODE si definisce stabile se,
applicato allintegrazione di un sistema ODE ben condizionato, non consente
la propagazione di eventuali perturbazioni presenti sui suoi dati di input (cio i
dati che provengono da un precedente step di integrazione e vengono utilizzati per
stimare la soluzione del sistema differenziale in un successivo istante temporale).
Un metodo numerico per la soluzione di sistemi ODE stabile se tende a non
lasciar accumulare lerrore numerico (generatosi sullapprossimazione della
soluzione del sistema ODE) passo di integrazione dopo passo di integrazione.
11
Cenni alla stabilit dei metodi di
integrazione numerica di sistemi ODE
Mentre il metodo di Eulero backward sempre e incondizionatamente stabile
(cio non consente mai laccumulo dellerrore numerico), il metodo di Eulero
forward non gode di questa propriet.
Il metodo di Eulero backward si presta quindi allintegrazione di ogni tipo di sistema
ODE ben condizionato mente il metodo di Eulero forward ha un campo di
applicazione pi ristretto.
I metodi Runge-Kutta possono essere o non essere dotati di stabilit
incondizionata, in funzione dei valori che i parametri , e assumono; in
particolare solo alcuni di questi metodi in cui il calcolo di +1 non esplicito (cio
richiede la soluzione di un sistema lineare/non lineare) sono sempre stabili.
Si capisce indirettamente che la condizione di stabilit incondizionata va di pari
passo con il fatto che un metodo NON consenta il calcolo analitico di +1 da
.
Ecco quindi perch ha senso studiare metodi di integrazione per sistemi ODE
impliciti in +1 , pi complessi dal punto di vista computazionale di quelli espliciti.