Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Massimiliano Martinelli
Università Politecnica delle Marche, Ancona Facoltà di Ingegneria
11-12 Febbraio 2009
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Equazioni Differenziali Ordinarie
Definizione
Sia I= [x0, b] (o I = [x0, +∞)) e y : I → Cp(I). Sia inoltre f : I × Rp→ R regolare rispetto ad ognuno dei suoi argomenti. Si definisce Equazione Differenziale Ordinaria (ODE, Ordinary Differential Equation) un’equazione del tipo
y(p)(x) = f (x, y(x), y′(x), . . . , y(p−1)(x))
dove p è detto ordine dell’equazione.⇒ Equazione in cui la derivata p-esima della funzione incognita y(x) dipende da x, y(x) e da tutte le sue derivate fino all’ordine p− 1
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Equazioni Differenziali Ordinarie
Osservazione
L’equazione precedente si può riscrivere come un sistema di ODE di ordine 1 y′(x) = F(x, y)
dove abbiamo posto y : I→ Rpe F : I× Rp→ Rpnel seguente modo
y(x) =
y(x) y′(x) ... y(p−1)(x)
F(x, y(x)) =
y2 y3 ... yp f(x, y(x))
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Per definire in modo completo un problema differenziale occorre associare all’ODE in esame alcune condizioni supplementari
Si possono distinguere due tipi diversi di problemi (che devono essere trattati separatamente. Appaiono infatti delle differenze sostanziali sia per l’aspetto teorico che per il trattamento numerico)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Per definire in modo completo un problema differenziale occorre associare all’ODE in esame alcune condizioni supplementari
Si possono distinguere due tipi diversi di problemi (che devono essere trattati separatamente. Appaiono infatti delle differenze sostanziali sia per l’aspetto teorico che per il trattamento numerico)
Problemi di Cauchy (o ai valori iniziali)
( y(p)(x) = f (x, y(x), y′(x), . . . , y(p)(x)) ∀x ∈ I
y(x0) = y0 , y′(x0) = y′0 , . . . , y(p−1)(x0) = y(p−1)0
oppure
y′(x) = F(x, y(x)) ∀x ∈ I y(x0) = y0
(1)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Per definire in modo completo un problema differenziale occorre associare all’ODE in esame alcune condizioni supplementari
Si possono distinguere due tipi diversi di problemi (che devono essere trattati separatamente. Appaiono infatti delle differenze sostanziali sia per l’aspetto teorico che per il trattamento numerico)
Problemi di Cauchy (o ai valori iniziali)
( y(p)(x) = f (x, y(x), y′(x), . . . , y(p)(x)) ∀x ∈ I
y(x0) = y0 , y′(x0) = y′0 , . . . , y(p−1)(x0) = y(p−1)0
oppure
y′(x) = F(x, y(x)) ∀x ∈ I y(x0) = y0
(1)
Problemi ai limiti
Problemi in cui si impongono delle condizioni in alcuni punti distinti
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Problema di Cauchy: esistenza e unicità
Siano F : I× Rp→ Rpe l : I→ R due funzioni continue tali che per ogni x ∈ I e per ogni y, z ∈ Rpvalga
hF(x,y) − F(x,z),y − zi ≤ l(x)||y − z||2
Allora il problema della ricerca di una funzione y : I→ Rpcontinua e derivabile che verifica (1) ammette una ed una sola soluzione
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Problema di Cauchy: esistenza e unicità
Siano F : I× Rp→ Rpe l : I→ R due funzioni continue tali che per ogni x ∈ I e per ogni y, z ∈ Rpvalga
hF(x,y) − F(x,z),y − zi ≤ l(x)||y − z||2
Allora il problema della ricerca di una funzione y : I→ Rpcontinua e derivabile che verifica (1) ammette una ed una sola soluzione
Corollario: teorema di Cauchy-Lipschitz
Sia F : I× Rp→ Rpuna funzione continua e L> 0 tali che per ogni x ∈ I e per ogni y, z ∈ Rpvalga
||F(x,y) − F(x,z)|| ≤ L||y − z||
Allora il problema della ricerca di una funzione y : I→ Rpcontinua e derivabile che verifica (1) ammette una ed una sola soluzione
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso di un problema a valori iniziali, i metodi numerici definiti nel caso scalare si generalizzano senza difficolta al caso vettoriale
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso di un problema a valori iniziali, i metodi numerici definiti nel caso scalare si generalizzano senza difficolta al caso vettoriale
Consideriamo il problema seguente:
Trovare y : I→ C1(I) tale che
y′(x) = f (x, y(x)) ∀x ∈ I
y(x0) = y0 (2)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso di un problema a valori iniziali, i metodi numerici definiti nel caso scalare si generalizzano senza difficolta al caso vettoriale
Consideriamo il problema seguente:
Trovare y : I→ C1(I) tale che
y′(x) = f (x, y(x)) ∀x ∈ I
y(x0) = y0 (2)
Il problema differenziale precedente è equivalente all’equazione integrale seguente:
Trovare y : I→ C1(I) tale che y(x) = y0+
Z x
x0
f(t, y(t)) dt (3)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso di un problema a valori iniziali, i metodi numerici definiti nel caso scalare si generalizzano senza difficolta al caso vettoriale
Consideriamo il problema seguente:
Trovare y : I→ C1(I) tale che
y′(x) = f (x, y(x)) ∀x ∈ I
y(x0) = y0 (2)
Il problema differenziale precedente è equivalente all’equazione integrale seguente:
Trovare y : I→ C1(I) tale che y(x) = y0+
Z x
x0
f(t, y(t)) dt (3)
Questa equivalenza si può sfruttare anche a livello numerico, definendo un opportuno metodo di discretizzazione
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Problema ben posto
Consideriamo il seguente problema:
Dato d trovare x tale che F(x, y) = 0 (4) Si suppone che il problema (4) sia ben posto, ovvero che
∀η> 0 , ∃K(η, d) tale che ||δd|| <η ⇒ ||δx|| ≤ K(η, d)||δd||
Se il problema (4) ammette un’unica soluzione, allora esiste necessariamente una funzione risolvente G tale che
x= G(d) cioè F(G(d), d) = 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Consistenza
Un metodo numerico per la soluzione approssimata del problema F(x, d) = 0 consiste in una sequenza di problemi approssimati
Fn(xn, dn) = 0 (5)
Si spera che lim
n→∞xn= x (convergenza alla soluzione esatta) È necessario che dn→ d e che Fn“approssima” F per n→∞
Se il dato d è ammissibile per Fndiciamo che il metodo numerico (5) è consistente se
nlim→∞Fn(x, d) = lim
n→∞
Fn(x, d) − F(x,d)
= 0 dove x è la soluzione di (4) corrispondente al dato d
Il metodo è fortemente consistente se Fn(x, d) = 0 per qualsiasi valore di n
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Stabilità
Si richiede che, per n fissato, il problema Fn(xn, dn) = 0
ammette un’unica soluzione xncorrispondente al dato dne tale soluzione xn dipende dai dati in maniera continua, ovvero
∀η> 0 , ∃Kn(η, dn) tale che ||δdn|| <η⇒ ||δxn|| ≤ Kn(η, dn)||δdn||
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Stabilità
Si richiede che, per n fissato, il problema Fn(xn, dn) = 0
ammette un’unica soluzione xncorrispondente al dato dne tale soluzione xn dipende dai dati in maniera continua, ovvero
∀η> 0 , ∃Kn(η, dn) tale che ||δdn|| <η⇒ ||δxn|| ≤ Kn(η, dn)||δdn||
In altre parole, significa che la soluzione xn+δxndel problema perturbato Fn(xn+δxn, dn+δdn) = 0
è non si discosta troppo dalla soluzione xn
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Convergenza
Il metodo numerico Fn(xn, dn) = 0 è convergente se e solo se
∀ε> 0 ∃n0(ε), ∃δ(n0,ε) > 0 tale che
∀n > n0(ε), ∀||δdn|| <δ(n0,ε) ⇒ ||x(d) − xn(d +δdn)|| ≤ε (6) dove xn(d +δdn) è la soluzione del problema Fn(xn, d +δdn) = 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Convergenza
Il metodo numerico Fn(xn, dn) = 0 è convergente se e solo se
∀ε> 0 ∃n0(ε), ∃δ(n0,ε) > 0 tale che
∀n > n0(ε), ∀||δdn|| <δ(n0,ε) ⇒ ||x(d) − xn(d +δdn)|| ≤ε (6) dove xn(d +δdn) è la soluzione del problema Fn(xn, d +δdn) = 0
Se poniamo en= x(d) − xn(d +δdn), la definizione precedente equivale a dire che
nlim→∞en= 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Convergenza
Il metodo numerico Fn(xn, dn) = 0 è convergente se e solo se
∀ε> 0 ∃n0(ε), ∃δ(n0,ε) > 0 tale che
∀n > n0(ε), ∀||δdn|| <δ(n0,ε) ⇒ ||x(d) − xn(d +δdn)|| ≤ε (6) dove xn(d +δdn) è la soluzione del problema Fn(xn, d +δdn) = 0
Se poniamo en= x(d) − xn(d +δdn), la definizione precedente equivale a dire che
nlim→∞en= 0
Per un problema ben posto, la condizione (6) equivale a richiedere che
||x(d +δdn) − xn(d +δdn)|| ≤ε 2
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Relazioni tra consistenza, stabilità e convergenza
Convergenza⇒ Stabilità
Sia F(x, d) = 0 un problema ben posto. Se il problema numerico Fn(xn, dn) = 0 è convergente, allora è stabile.
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Relazioni tra consistenza, stabilità e convergenza
Convergenza⇒ Stabilità
Sia F(x, d) = 0 un problema ben posto. Se il problema numerico Fn(xn, dn) = 0 è convergente, allora è stabile.
Consistenza + Stabilità⇒ Convergenza
Sia F(x, d) = 0 un problema ben posto. Se il problema numerico Fn(xn, dn) = 0 è consistente e stabile allora è convergente.
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Relazioni tra consistenza, stabilità e convergenza
Convergenza⇒ Stabilità
Sia F(x, d) = 0 un problema ben posto. Se il problema numerico Fn(xn, dn) = 0 è convergente, allora è stabile.
Consistenza + Stabilità⇒ Convergenza
Sia F(x, d) = 0 un problema ben posto. Se il problema numerico Fn(xn, dn) = 0 è consistente e stabile allora è convergente.
Teorema di Equivalenza o di Lax-Richtmyer
Per un metodo numerico consistente, la stabilità è equivalente alla convergenza
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Discretizzazione del problema
Fissato l’intervallo di integrazione I= [x0, xF], si definisce una successione di nodi di discretizzazione
xi= xi−1+ hi con i= 1, 2, . . .
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Discretizzazione del problema
Fissato l’intervallo di integrazione I= [x0, xF], si definisce una successione di nodi di discretizzazione
xi= xi−1+ hi con i= 1, 2, . . .
Per iniziare, assumiamo un passo di discretizzazione costante, cioè hi= h e quindi
xi= x0+ ih
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Discretizzazione del problema
Fissato l’intervallo di integrazione I= [x0, xF], si definisce una successione di nodi di discretizzazione
xi= xi−1+ hi con i= 1, 2, . . .
Per iniziare, assumiamo un passo di discretizzazione costante, cioè hi= h e quindi
xi= x0+ ih
Usiamo la notazione compatta yi= y(xi)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodi di sviluppo in serie di Taylor
Si suppone che y(x), la soluzione esatta del problema (2), sia di classe Ck+1(I)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodi di sviluppo in serie di Taylor
Si suppone che y(x), la soluzione esatta del problema (2), sia di classe Ck+1(I) Lo sviluppo in serie di Taylor all’ordine k di yn+1= y(xn+1) = y(xn+ h) nell’intorno del punto xnfornisce:
yn+1= yn+
∑k i=1
hi
i!y(i)(xn) + hk+1
(k + 1)!y(k+1)(ξk(xn))
= yn+ h
k i=1∑
hi−1
i! y(i)(xn) + hk
(k + 1)!y(k+1)(ξk(xn))
doveξk(xn) ∈ (xn, xn+1).
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodi di sviluppo in serie di Taylor
Ricordando che y′(x) = f (x, y(x)) =ϕ1(x, y; f ) abbiamo
y′′(x) = fx(x, y) + f (x, y)fy(x, y) =ϕ2(x, y; f ) y′′′(x) = fxx+ f 2fxy+ fyy
+ fy fx+ ffy
=ϕ3(x, y; f ) . . .
y(i)(x) = . . . =ϕi(x, y; f )
Perciò possiamo scrivere
yn+1= yn+ h
∑k i=1
hi−1
i! y(i)(xn) + hk+1
(k + 1)!y(k+1)(ξk(xn))
= yn+ h
∑k i=1
hi−1
i! ϕi(xn, yn; f) + hk+1
(k + 1)!y(k+1)(ξk(xn))
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Supponiamo ora di scegliere una funzioneΦ(x, y; h, f ) tale che lim
h→0Φ(x, y; h, f ) = f (x, y) e di scrivere l’algoritmo ad un passo
u0= y0
un+1= un+ hΦ(xn, un; h, f ) (7)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Supponiamo ora di scegliere una funzioneΦ(x, y; h, f ) tale che lim
h→0Φ(x, y; h, f ) = f (x, y) e di scrivere l’algoritmo ad un passo
u0= y0
un+1= un+ hΦ(xn, un; h, f ) (7)
Analisi dell’errore
Si tratta di valutare la differenza tra la soluzione esatta yn+1e la soluzione (approssimata) un+1calcolata con l’algoritmo (7)
en+1= yn+1− un+1
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Supponiamo ora di scegliere una funzioneΦ(x, y; h, f ) tale che lim
h→0Φ(x, y; h, f ) = f (x, y) e di scrivere l’algoritmo ad un passo
u0= y0
un+1= un+ hΦ(xn, un; h, f ) (7)
Analisi dell’errore
Si tratta di valutare la differenza tra la soluzione esatta yn+1e la soluzione (approssimata) un+1calcolata con l’algoritmo (7)
en+1= yn+1− un+1
Sia u∗n+1la soluzione ottenuta applicando un passo dell’algoritmo (7) partendo dal dato iniziale yn, ovvero
u∗n+1= yn+ hΦ(xn, yn; h, f )
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
L’errore globale en+1si può decomporre come en+1= (yn+1− u∗n+1)
| {z }
Eloc
+ (u∗n+1− un+1)
| {z }
Eprop
Notiamo che la soluzione esatta può anche essere scritta come yn+1= yn+ hΦ(xn, yn; h, f ) + hτnk(y; h)
perciò Eloc= yn+1− u∗n+1= hτnk(h; y) rappresenta il contributo “locale”
dell’errore.
eloc=1hEloc=τnk(h; y) è chiamato errore locale di troncamento Una condizione necessaria per la convergenza, cioè
∀n ||en|| ≤ C(h) con lim
h→0C(h) = 0
è che l’errore locale di troncamento sia infinitesimo con il passo h, ovvero che
hlim→0eloc(h) = 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
La proprietà lim
h→0eloc(h) = 0 esprime la consistenza del metodo Si dice che lo schema è di ordine p se eloc(h) = O(hp) per h → 0 Per un metodo di sviluppo in serie di Taylor di ordine k in cui Φ(x, y; h, f ) =∑ki=1hi−1i! ϕi(x, y) abbiamo eloc= O(hk)
en+1= (yn+1− u∗n+1)
| {z }
Eloc
+ (u∗n+1− un+1)
| {z }
Eprop
Eprop= en+ h Φ(xn, yn; h, f ) −Φ(xn, un; h, f )
è dovuto alla propagazione degli errori
Ad ogni passo un nuovo errore locale viene introdotto, per poi essere successivamente propagato
L’errore globale è formato dall’accumulo successivo degli errori locali La proprietà di stabilità è legata al fatto che questo accumulo non deve essere
“eccessivo” quando h→ 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti
Nel caso particolareΦ(xn, yn; h, f ) = f (x, y) si ottiene il metodo di Eulero in avanti (o esplicito)
un+1= un+ hf (xn, un) per n> 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti
Nel caso particolareΦ(xn, yn; h, f ) = f (x, y) si ottiene il metodo di Eulero in avanti (o esplicito)
un+1= un+ hf (xn, un) per n> 0
Se f è lipschitziana rispetto al secondo argomento, cioè∀x ∈ I verifica
|f (x,y) − f (x,z)| ≤ L|y − z| ∀y,z ∈ R
e inoltre y∈ C2(I) tale che M = maxξ∈I|y′′(ξ)| < +∞allora abbiamo la seguente stima dell’errore:
|en| ≤Mh 2L
eL(xn−x0)− 1
∀x ≥ 0
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti
Nel caso particolareΦ(xn, yn; h, f ) = f (x, y) si ottiene il metodo di Eulero in avanti (o esplicito)
un+1= un+ hf (xn, un) per n> 0
Se f è lipschitziana rispetto al secondo argomento, cioè∀x ∈ I verifica
|f (x,y) − f (x,z)| ≤ L|y − z| ∀y,z ∈ R
e inoltre y∈ C2(I) tale che M = maxξ∈I|y′′(ξ)| < +∞allora abbiamo la seguente stima dell’errore:
|en| ≤Mh 2L
eL(xn−x0)− 1
∀x ≥ 0 Il metodo di Eulero esplicito è allora convergente con en= O(h)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti
Nel caso particolareΦ(xn, yn; h, f ) = f (x, y) si ottiene il metodo di Eulero in avanti (o esplicito)
un+1= un+ hf (xn, un) per n> 0
Se f è lipschitziana rispetto al secondo argomento, cioè∀x ∈ I verifica
|f (x,y) − f (x,z)| ≤ L|y − z| ∀y,z ∈ R
e inoltre y∈ C2(I) tale che M = maxξ∈I|y′′(ξ)| < +∞allora abbiamo la seguente stima dell’errore:
|en| ≤Mh 2L
eL(xn−x0)− 1
∀x ≥ 0 Il metodo di Eulero esplicito è allora convergente con en= O(h)
Stesso ordine di infinitesimo tra errore globale ed errore di troncamento locale
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti: influenza degli errori di arrotondamento
Tenendo conto degli errori di arrotondamento, la soluzione ˜un+1fornita dal calcolatore con il metodo di Eulero in avanti si può scrivere come:
˜u0= y0+η0
˜un+1= ˜un+ hf (xn, ˜un) +ηn+1 per n≥ 0 in cuiηi(con i≥ 0) è l’errore dovuto all’arrotondamento
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti: influenza degli errori di arrotondamento
Tenendo conto degli errori di arrotondamento, la soluzione ˜un+1fornita dal calcolatore con il metodo di Eulero in avanti si può scrivere come:
˜u0= y0+η0
˜un+1= ˜un+ hf (xn, ˜un) +ηn+1 per n≥ 0 in cuiηi(con i≥ 0) è l’errore dovuto all’arrotondamento Si ottiene allora la seguente maggiorazione dell’errore
|yn− ˜un| ≤ eL(xn−x0)h
|η0| +1 L
Mh 2 +η
h
i ∀n ≥ 0
conη= max
1≤i≤n|ηi|
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Metodo di Eulero in avanti: influenza degli errori di arrotondamento
Tenendo conto degli errori di arrotondamento, la soluzione ˜un+1fornita dal calcolatore con il metodo di Eulero in avanti si può scrivere come:
˜u0= y0+η0
˜un+1= ˜un+ hf (xn, ˜un) +ηn+1 per n≥ 0 in cuiηi(con i≥ 0) è l’errore dovuto all’arrotondamento Si ottiene allora la seguente maggiorazione dell’errore
|yn− ˜un| ≤ eL(xn−x0)h
|η0| +1 L
Mh 2 +η
h
i ∀n ≥ 0
conη= max
1≤i≤n|ηi|
Esiste allora un valore ottimale di h, hopt, in corrispondenza del quale l’errore
|yn− ˜un| è minimo:
per h< hoptl’errore di arrotondamento diventa preponderante
per h> hoptil contributo dell’errore di arrotondamento nell’errore globale diventa trascurabile
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
I metodi che utilizzano lo sviluppo in serie di Taylor sono molto interessanti da un punto di vista teorico
Nozione di ordine di precisione
Analisi accurata dell’errore di discretizzazione
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
I metodi che utilizzano lo sviluppo in serie di Taylor sono molto interessanti da un punto di vista teorico
Nozione di ordine di precisione
Analisi accurata dell’errore di discretizzazione
L’uso di un metodo di sviluppo in serie di Taylor non è in generale molto conveniente: ad ogni passo richiede la valutazione di f e di tutte le sue derivate parziali
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
I metodi che utilizzano lo sviluppo in serie di Taylor sono molto interessanti da un punto di vista teorico
Nozione di ordine di precisione
Analisi accurata dell’errore di discretizzazione
L’uso di un metodo di sviluppo in serie di Taylor non è in generale molto conveniente: ad ogni passo richiede la valutazione di f e di tutte le sue derivate parziali
Il metodo più semplice da implementare (Eulero in avanti) converge lentamente (ordine 1)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
I metodi che utilizzano lo sviluppo in serie di Taylor sono molto interessanti da un punto di vista teorico
Nozione di ordine di precisione
Analisi accurata dell’errore di discretizzazione
L’uso di un metodo di sviluppo in serie di Taylor non è in generale molto conveniente: ad ogni passo richiede la valutazione di f e di tutte le sue derivate parziali
Il metodo più semplice da implementare (Eulero in avanti) converge lentamente (ordine 1)
L’obiettivo è quello di avere un metodo di ordine> 1 senza avere gli svantaggi dei metodi di sviluppo in serie di Taylor di ordine elevato
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
I metodi che utilizzano lo sviluppo in serie di Taylor sono molto interessanti da un punto di vista teorico
Nozione di ordine di precisione
Analisi accurata dell’errore di discretizzazione
L’uso di un metodo di sviluppo in serie di Taylor non è in generale molto conveniente: ad ogni passo richiede la valutazione di f e di tutte le sue derivate parziali
Il metodo più semplice da implementare (Eulero in avanti) converge lentamente (ordine 1)
L’obiettivo è quello di avere un metodo di ordine> 1 senza avere gli svantaggi dei metodi di sviluppo in serie di Taylor di ordine elevato
Si possono distinguere due grandi famiglie Metodi di Runge-Kutta
Metodi a più passi (o multistep)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Varianti dello schema di Eulero
Abbiamo visto che, definito il metodo ad un passo un+1= un+ hΦ(xn, un; h, f ) la soluzione esatta si può scrivere come
yn+1= yn+ hΦ(xn, yn; h, f ) + hτn(h; y)
Nel caso del metodo di EuleroΦ(x, y; h, f ) = f (x, y) e quindiτn(h; y) = O(h)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Varianti dello schema di Eulero
Abbiamo visto che, definito il metodo ad un passo un+1= un+ hΦ(xn, un; h, f ) la soluzione esatta si può scrivere come
yn+1= yn+ hΦ(xn, yn; h, f ) + hτn(h; y)
Nel caso del metodo di EuleroΦ(x, y; h, f ) = f (x, y) e quindiτn(h; y) = O(h) L’idea è quella di scegliereΦ(x, y; h, f ) in modo tale cheτn(h; y) abbia ordine di infinitesimo più elevato possibile
ScegliendoΦ(x, y; h, f ) =∑ki=1hii!−1ϕi(x, y; f ) si ha cheτn(h; y) = O(hk), ma questo richiede il calcolo delle derivate parziali di f(x, y)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso k= 2 abbiamo
Φ(x, y; h, f ) =ϕ0(x, y) + hϕ1(x, y)
= f (x, y) + h(fx(x, y) + fy(x, y)f (x, y))
perciò, se vogliamo evitare il calcolo delle derivate parziali di f , dobbiamo scegliere invece diΦ(x, y; h, f ), una funzione eΦ(x, y; h, f ) (in cui non compaiono derivate di f ) tale che
Φ(x, y; h, f ) =e Φ(x, y; h, f ) + O(h2) (8)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Nel caso k= 2 abbiamo
Φ(x, y; h, f ) =ϕ0(x, y) + hϕ1(x, y)
= f (x, y) + h(fx(x, y) + fy(x, y)f (x, y))
perciò, se vogliamo evitare il calcolo delle derivate parziali di f , dobbiamo scegliere invece diΦ(x, y; h, f ), una funzione eΦ(x, y; h, f ) (in cui non compaiono derivate di f ) tale che
Φ(x, y; h, f ) =e Φ(x, y; h, f ) + O(h2) (8) Scegliamo eΦ(x, y; h, f ) = a1f(x, y) + a2f(x + p1h, y + p2hf(x, y)) in cui le costanti a1, a2, p1e p2devono essere determinate in modo da soddisfare (8)
Φ(x, y; h, f ) = ae 1f(x, y) + a2f(x + p1h, y + p2hf(x, y))
= a1f(x, y) + a2
f(x, y + p2hf(x, y)) + p1hfx(x, y + p2hf(x, y))
= a1f+ a2
f+ p2hfyf+ O(h2)
+ p1h fx+ p2hfxyf+ O(h2)
= (a1+ a2)f + ha2 p1fx+ p2fyf
+ O(h2)
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Perché sia
(a1+ a2)f + ha2 p1fx+ p2fyf
= f + h fx+ fyf
deve essere
a26= 0 a1+ a2= 1 p1= p2=2a1
2
In base alla scelta della costante a2abbiamo diversi metodi il cui errore locale di troncamentoτn(h; y) è di ordine 2
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale
Perché sia
(a1+ a2)f + ha2 p1fx+ p2fyf
= f + h fx+ fyf
deve essere
a26= 0 a1+ a2= 1 p1= p2=2a1
2
In base alla scelta della costante a2abbiamo diversi metodi il cui errore locale di troncamentoτn(h; y) è di ordine 2
Metodo di Heun: a1= a2=12, p1= p2= 1 un+1= un+h
2 h
f(xn, un) + f (xn+1, un+ hf (xn, un))i
Metodo di Eulero modificato: a1= 0, a2= 1, p1= p2=12 un+1= un+ hf (xn+12h, un+12hf(xn, un))
M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale