• Non ci sono risultati.

Equazioni differenziali ordinarie

N/A
N/A
Protected

Academic year: 2021

Condividi "Equazioni differenziali ordinarie"

Copied!
28
0
0

Testo completo

(1)

Equazioni differenziali ordinarie

Alvise Sommariva

Universit`a degli Studi di Padova Dipartimento di Matematica Pura e Applicata

(2)

Problema di Cauchy

Si consideri il problema di Cauchy



y′(x) = f (x, y (x)), x ≥ x 0

y(x0) = y0 (1)

dove f `e a valori in Rn e definita in un sottoinsieme Ω di R × Rn,

con (x0, y0) ∈ Ω. Di seguito supporremo che tale problema abbia

(3)

Esempi

Esempio 1.



y′(x) = y (x), x ≥ 0

y(0) = 1 (2)

la cui soluzione `e exp (x). E’ un problema di Cauchy con f(x, y (x)) = y (x). Esempio 2.    y′ 1(x) = −y2(x), x ≥ 0 y′ 2(x) = y1(x), x ≥ 0 y1(0) = 1, y2(0) = 0 (3) la cui soluzione `e y (x) = (y1(x), y2(x)) = (cos (x), sin (x)). E’ un

problema di Cauchy con y = (y1, y2), x0 = 0, y (x0) = (1, 0) e

(4)

Teorema di Cauchy in piccolo

A tal proposito supponiamo che per qualche δ, ǫ > 0 si abbia Sδ,ǫ,x0,y0 ≡ [x0− δ, x0+ δ] × Bǫ(y0) ⊆ Ω,

e che la funzione sia L-lipschitzianain Sδ,ǫ,x0,y0 cio`e esista L > 0

tale che

|f (x, z1)−f (x, z2)| ≤ L|z1−z2|, ∀x ∈ [x0−δ, x0+δ], ∀z1, z2∈ Bǫ(y0).

Vale il seguente teorema di esistenza ed unicit`a (in piccolo)

Teorema. Siano Ω un aperto di R × Rn, f una funzione di Ω in

Rn e (x0, y0) un punto di Ω. Se f `e continua e valgono le condizioni di L-lipschitzianit`a in Sδ,ǫ,x0,y0 (per qualche δ, ǫ > 0)

allora esiste un intervallo aperto contenente x0 nel quale `e definita

(5)

Teorema di Cauchy in grande

Accanto a tale teorema esiste quello di esistenza ed unicit`a (in

grande)

Teorema. Siano Ω = [x0, x0+ a] × Rn, f una funzione di Ω in Rn.

Se f `e continua e valgono le condizioni di L-lipschitzianit`a in Ω

(6)

Metodo di Eulero esplicito

Indichiamo con I(x, x) il pi`u piccolo intv. aperto contenente x e x.

Assumendo che la soluzione sia sufficientemente regolare, abbiamo dalla formula di Taylor per x ≈ x, ξ ∈ I(x, x) e (9)

y(x) = y (x) + y′ (x)(x − x) +y ′′ (ξ)(x − x)2 2 ≈ y (x) + y′ (x)(x − x) = y (x) + f (x, y (x))(x − x) Di conseguenza se si desidera calcolare la soluzione nei punti

xk+1 = x0+ kh = xk+ h con k > 0, ponendo x = xk+1, x = xk

y(xk+1) ≈ y (xk) + h · f (xk, y (xk)). (4)

Il metodo diEulero esplicitoconsiste nell’approssimare y (xk+1) con

yk+1 definito da

yk+1 = yk+ h · f (xk, yk) (5)

(7)

Metodo di Eulero implicito

Similmente al caso di Eulero esplicito, se poniamo invece x = xk,

x = xk+1 abbiamo

y(xk) ≈ y (xk+1) + f (xk+1, y (xk+1))(xk− xk+1), (6)

e quindi

y(xk+1) ≈ y (xk) + h · f (xk+1, y (xk+1)). (7)

Il metodo di Eulero implicito consiste nell’approssimare y (xk+1)

con yk+1 definito da

yk+1= yk + h · f (xk+1, yk+1), (8)

ove y0 = y (x0).

Evidentemente ad ogni iterazione si richiede di risolvere un’eqz. nonlineare nella variabile z del tipo z = yk + h · f (xk+1, z), la cui

(8)

Osservazione

Il problema di Cauchy `e definito da 

