Richiami ai metodi
numerici per equazioni
differenziali ordinarie
Analisi Numerica
Prof. M. Lucia Sampoli
a.a. 2013/2014
ODE nei problemi applicativi  1

Le leggi fondamentali della fisica, della meccanica, dell’elettricità e
della termodinamica si basano su osservazioni empiriche che
descrivono delle variazioni nelle caratteristiche fisiche e di stato dei
sistemi

In genere tali leggi, invece di descrivere direttamente lo stato dei
sistemi, sono presentate in termini di variazioni spaziali e temporali

I modelli variazionali, combinati con
dell’energia, della massa o dei momenti…
leggi
di
conservazione
 …danno luogo ad equazioni differenziali che, integrate, producono
espressioni matematiche che descrivono lo stato spaziale e
temporale di un sistema, in termini di energia, massa o variazioni
di velocità
ODE nei problemi applicativi  2
Legge
Espressione
matematica
Variabili e parametri
Seconda legge del moto
di Newton
Velocità v, forza F e
massa m
Legge di Fourier sul
calore
Conducibiltà termica k e
temperatura T
Legge di Fick sulla
diffusione
Coefficiente di diffusione
D e temperatura T
Legge di Faraday sulla
caduta di tensione
nell’induttore
Induttanza L e corrente i
Legge di conservazione
della massa
Volume V e
concentrazione c
Equazioni differenziali ordinarie  1
Definizione: Sia
dove
è un intervallo e
è un aperto;
si dice equazione differenziale ordinaria (ODE) di ordine n una
relazione del tipo
dove



è la derivata iesima della funzione
L'ordine di un'equazione è l'ordine massimo di derivazione che vi
compare
L'aggettivo ordinario si riferisce al fatto che l'incognita è una funzione di
una sola variabile
Si parla invece di equazioni differenziali alle derivate parziali quando
l'incognita è funzione di più variabili
Equazioni differenziali ordinarie  2

Equazione differenziale del primo ordine
dy
= f(x,y)
dx
x: variabile indipendente
 y: variabile dipendente solo da x
 L’equazione è ordinaria


La funzione y tale che
descrive una famiglia (infinita) di soluzioni
Esempio

Per l’equazione differenziale ordinaria
una famiglia di soluzioni è data da
con c costante arbitraria
y’ = y
y
y0
x0
x
Esempio

Per l’equazione differenziale ordinaria
una famiglia di soluzioni è data da
0
con C costante arbitraria
3.5
Problemi ai valori iniziali e al contorno

Per definire completamente la soluzione di un’equazione differenziale,
ovvero per scegliere una particolare curva nella famiglia infinita delle
soluzioni, occorre fissare delle condizioni iniziali

In ODE di ordine n, per avere una soluzione unica, occorrono n
condizioni
 Quando tutte le condizioni sono fissate per un medesimo valore
della variabile indipendente si ha un problema ai valori iniziali
 Nei problemi al contorno le condizioni aggiuntive sono fornite,
viceversa, per diversi valori della variabile indipendente
Osservazione

