• Non ci sono risultati.

11-12Febbraio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale

N/A
N/A
Protected

Academic year: 2021

Condividi "11-12Febbraio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale"

Copied!
192
0
0

Testo completo

(1)

Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale

Massimiliano Martinelli

[email protected]

Università Politecnica delle Marche, Ancona Facoltà di Ingegneria

11-12 Febbraio 2009

M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale

(2)

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

(3)

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

(4)

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

(5)

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) = y0 , . . . , 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

(6)

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) = y0 , . . . , 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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

nxn= 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

nlimFn(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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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 un+1la soluzione ottenuta applicando un passo dell’algoritmo (7) partendo dal dato iniziale yn, ovvero

un+1= yn+ hΦ(xn, yn; h, f )

M. Martinelli Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale

(32)

L’errore globale en+1si può decomporre come en+1= (yn+1− un+1)

| {z }

Eloc

+ (un+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− un+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

(33)

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− un+1)

| {z }

Eloc

+ (un+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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

Riferimenti

Documenti correlati

spizio, devono essere riportati i numeri della sezione e del foglio di censimento. che non trovano reciproco riscontro, devono essere disposti in due distinti

[6J Un metodo

Vengono trascurati gli effetti della spinta e della deformazione flessionale della fusoliera (effetti aeroelastici), nonché gli effetti della variazione del downwash con flap

Soluzione numerica di una EDP =⇒ soluzione di (almeno) un sistema lineare Soluzione di problemi non lineari spesso ricondotta alla risoluzione di una sequenza di sistemi

I metodi iterativi si possono applicare anche alla risoluzione di sistemi non-lineari... Metodi numerici per la risoluzione di

3 Metodi numerici per la risoluzione di sistemi non-lineari Caso unidimensionale?.

Le equazioni iperboliche e paraboliche descrivono problemi evolutivi: in tal caso una delle variabili assume il ruolo di variabile temporale. Richiedono l’uso di condizioni iniziali

CARDINALI FEDERICA  GIOIA  MARIA. CARDUCCI