y′(x) = f (x, y (x)), x ≥ x 0

y(x0) = y0

(9)

dove f `e a valori in Rn e definita in un sottoinsieme Ω di R × Rn,

con (x0, y0) ∈ Ω. Quindi a priori i metodi di Eulero esplicito

yk+1= yk + h · f (xk, yk), y0= y (x0) (10)

e Eulero implicito

yk+1 = yk + h · f (xk+1, yk+1), y0 = y (x0) (11)

(9)

Analisi convergenza

Supponiamo di analizzare il problema di Cauchy nell’intervallo

compatto I = [x0, xfin]. Sia y la soluzione esatta di un fissato

problema di Cauchy (9) e u(h) l’approssimazione fornita da un

metodo numerico, campionando la soluzione nei punti xs = x0+ sh, con Nh = xfin− x0.

Un tale metodo si dice convergente se

∀n, ky − u(h)k∞≤ C (h)

con C (h) infinitesimo rispetto ad h quando h tende a 0. Se C(h) = O(hp)

per qualche p > 0 allora si dice che il metodo converge con ordine

(10)

Analisi convergenza, I

Consideriamo il metodo di Eulero esplicito, con ascisse equispaziate

per un prefissato passo h. Sia yn= y (xn), con y sol. del problema

di Cauchy, e en= yn− un= (yn− un∗) + (u ∗ n− un) (12) dove u∗ n= yn−1+ h · f (xn−1, yn−1), un= un−1+ h · f (xn−1, un−1).

Il metodo converge se entrambi i termini a secondo membro di (12) convergono a 0 per h → 0. Osserviamo che la prima sequenza

parte dal valore assunto dalla soluzione in xn, mentre la seconda da

(11)

Analisi convergenza, II

Se la derivata seconda di y esiste ed `e continua allora si dimostra che per quanto concerne la sequenza di Eulero esplicito,

yn− u∗n= (h2/2) · y ′′ (ξn) per qualche ξn∈ (tn−1, tn). La quantit`a τn(h) = (yn− un∗)/h

si chiama errore locale di troncamentodel metodo, mentre

τ (h) = max

n=0,...|τn(h)|

(12)

Analisi convergenza, III

Sotto queste condizioni, per il metodo di Eulero espl., posto

M = maxx ∈I|y′′(x)| abbiamo τ (h) → 0 per h → 0 in quanto

0 ≤ τ (h) ≤ Mh/2.

In generale, un metodo per cui τ (h) → 0 per h → 0 si dice

consistente. Da (12) abbiamo

|en| = |yn− un| ≤ |yn− un∗| + |u ∗

n− un| ≤ h|τ (h)| + |un∗− un| (13)

Consideriamo ora il termine u∗

n− un. Se f `e L-Lips. (rispetto al

secondo argomento) si prova che |u∗

n− un| ≤ (1 + hL)|en−1| e

|en| ≤ h|τ (h)| + (1 + hL)|en−1|

≤ h|τ (h)| + (1 + hL)(h|τ (h)| + (1 + hL)|en−2|)

(13)

Analisi convergenza, IV

Di conseguenza, ragionando induttivamente abbiamo da

1 + s + . . . + sk = (1 − sk+1)/(1 − s) che essendo |e 0| = 0, |en| ≤ (1 + (1 + hL) + . . . + (1 + hL)n−1)h|τ (h)| + (1 + hL)n|e0| ≤ 1 − (1 + hL) n 1 − (1 + hL) h|τ (h)| + (1 + hL) n|e 0| ≤ (1 + hL)n− 1 L |τ (h)|

Osservato che (1 + hL)n≤ exp (nhL) e che nh = x

n− x0 , si ottiene |en| ≤ exp (L(xn− x0)) − 1 L τ (h) ≤ exp (L(xfin− x0)) − 1 L · Mh 2

e di conseguenza, da (12), possiamo dire che il metodo di Eulero

(14)

Metodi linear multistep

Posto h > 0, xn= x0+ nh ed n ≥ 0, un metodo si dice linear

multistep (abbr. LM) a p + 1 passi, se `e del tipo

un+1= p X j=0 ajun−j+ h p X j=−1 bjf(xn−j, un−j), n = p, p + 1, . . . (14)

noti i valori uk ≈ y (xk) per k < p e supposto ap, bp6= 0.

Si dimostra che un metodo LM `e consistente se e solo se