Le equazioni differenziali di ordine n possono essere ricondotte a sistemi
di eq. diff. del primo ordine
y ( n ) ( x )  f ( x, y ( x), y '( x), y ''( x),..., y ( n 1) ( x)) equazione in forma normale

Si pone z1 ( x)  y ( x), z2 ( x)  y '( x),..., zn ( x)  y ( n 1) ( x)


z1 ( x)  z2 ( x)


z2 ( x)  z3 ( x)




 zn 1 ( x)  zn ( x)
 
 zn ( x)  f ( x, z1 ( x), z2 ( x),..., zn ( x))
 z1 (a)  y1,0
 z (a)  y
 2
2,0
con condizioni 


 zn (a)  yn ,0
Il problema di Cauchy

Definisce la forma generale dei problemi ai valori iniziali
(IVP  Initial Value Problem)
con:

condizione iniziale y(x0)=y0

intervallo di integrazione [a,b]
Esistenza ed unicità

Prima di risolvere numericamente un’equazione differenziale
bisogna essere sicuri che il problema di Cauchy ammetta
un’unica soluzione y(x).
Teorema: Se la funzione f è continua in I × R e lipschitziana
rispetto a y, cioè esiste L > 0 tale che
|f (x, y1 ) - f (x, y 2 )|  L |y1 - y 2 | x  I, y1, y 2  R
allora esiste una ed una sola y : I × R soluzione del problema
di Cauchy.
Dipendenza continua dai dati

Consideriamo il seguente problema:
z'(x) = f (x, z(x)) +  (x)

z(x 0 ) = y 0 +  0 .

per t  I
Definizione: Sia I un insieme limitato. Il problema di
Cauchy si dice stabile secondo Liapunov (totalmente
stabile) se per ogni perturbazione (δ0, δ(x)) che soddisfa
|δ0|<ε e |δ(x)|<ε per ε>0
la soluzione z del problema perturbato verifica:
C > 0 indipendente da  tale che: |y(x) - z(x)| <C

La sola ipotesi di uniforme lipschitzianità di f rispetto a y è
sufficiente a garantire la stabilità del pb. di Cauchy
Dipendenza continua dai dati - 2
Vale il seguente risultato:
Teorema: Se la funzione f è continua in I × R e lipschitziana
rispetto a y, allora chiamate y(x,y0) e con y(x,y1) le
soluzioni dei pb. di Cauchy

 y'(x) = f (x, y(x))

 y(a) = y 0
 y'(x) = f (x, y(x))

 y(a) = y1
allora vale la disuguaglianza: y ( x, y0 )  y ( x, y1 )  e L x  a y1  y0

Dal punto di vista numerico la dipendenza continua dai
dati e’ essenziale, dato che si lavora sempre con quantita’
approssimate (prima caratterizzazione di condizionamento
del probema)
Metodi numerici
Per la soluzione numerica di equazioni differenziali si suppone che il
problema sia ben posto (i.e. esista unica la soluzione) e che dipenda con
continuità dai dati iniziali (hp. cruciale dal punto di vista numerico). Tali
condizioni sono verificate, per esempio, se la funzione f è uniformemente
lipschitziana rispetto a y.
Tutti i metodi sono basati sull’idea di discretizzare l’intervallo di
integrazione [a,b], mediante un insieme di rete IN={xnε[a,b]: xn= xn-1+ hn,
xn=b}, e di approssimare la soluzione mediante una funzione di rete {yn,
n=0,…N}


I vari metodi numerici si distinguono per come costruiscono la funzione di
rete {yn}. Essi possono essere raggruppati in 2 classi principali:

1.
2.
Metodi one-step: il valore yn+1 viene calcolato utilizzando solo yn.
Metodi multistep il valore yn+1 viene calcolato utilizzando k approssimazioni
precedenti yn, yn-1,…, yn-k+1.
Il metodo di Eulero

La derivata prima fornisce direttamente la pendenza nel
punto xi
dove f(xi,yi) è l’equazione differenziale valutata in (xi,yi)

Pertanto la formula di Eulero è:
y
 Si calcola un nuovo valore di yi+1
servendosi della pendenza (uguale
alla derivata prima calcolata nel
punto di partenza xi) per
estrapolare linearmente lungo
l’intervallo h
stimato
vero
} errore
h
x
xi
xi+1
Errore di troncamento

Per valutare la bontà di un metodo si introduce l’errore di
troncamento:
Definizione: si definisce errore di troncamento locale la
quantita’:
 i 1  y ( xi 1 )  y ( xi )  h  ( xi , y ( xi ), y ( xi 1 ), h)
ovvero la quantità a meno della quale la soluzione continua
soddisfa il metodo discreto. Si definisce poi l’errore di
troncamento unitario ti+1=1/h τi+1
 Per i metodi one-step espliciti si può dare una semplice
interpretazione geometrica dell’errore di troncamento locale.
 Posto  z '( x)  f ( x, z ( x))



z ( xi )  yi
yi 1  z ( xi )  h  ( xi , z ( xi ), h)

 i 1  z ( xi 1 )  yi 1
Errore globale di discretizzazione

L’errore globale di discretizzazione e’ definito come
ei 1  y ( xi 1 )  yi 1  [ y( xi 1 )  z ( xi 1 )]  [ z ( xi 1 )  yi 1 ]
(*)
(**)
il termine (*) e’ la differenza tra due soluzioni del PVI
esso dipende
da quanto le soluzioni si discostano tra loro ( dipende da come si sono
propagati gli errori locali di troncamento introdotti ai passi precedenti)
 Il termine (**) e’ dato dall’errore di troncamento locale e rappresenta
l’errore introdotto al passo (i+1)-esimo.
Definizione: un metodo e’ consistente se limh 0tn+1=0. Esso ha poi ordine p
se tn+1=o(hp)
 Per la convergenza occorre che l’accumulo degli errori locali non esploda
quando h diventa piccolo
stabilita’ (zero stabilita’)

CONVERGENZA = CONSISTENZA +STABILITA’
I metodi di RungeKutta (RK)  1

I metodi RK sono tutti esprimibili attraverso la formula

dove (xi,yi,h) è detta funzione incremento e può essere interpretata
come la pendenza media della funzione nell’intervallo di
integrazione
La funzione  può essere espressa nella forma generale
r
   ajk j
j 1
in cui ai sono costanti e ki sono definite da
k1  f ( xi , yi )
j 1
k j  f ( xi  b j h, h cij ki )
i 1
I metodi di RungeKutta (RK)  2




Il numero di valutazioni della funzione f, r, e’ chiamato numero degli
stadi
Si possono ottenere diversi tipi di metodi RK utilizzando un numero
differente r
Il metodo RK del primo ordine è il metodo di Eulero (r1, a11)
Dopo aver scelto r, i valori delle quantità ai, bi, cij possono essere
calcolati uguagliando opportunamente i termini della formula
generale con i corrispondenti termini della serie di Taylor
RungeKutta del 2° ordine

