Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi...

25
Modellistica e Simulazione Luigi Iannelli 6 giugno 2011 Luigi Iannelli Modellistica e Simulazione

Transcript of Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi...

Modellistica e Simulazione

Luigi Iannelli

6 giugno 2011

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Outline

Introduzione

Generalita sui metodi numerici di integrazione

Proprieta dei metodi di integrazione

Alcuni metodi di integrazione

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Equazioni differenziali nello spazio di stato

I Consideriamo solo ODEs.

I Nello spazio di stato:

x(t) = f (x(t), u(t))

x(0) = x0

I Se u(t) e noto, il campo vettoriale dipende da x e dal tempot.

I L’obiettivo e trovare un’approssimazione numerica di x(t) neipunti 0 < t1 < t2 < . . . < tf .

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Motivazioni

I L’algoritmo piu semplice e

xn+1 − xnh

≈ x(tn) = f (tn, xn)

I Quindi xn+1 = xn + hf (tn, xn).

I Questo e il metodo di Eulero (forward, o esplicito).

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Backward Euler

I Un’altra possibilita e

xn+1 − xnh

≈ x(tn+1) = f (tn+1, xn+1)

I Quindi xn+1 = xn + hf (tn+1, xn+1).

I Questa volta xn+1 non puo essere calcolato in manieraesplicita dal valore al passo precedente: Eulero implicito.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Outline

Introduzione

Generalita sui metodi numerici di integrazione

Proprieta dei metodi di integrazione

Alcuni metodi di integrazione

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Metodi multi-step

I Un algoritmo per l’integrazione di ODEs, in generale puoessere descritto dall’equazione

xn+1 = G (t, xn−k+1, xn−k+2, . . . , xn, xn+1)

I Poiche l’algoritmo necessita di k passi precedenti, si parla dialgoritmo multi-step (k passi).

I Se in G non c’e dipendenza da xn+1, si parla di metodoesplicito, altrimenti di metodo implicito.

I Backward Euler e un metodo one-step implicito.

I Forward Euler e un metodo one-step esplicito.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Theta methods

xn+1 = xn + h (θf (tn, xn) + (1− θ)f (tn+1, xn+1)) , θ ∈ [0, 1]

I Se θ = 1 abbiamo Forward Euler (FE).

I Se θ = 0 abbiamo Backward Euler (BE).

I Se θ =1

2abbiamo il metodo trapezoidale.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Metodi multi-step lineariSi consideri la ODE

x = f (t, x)

e si discretizzi l’asse temporale in maniera uniforme con passo h.Un algoritmo di integrazione numerico del tipo

k∑j=0

αjxn+j =k∑

j=0

βj f (tn+j , xn+j)

con αk 6= 0 e detto metodo k-step lineare. Si noti che in generalenon si ottiene una equazione alle differenze lineare.

I Se βk = 0 abbiamo un metodo esplicito.I Se βk 6= 0 abbiamo un metodo implicito.I Se k = 1 abbiamo un metodo one-step.I Esercizio: quanto valgono i coefficienti αj e βj nei casi FE, BE

e trapezoidale?Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Global error

En = x(tn)− xn

I E’ difficile da calcolare

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Local error

en = x(tn)− zn

zn = G (t, x(tn−k), x(tn−k+1), . . . , x(tn−1), zn)

I E’ l’errore ottenuto applicando il metodo ad un solo passo,ipotizzando esatte le informazioni ai passi precedenti.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Esercizio

Calcolare l’errore locale di Forward Euler

en = x(tn)−x(tn−1)−hf (tn−1, x(tn−1)) =1

2h2x(ξ) tn−1 < ξ < tn

I In questo caso l’errore locale e di ordine h2.

I Si puo mostrare che l’errore globale e di ordine h.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Outline

Introduzione

Generalita sui metodi numerici di integrazione

Proprieta dei metodi di integrazione

Alcuni metodi di integrazione

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Convergenza

I Un metodo numerico e detto convergente se la soluzionenumerica converge verso la soluzione esatta quando il passo diintegrazione tende a zero:

limh→0+

maxn=0,1,...

‖ x(tn)− xn ‖ = 0

I Un metodo numerico e detto consistente se

limh→0

enh

= 0

I Un metodo convergente e anche consistente (condizionenecessaria) ma non e vero il viceversa (occorre anche lastabilita).

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Ordine di accuratezza

Notazione Of (x) = O(g(x)) per x → a significa che esistono M e δ tali che|f (x)| ≤ M |g(x)| per ogni |x − a| < δ

I Se l’errore locale e O(hk+1), k e detto ordine di accuratezza.

I L’errore globale si dimostra essere di ordine k .

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Stabilita