p X j=0 aj = 1, − p X j=0 jaj + p X j=−1 bj = 1

e inoltre che se y ∈ Cq+1 per qualche q ≥ 1, il metodo ha ordine q

(15)

Metodi linear multistep: Adams

Da y′ (x) = f (x, y (x)) e y (xn+1) = y (xn−m) + Rxn+1 xn−my ′ (x) dx ricaviamo che y(xn+1) = y (xn−m) + Z xn+1 xn−m f(x, y (x)) dx. Se `e nota una approssimazione della soluzione nei punti

xn+γ, . . . , xn+γ−p e se Pp(x) `e il polinomio che interpola le coppie

(xn+γ−k,f (xn+γ−k, un+γ−k)), si ha

y(xn+1) = y (xn−m) +

Z xn+1

xn−m

Pp(x) dx

(16)
(17)

Convergenza linear LM

Si supponga che i dati iniziali siano calcolati in modo che η(h) = max

i=0,...,p|y (xi) − ui| → 0, per h → 0

e che il metodo sia consistente. Supponiamo inoltre che aj ≥ 0, j = 0, . . . , p

mentre il passo di discretizzazione h sia tale

h≤ 1/(2c), c = L

p

X

j=−1

|bj|,

dove L `e la costante di Lipschitz di f .

Allora il metodo LM converge ed inoltre esistono C1, C2 positive

tali che per ogni n

(18)

Metodi di Eulero in Matlab

(19)

Metodi di Eulero in Matlab

Codice di Eulero implicito, eseguito da Atkinson, Han, Steward: f u n c t i o n [ t , y]= eulero_implicito ( t0 , y0 , t_end , h , fcn , tol ) n = f i x ( ( t_end−t0 ) / h ) + 1 ; t = l i n s p a c e( t0 , t0+(n−1)∗h , n ) ’ ; y = z e r o s( n , 1 ) ; y ( 1 ) = y0 ; f o r i=2: n yt1 = y ( i −1) + h∗f e v a l( fcn , t ( i−1) , y ( i −1) ) ; count = 0 ; d i f f = 1 ;

w h i l e d i f f > tol && count < 10

yt2 = y ( i −1) + h ∗f e v a l( fcn , t ( i ) , yt1 ) ;

(20)

Esercizio

Esercizio:

◮ Implementare i metodi LM della tabella precedente.

◮ Per ognuno di questi, approssimare la soluzione dell’equazione

test dell’esempio 1, nell’intervallo [0, 10], in N punti

equispaziati xn, con N = 2, 4, 8, 16, 32, descrivendone l’errore

kyn− unk∞, dove yn= y (xn) e un l’approssimazione fornita

(21)

Runge Kutta, I

Consideriamo un metodo numerico che definisca una sequenza un

t.c.

y(xn+1) ≈ un+1 = un+ F (xn, un; h)

con

F(x, y ; h) = γ1f(x, y ) + γ2f(x + αh, y + βhf (x, y ))

e determiniamo i parametri γ1, γ2, α, β cos`ı da ottenere un

metodo del second’ordine. Ricordiamo che questo significa che

τ (h) sia O(h2). Per ottenere questo risultato usiamo la formula di

Taylor bivariata. Denotate con fx, fy le derivate parziali rispetto al

primo e secondo argomento di f , abbiamo

(22)

Runge Kutta, II

RIcordiamo che per definizione di errore locale di troncamento: τ (x, h) = y (x + h) − u(x + h)

con u(x + h) calcolata dal metodo qualora u(x) = y (x). Da

f(x+αh, y +βhf (x, y )) = f (x, y )+αhfx(x, y )+βhfy(x, y )f (x, y )+O(h2)

abbiamo che

F(x, y ; h) = γ1f(x, y ) + γ2f(x + αh, y + βhf (x, y ))

= γ1f(x, y ) + γ2(f (x, y ) + αhfx(x, y ) + βhfy(x, y )f (x, y ))

(23)

Runge Kutta, III

Facilmente, dalla formula di Taylor

y(x + h) − y (x) = hy(1)(x) + (h2/2)y(2)(x) + O(h3)

