• Non ci sono risultati.

Metodi numerici per ODE

N/A
N/A
Protected

Academic year: 2021

Condividi "Metodi numerici per ODE"

Copied!
20
0
0

Testo completo

(1)

Metodi numerici per ODE

(2)

Problema di Cauchy

Consideriamo un’equazione differenziale (sistema di equazioni) del primo ordine in forma normale con condizioni iniziali

assegnate.

 y 0 (x ) = f (x , y (x )) x ∈ [x 0 , x F ] y (x 0 ) = y 0

 

 

 

 

y 1 0 (x ) = f 1 (x , y 1 (x ), . . . , y n (x )) y 2 0 (x ) = f 2 (x , y 1 (x ), . . . , y n (x ))

. . . x ∈ [x 0 , x F ]

y n 0 (x ) = f n (x , y 1 (x ), . . . , y n (x ))

y 1 (x 0 ) = y 0 (1) , y 2 (x 0 ) = y 0 (2) , . . . , y n (x 0 ) = y 0 (n)

Si ricordi che un’equazione differenziale di ordine n esprimibile

in forma normale, pu `o essere sempre ricondotta a un sistema

di n equazioni differenziali di ordine uno.

(3)

Questioni teoriche: esistenza e unicit `a della soluzione

Teorema Sia f(x, y) una funzione definita nella striscia

S = {(x , y )| x ∈ [x 0 , x F ]; y ∈ R n }, ivi continua rispetto a x e a y e che gode di una condizione di Lipschitz rispetto a y in S, ossia esiste L > 0 (costante di Lipschitz) tale che

kf (x, y 1 ) − f (x , y 2 )k ≤ Lky 1 − y 2 k per ogni y 1 , y 2 ∈ R n e per ogni x ∈ [x 0 , x F ].

Allora per ogni ¯ x ∈ [x 0 , x F ] e per ogni ¯ y ∈ R n esiste una e una

sola funzione y (x ) continua e differenziabile con continuit `a in

[x 0 , x F ] tale che y (x ) soddisfa y 0 (x ) = f (x , y (x )) in [x 0 , x F ] e

y (¯ x ) = ¯ y .

(4)

Questioni teoriche

Dipendenza continua dai dati: si studia il comportamento della soluzione quando la pertubazione sul dato iniziale tende a zero.

Condizionamento: perturbazione sul dato iniziale fissata.

Infatti non possiamo farla tendere a zero!

Il condizionamento `e legato a ∂f /∂y .

Se ∂f /∂y < 0, le soluzioni ottenute a partire da differenti valori iniziali tendono a diminuire la loro distanza per x crescente.

Il problema `e ben condizionato (stabile).

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35

0 0.2 0.4 0.6 0.8 1 1.2 1.4

dato iniziale dato perturbato soluzione sol. prob. perturbato

(5)

Questioni teoriche

Se ∂f /∂y > 0, segue che la distanza tra due soluzioni ottenute a partire da valori iniziali di poco diversi, aumenta al crescere di x. Il problema `e mal condizionato (instabile).

0 0.005 0.01 0.015 0.02 0.025 0.03

0 5 10 15 20 25

dato iniziale dato perturbato soluzione sol. prob. perturbato

(6)

Metodi numerici

Nelle applicazioni, si richiede che f (x , y ) sia sufficientemente regolare, ossia che ammetta derivate parziali continue e limitate fino all’ordine p, con p > 1, in S.

La risoluzione numerica del problema di Cauchy si basa su una discretizzazione del dominio I = [x 0 , x F ] che pu `o essere fatta a passo costante o a passo variabile.

Si decompone I in µ sottointervalli di ampiezza h n , con i nodi dati da

x n = x 0 +

n

X

j=1

h j .

Se h n = h, allora x n = x 0 + nh. In tal caso la discretizzazione `e a passo costante. Ci `o capita raramente nelle applicazioni.

I metodi numerici risolutivi si propongono di determinare una

successione di valori y n , n = 1 . . . , µ, ove y n rappresenta una

approssimazione della soluzione analitica incognita in x n , ossia

y n `e una approssimazione di y (x n ).

(7)

Metodi numerici

Il valore di y n si ottiene mediante approssimazioni calcolate in k passi precedenti.

Se k = 1, si parla di metodi ad un passo.

In questo caso y n viene calcolato a partire dall’approssimazione y n−1 .

Se k > 1, si parla di metodi multipasso.

(8)

Metodo di Eulero

Metodo semplice da illustrare ma non efficiente nella maggior parte delle applicazioni.

x i+1 = x i + h, y i+1 = y i + hf (x i , y i ), i = 0, . . . , µ − 1

E un metodo di ordine 1. `

(9)

Metodi Runge Kutta

Formula generale

y i+1 = y i + h

s

X

j=1

b j f j dove

f 1 = f (x i , y i ), f j = f (x i + c i h, y i + h

j−1

X

l=1

a jl f l ), j = 2, . . . , s

Il numero s indica il numero di stadi ovvero il numero di

valutazioni della funzione f .

(10)

Esempi di metodi Runge Kutta

Il metodo di Heun

Utilizza due valutazioni funzionali (due stadi).

E’ un metodo di ordine 2.

x i+1 = x i + h, y i+1 = y i + h

2 (f 1 + f 2 ) dove

f 1 = f (x i , y i ), f 2 = f (x i + h, y i + hf 1 )

(11)

Esempi di metodi Runge Kutta

Il metodo a tre stadi di ordine 3 y i+1 = y i + h

6 (f 1 + 4f 2 + f 3 ) dove

f 1 = f (x i , y i ) f 2 = f (x i + h

2 , y i + h

2 f 1 )

f 3 = f (x i + h, y i + h(2f 2 − f 1 ))

(12)

Attenzione: il numero di stadi NON `e pari all’ ordine del metodo!