I Esempio: x = λx , x(0) = 1.

I Forward Euler: xn+1 = xn + hλxn = (1 + hλ)xn.

I La regione di stabilita dell’algoritmo numerico e il cerchio hλdi raggio 1 centrato in -1.

I Se Re{λ} < 0, esiste un h sufficientemente piccolo pergarantire la stabilita numerica (non garantita in generale).

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

A-stability

I Si consideri l’equazione differenziale lineare

x = λx

I e si applichi un metodo numerico di integrazione multi-steplineare che abbia una regione di convergenzaS = {hλ : limn→∞ xn = 0}. Il metodo si dira A-stabile seC− ⊆ S , ossia se la regione di convergenza dell’equazionedifferenziale e inclusa nella regione di convergenzadell’approssimazione numerica.

I Si noti che A-stabile non vuol dire che vada bene qualsiasipasso di integrazione h: occorre comunque tener contodell’accuratezza.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Esercizio

I Con FE abbiamo visto che S = {hλ : |1 + hλ| < 1} (se h none sufficientemente piccolo la soluzione numerica non e stabileanche se la ODE lo era).

I Con BE

xn+1 − xn = hλxn+1 ⇒ xn+1 = (1− hλ)−1xn

I La regione di stabilita

S =

{z : | 1

1− z| < 1

}= {z : |1− z | > 1}

I e l’esterno del cerchio centrato in +1 di raggio unitario equindi C− ⊂ S .

I BE garantisce la stabilita numerica per ODE lineari stabili.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Limiti alla A-stability

I Tutti i metodi multi-step lineari A-stabili sono impliciti.

I Non tutti i metodi impliciti sono A-stabili.

I Non esistono metodi multi-step lineari A-stabili di ordine diaccuratezza maggiore di 2 (seconda barriera di Dahlquist).

I Il metodo trapezoidale e un metodo multi-step (in particolareone-step) di ordine (di accuratezza) 2 e A-stabile.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Outline

Introduzione

Generalita sui metodi numerici di integrazione

Proprieta dei metodi di integrazione

Alcuni metodi di integrazione

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Un metodo di Runge-Kutta

I x(tn+1) = x(tn) +∫ tn+1

tnf (τ, x(τ))dτ

I Approssimando l’integrando con il valore a meta passo diintegrazione

x(tn+1) = x(tn) + hf (tn + 0.5h, x(tn + 0.5h))

I Per calcolare x(tn + 0.5h) si usa FE:

k1 = f (tn, xn)

k2 = f (tn + 0.5h, xn + h0.5k1)

xn+1 = xn + hk2

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Runge-Kutta methods

k1 = f (tn, xn)

k2 = f (tn + c2h, xn + ha21k1)

k3 = f (tn + c3h, xn + h(a31k1 + a32k2))

...

ks = f (tn + csh, xn + h(as1k1 + . . .+ as,s−1ks−1)

xn+1 = xn + h(b1k1 + . . .+ bsks)

I A seconda dei coefficienti ci e ki e possibile ottenere un ordinedi accuratezza p:

x(tn+1)− xn+1 = O(hp+1)

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Adam’s methods

xn = xn−1 +∑k

j=0 βj fn−j ; fi = f (ti , xi )

I Se β0 = 0 il metodo e esplicito.

I Anche in questo caso e possibile scegliere i coefficienti βj peravere un elevato grado di accuratezza.

Luigi Iannelli

Modellistica e Simulazione

Introduzione Generalita sui metodi numerici di integrazione Proprieta dei metodi di integrazione Alcuni metodi di integrazione

Grado di accuratezza e stabilita numerica

I I metodi impliciti hanno una regione di stabilita in generale piuampia dei metodi espliciti a parita di ordine di accuratezza.

I Aumentando l’ordine di accuratezza, si perde in stabilita (siricordi la seconda barriera di Dahlquist).

I Nelle equazioni stiff (costanti di tempi molto diverse tra diloro) un basso passo di integrazione richiede simulazioni moltolunghe. Aumentando il passo di integrazione si perde lastabilita numerica. Per questo spesso si usano metodiimpliciti.

I Non si dimentichi la possibilita di integrazioni a passovariabile.

Luigi Iannelli

Modellistica e Simulazione

Riferimenti

L. Ljung, T. Glad.Modeling of Dynamic Systems.Prentice Hall, 1994.

P. Fritzson.Principles of Object-Oriented Modeling and Simulation withModelica 2.1.Wiley-IEEE Press, 2004.

E. Suli, D. Mayers.An Introduction to Numerical Analysis.Cambridge University Press, 2003.

Luigi Iannelli

Modellistica e Simulazione