Vediamo come…
 La versione del secondo ordine della formula RK è
dove
k1  f ( xi , yi )
k2  f ( xi  b h, yi  h c k1 )

Per determinare i valori di a1, a2, b, e c, si ricordi che la serie di
Taylor che esprime yi+1 in termini di yi troncata al 2oordine, è data
da
con
f '( xi , yi )  f x ( xi , yi )  f y ( xi , yi ) f ( xi , yi )
I metodi di RungeKutta (RK)  4

Pertanto si ottiene
h2
yi 1  yi  h f ( xi , yi )  [ f x ( xi , yi )  f y ( xi , yi ) f ( xi , yi )]
2
yi 1  yi  h (a1 f ( xi , yi )  a2 f ( xi  b h, yi  h c f ( xi , yi ))

Le due espressioni ottenute per yi+1 possono quindi essere
eguagliate ma, per far ciò, occorre preventivamente sviluppare in
serie di Taylor l’espressione di k2 in un intorno di (xi,yi)
k 2  f ( xi , y i )  h b f x ( xi , y i )  h c f y ( xi , y i ) f ( xi , y i )

  ( a1  a 2 ) f ( xi , y i )  a 2 h [ b f x ( xi , y i )  h c f y ( x i , y i ) f ( x i , y i )]
1
1
a1  a2  1, a2b  , a2 c 
2
2
I metodi di RungeKutta (RK)  6

Il sistema di tre equazioni in quattro incognite appena descritto non
ammette soluzione unica
 Non esiste un solo metodo del secondo ordine, ma un’intera
famiglia di metodi
 Aumentando il numero degli stadi si costruiscono metodi di ordine
superiore.
 In realta’ Butcher ha dimostrato che solo per metodi di ordine fino a
4 c’e’ coincidenza tra numero di stadi e ordine del metodo. Poi le
cose vanno leggermente peggio:
r4
pr
r  5, 6
r  7,8
p  r 1
p  r 2
r 9
p  r 3
Metodi impliciti

Il metodo di Eulero esplicito (o in avanti) può essere ottenuto
sostituendo la derivata prima con il rapporto incrementale in avanti:
y '( xi ) 

y ( xi 1 )  y ( xi )
hi
Analogamente sostituendo la derivata prima con il rapporto
incrementale all’indietro si ottiene il metodo di Eulero implicito (o
all’indietro)
y '( xi 1 ) 
y ( xi 1 )  y ( xi )
hi
yi 1  yi  h f ( xi 1 , yi 1 )
Metodi impliciti
DEF:
Un metodo si dice esplicito se yi+1 dipende solo dai valori ai passi
precedenti.
Un metodo si dice implicito se yi+1 dipende da se stessa attraverso f.
Questi ultimi richiedono la risoluzione di un problema non lineare se f non
è lineare in y.
 La differenza rispetto alla formula esplicita è che la f è valutata non più
al passo xi ma al passo xi+1. Quindi il calcolo di yi+1 dipende implicitamente
da yi+1 stesso!
La valutazione di yi+1 diventa quindi più laboriosa e complicata (se si ha
un’equazione non lineare in yi+1, la si risolve tramite un metodo di punto
fisso o di Newton-Raphson). Tuttavia, in termini di accuratezza si hanno
risultati migliori.
Metodo di Crank-Nicolson (Trapezi)

Prendendo la media aritmetica delle formule di Eulero
esplicito e implicito:
yi 1  yi  h f ( xi , yi )
yi 1  yi  h f ( xi 1 , yi 1 )

yi 1

h
 yi   f ( xi , yi )  f ( xi 1 , yi 1 ) 
2
Metodo di ordine 2 (può essere visto come un metodo
multistep)
Metodi Predictor-Corrector

Risolvendo un problema di Cauchy non lineare con uno
schema implicito è richiesto, ad ogni passo, la risoluzione di
un’equazione non lineare. Si possono usare: metodi di Punto
Fisso, metodo di Newton, … Ciò richiederà un valore di
innesco (valore iniziale) vicino alla soluzione sia per problemi
di convergenza, sia per diminuire il numero di iterazioni. Ciò
può essere ottenuto usando in coppia un metodo esplicito
(predictor) che fornisce un buon dato iniziale per il metodo
implicito (corrector) che è generalmente più stabile.
Esempio
P:ŷi+1 = yi + hf(xi; yi) Eulero: ordine 1
C:yi+1 = yi + h /2[f(xi; yi) + f(xi+1; ŷi+1)] Trapezi: ordine 2

Metodo di ordine 2
Metodi Predictor-Corrector-2

Si possono usare per uno schema predictor-corrector più varianti:

PECE
P(EC)kE
PEC
P(EC)k