Butcher ha provato una relazione tra il numero s degli stadi di una formula Runge Kutta esplicita e il suo ordine k .

s 1 2 3 4 5 6 7 8 9

k 1 2 3 4 4 5 6 6 7

(13)

Considerazioni pratiche: scelta del metodo

Metodo accurato: richiede pi `u valutazioni funzionali ad ogni passo, ma generalmente l’accuratezza richiesta `e raggiunta con h ”non troppo piccolo” ⇒ maggiore efficienza.

0 1 2 3 4 5 6

0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4

soluzione esatta eulero passo h=0.3 heun passo h=0.3

1 1.5 2

soluzione esatta eulero passo h=0.1 heun passo h=0.1

(14)

Considerazioni pratiche: scelta del passo

Passo troppo piccolo comporta elevato costo sia in termini di calcolo che di occupazione della memoria.

In ogni caso non posso scendere sotto una certa soglia in quanto gli errori di arrotondamento supererebbero quelli locali di troncamento.

Il passo deve essere scelto in modo che il metodo sia

numericamente stabile.

(15)

Considerazioni pratiche: scelta del passo

Il passo deve essere tale che (λh) appartenga ad una certa regione: la regione di assoluta stabilit `a del metodo.

Regioni di assoluta stabilit `a dei metodi RK

Ordine Intervalli di assoluta stabilit `a

1 (-2,0)

2 (-2,0)

(16)

Considerazioni pratiche: scelta del passo

Scelta di h : il pi `u grande possibile in modo da ottenere una soluzione approssimata entro una certa tolleranza.

Quale criterio uso per fare ci `o? In generale si usa un

criterio che si basa sulla stima dell’errore locale (di

troncamento).

(17)

Scelta del passo

Supponiamo di avere un metodo di ordine p y n+1 = y n + h n Φ(x n , y n )

e consideriamo la soluzione locale del problema che passa per il punto (x n , y n )

 u 0 (x ) = f (x , u(x )) x ∈ [x n , x F ] u(x n ) = y n

L’ errore locale in x n+1 `e definito come

el(x n+1 ) = y n+1 − u(x n+1 ), mentre l’errore globale `e

eg(x n+1 ) = y n+1 − y (x n+1 ).

Sappiamo che el(x n+1 ) = O(h p+1 ) e che eg(x n+1 ) = O(h p ).

Stimare l’errore globale `e problematico. In generale si lavora su

(18)

Scelta del passo

Fissiamo una tolleranza tol (accuratezza richiesta) e

consideriamo un secondo metodo di ordine superiore a p, per esempio di ordine p + 1. Abbiamo perci `o una coppia di metodi che a partire dal punto (x n , y n ) ci forniscono due

approssimazioni di ordine diverso nel punto successivo x n+1 : y n+1 = y n + h n Φ(x n , y n )

y ˆ n+1 = y n + h n Φ(x ˆ n , y n ).

Si dimostra che |el(x n+1 )| ≈ |ˆ y n+1 − y n+1 |.

(19)

Scelta del passo

Se la stima dell’errore locale ottenuta con il passo h n `e inferiore alla tolleranza fissata, il passo usato va bene e si accetta il valore y n+1 . In caso contrario il passo utilizzato `e troppo grande e si deve ripartire da (x n , y n ) con un passo pi `u piccolo, in

genere si dimezza.

Scelta automatica del passo

Fisso un passo iniziale h 0 = H e vado in x 1 . Calcolo la quantit `a

el 1 . Fino a quando |el 1 | > tol, dimezzo il passo h 0 = h 0 /2,

torno in x 0 e ripeto. Quando el 1 ≤ tol accetto il passo h 0 . Sono

nel nuovo punto x 1 . Con che passo mi muovo per andare nel

punto successivo?

(20)

Scelta del passo

In genere non si usa quello precedente, ma si usa un passo tentativo che dovrebbe garantire che l’approssimazione calcolata sia accurata:

h 1 = 0.9

p+1

s

tol el 1 h 0 .

Con questo passo vado in x 2 , stimo l’errore locale...

In generale, supponiamo di essere arrivati in x n con passo h n−1 , che abbiamo accettato. Il passo tentativo per trovare l’approssimazione successiva sar `a

h n = 0.9

p+1

s

tol

el n h n−1 .

Riferimenti

Documenti correlati

La curva verde, corrispondente al guadagno 20, raggiunge il valore 0 dB prima che la fase abbia raggiunto i −180 ◦ e corrisponde quindi al comportamento stabile; all’opposto, la

Nel caso semplice in cui modulo e fase del guadagno d’anello sono funzioni mo- notone della frequenza la condizione che il tracciato di Nyquist racchiuda o meno il punto di

La curva verde, corrispondente al guadagno 20, raggiunge il valore 0 dB prima che la fase abbia raggiunto i −180 ◦ e corrisponde quindi al comportamento stabile; all’opposto, la

le osservazioni equidistanti dalla mediana (coincidente in questo caso col massimo centrale) presentano la stessa.

 Impostare Studente.corsoLaurea = nome; è corretto (metodo statico, campo statico)... Metodi statici privati.  A volte un

• Se nella costruzione della tabella si ottiene una riga tutta nulla (pu`o acca- dere solo per una riga dispari), gli zeri dell’equazione ausiliaria che si ottiene dalla riga

• Se nella costruzione della tabella si ottiene una riga tutta nulla (pu`o acca- dere solo per una riga dispari), gli zeri dell’equazione ausiliaria che si ottiene dalla riga

• Se gli autovalori della matrice jacobiana A del sistema considerato han- no parte reale negativa, l’origine `e un punto di equilibrio asintoticamente stabile per il sistema