= hf (x, y ) + (h2/2)(fx(x, y ) + fy(x, y )f (x, y )) + O(h3) (16) Ma `e pure u(x + h) − y (x) = hF (x, y ; h) = h(γ1f(x, y ) + γ2(f (x, y ) + αhfx(x, y ) + βhfy(x, y )f (x, y ))) + O(h3) = h(γ1+ γ2)f (x, y ) + h2γ2(αfx(x, y ) + βfy(x, y )f (x, y ))) + O(h3) (17)

Quindi, per confronto tra (15), (16), (17), se γ1+ γ2= 1,

(24)

Runge Kutta 4

La scelta particolare di un maggior numero di vincoli permette, con qualche fatica, di calcolare un metodo di ordine 4. Posto

un+1= un+ h f1+ 2f2+ 2f3+ f4 6 ove f1 = f (tn, un) f2 = h · f (tn+ h 2, un+ h· f1 2 ) f3 = h · f (tn+ h 2· h, un+ h 2f2) f4 = h · f (tn+ h, un+ h · f3) (18)

(25)

Assoluta stabilit´

a, I

Nell’ambito delle equazioni differenziali ordinarie, esistono vari criteri di stabilit´a. Un classico problema `e quello di vedere se un metodo `e assolutamente stabile. Definito il problema di Cauchy



y′(x) = λy (x), x ≥ 0

y(0) = 1 (19)

per un certo λ ∈ C con ℜ(λ) < 0, visto che l’unica soluzione `e

y(x) = exp (λx) si cerca di definire il passo h cosicch`e il metodo

(26)

Assoluta stabilit´

a, II

Ricordiamo a tal proposito che dalla formula di Eulero, se

z = a + ib = ℜ(z) + ℑ(z) allora

exp (z) = exp (a) · (cos (b) + i sin (b)).

Quindi se ℜ(λ) < 0, visto che | cos (ℑ(λx)) + i sin (ℑ(λx))| = 1 e

x > 0 abbiamo

| exp (λx)| = |exp(ℜ(λx))|| cos (ℑ(λx)) + i sin ((ℑ(λx)))| = |exp (ℜ(λx))| → 0, per x → ∞.

Visto il comportamento asintotico di exp (λx), se u(h)(xn) `e

l’approssimazione della soluzione in xn fornita da un metodo

numerico a passo h, si desidera sia u(h)(x

(27)

Assoluta stabilit´

a, III

Nel caso del metodo di Eulero esplicito, si dimostra che ci`o accade

se |1 + hλ| < 1, mentre per il metodo di Eulero implicito ci`o si realizza se |1 − hλ| > 1 cio`e qualsiasi sia h indipendentemente da λ con ℜ(λ) < 0 .

(28)

Assoluta stabilit´

a, esercizio

Esercizio: Approssimare per λ = −100 il valore assunto dalla soluzione y del problema di Cauchy



y′(x) = λy (x), x ≥ 0

y(0) = 1 (20)

nel punto x = 0.2. A tal proposito si utilizzano i metodi di Eulero esplicito e Eulero implicito con passi h = 0.1, h = 0.05, h = 0.02,

Riferimenti

Documenti correlati

In sostanza, la soluzione del nostro problema di Cauchy (P) sar`a quell’(unica) funzione y(t) il cui grafico passa per il punto iniziale (0, y 0 ), ed `e tangente al dato campo

Ad esempio per il punto (−1, −2) si riesce addirittura ad “indovinare” una soluzione esplicita: seguendo la direzione iniziale le direzioni successive sono tutte allineate e quindi

Un sistema per ridurre l’errore insito nel metodo di Eulero consiste nell’inserire nella soluzione i termini di ordine superiore della serie di Taylor. Relativamente semplice

Dalle note propriet` a delle soluzioni delle equazio- ni lineari, discende che ogni soluzione dell’equazione... Dunque la

Dipartimento di Matematica - Universit` a di Trento. 29 ottobre - 6

Per avere un metodo predictor-corrector di ordine 4 usando il metodo di Adams-Bashforth a due passi (metodo di ordine 2) come predictor e il metodo di Adams-Moulton a tre passi

Fioravante PATRONE http://www.diptem.unige.it/patrone homepage Dipartimento di Ingegneria della Produzione, http://tdg.dima.unige.it web teaching Termoenergetica e Modelli

quale valore iniziale del metodo di punto fisso si sceglie il valore fornito da Eulero esplicito... Si calcolino (o plottino in