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

Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

Feb 25, 2019

Download

Documents

HoàngNhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

Modellistica e Simulazione

Luigi Iannelli

6 giugno 2011

Luigi Iannelli

Modellistica e Simulazione

Page 2: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 3: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 4: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 5: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 6: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 7: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 8: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 9: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 10: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 11: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 12: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 13: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 14: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 15: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 16: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 17: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 18: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 19: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 20: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 21: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 22: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 23: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 24: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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

Page 25: Modellistica e Simulazione · Modellistica e Simulazione. IntroduzioneGeneralit a sui metodi numerici di integrazionePropriet a dei metodi di integrazioneAlcuni metodi di integrazione

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