Professional Documents
Culture Documents
Problemi ai limiti
Molti problemi applicativi danno luogo a modelli matematici in cui le grandezze che intervengono
dipendono dalla posizione piuttosto che dal tempo. Nel caso in cui il fenomeno in esame sia
descritto da unequazione differenziale ordinaria il modello deve essere completato con condizioni
al bordo, cio`e condizioni imposte in pi`
u punti.
Esempio
Un problema comune in ingegneria civile riguarda la deflessione di una trave orizzontale di sezione rettangolare soggetta a un carico uniforme mentre gli estremi della
trave sono fissi. Il problema `e descritto dallequazione differenziale non lineare
[1 + (w (x))2 ]3/2
d2 w
S
qx
=
w(x) +
(x l) ,
2
dx
EI
2EI
0 < x < l,
0 < x < l,
e si pu`
o risolvere esattamente quando la sbarra ha spessore uniforme in quanto il
prodotto EI `e costante. In molte applicazioni per`
o lo spessore non `e uniforme quindi
il momento di inerzia I `e una funzione di x e il problema pu`
o essere risolto solo
tramite un metodo numerico.
1
Considereremo qui metodi numerici per la soluzione di equazioni differenziali ordinarie del
secondo ordine del tipo
y = f (x, y, y ) ,
a < x < b,
(1.1)
con condizioni al bordo
y(a) = ,
y(b) = .
(1.2)
f
y
e fz
f
z
max fy (x, y, z) ,
(x,y,z)D
L=
(x,y,z)D
y(a) = ,
a < x < b,
(1.3)
y(b) = .
(1.4)
K y := y + p(x) y + q(x) y .
(1.5)
(1.6)
(1.7)
I metodi alle differenze finite consistono nellapprossimare ciascuna derivata che compare nelle
equazioni differenziali (1.1) o (1.3) con una opportuna formula alle differenze finite.
Prima di tutto introduciamo una discretizzazione dellintervallo [a, b] dividendolo in N + 1
sottointervalli uguali, cio`e introduciamo i nodi equispaziati
xi = a + ih,
i = 0, 1, . . . , N + 1,
h=
ba
.
N +1
(2.1)
(2.2)
(2.3)
1 2
1
h y (xi ) + h3 y (3) (i+ ),
2!
3!
i+ (xi , xi+1 ),
1 2
1
h y (xi ) h3 y (3) (i ),
2!
3!
i (xi1 , xi ).
i (xi1 , xi+1 ) ,
i (xi1 , xi+1 ) ,
(2.4)
y(xi+1 ) y(xi1 )
h2
= y (3) (i ) = O(h2 ).
2h
6
(2.5)
1 4 (4) +
h y (i ),
4!
1 2
1
h y (xi ) + h3 y (3) (xi )+
2!
3!
i+ (xi , xi+1 ),
1 2
1
h y (xi ) h3 y (3) (xi )+
2!
3!
1 4 (4)
h y (i ),
4!
i (xi1 , xi ).
i (xi1 , xi+1 ) ,
i (xi1 , xi+1 ).
(2.6)
2.1
y (i ) = O(h2 ).
h2
12
(2.7)
Sostituendo le formule alle differenze finite centrate (2.4) e (2.6) nellequazione (2.2) si ha
(2.8)
Il metodo alle differenze finite non lineare si ottiene trascurando nella (2.8), che `e una relazione
esatta, gli errori di troncamento (2.5) e (2.7) relativi alle formule alle differenze finite, e sostituendo al valore esatto y(xi ) il valore approssimato yi . Tenendo conto delle condizioni al bordo
(1.2), lo schema numerico diventa
y0 = ,
yN +1 = ,
y
2yi + yi1
i+1
+f
2
yi+1 yi1
xi , y i ,
2h
(2.9)
= 0,
i = 1, 2, . . . , N.
y2
+ 2y1 y2 + h f x1 , y1 ,
= 0,
2h
y3 y1
= 0,
y1 + 2y2 y3 + h f x2 , y2 ,
2h
..........................................................................
(2.10)
yN yN 2
2f x
y
+
2y
y
+
h
,
y
,
= 0,
N 2
N 1
N
N 1 N 1
2h
yN 1
yN 1 + 2yN + h2 f xN , yN ,
= 0.
2h
Prima di passare alla soluzione numerica del sistema non lineare (2.10) si deve verificare se
lo schema alle differenze finite costruito `e convergente, cio`e se
lim max |ei | = 0 ,
(2.11)
h0 1iN
dove
ei := y(xi ) yi
`e lerrore globale di troncamento. Come nel caso dei metodi per la soluzione di problemi ai valori
iniziali, la convergenza `e assicurata se lo schema numerico `e consistente e stabile.
Per studiare la consistenza e la stabilit`
a dello schema alle differenze finite non lineare introduciamo loperatore differenziale discreto (non lineare) (Lh vd )i che agisce su una funzione
+1
discreta vd = {vi }N
i=0 , associata alla discretizzazione (2.1), secondo lo schema alle differenze
(2.9):
vi+1 2vi + vi1
vi+1 vi1
(Lh vd )i :=
+ f xi , vi ,
.
(2.12)
h2
2h
Allora lo schema numerico (2.9) diventa
y0 = ,
yN +1 = ,
(2.13)
(L y ) = 0,
h d i
i = 1, 2, . . . , N ,
+1
dove yd = {yi }N
i=0 .
+1
Tramite la soluzione esatta y(x) si pu`
o definire la funzione discreta ye := {y(xi )}N
i=0 ; allora,
(2.14)
In ciascun nodo, lerrore locale di troncamento dello schema numerico `e definito come la differenza tra loperatore differenziale esatto (L y)(xi ) e loperatore differenziale discreto applicato
alla soluzione esatta (Lh ye )i :
R(xi , y(xi ); h; y; f ) := (L y)(xi ) (Lh ye )i .
(2.15)
+ f
(2.16)
+ f xi , y(xi ),
y(xi+1 ) y(xi1 )
2h
fz (xi , y(xi ), i )
h2 (3)
y (i ) ,
6
y(xi+1 ) y(xi1 )
; i `e un valore incognito compreso tra
2h
y(xi+1 ) y(xi1 ) h2 (3)
y(xi+1 ) y(xi1 )
y (xi ) =
y (i ) e
.
2h
6
2h
Sostituendo la (2.14) e lultima delle (2.16) nella definizione (2.15), per lerrore locale di
troncamento si ottiene lespressione
nella terza variabile con punto iniziale
h2 (3)
h2
y (i ) + y (4) (i ) ,
6
12
(2.17)
dove i e i sono due punti incogniti nellintervallo [xi1 , xi+1 ] e i `e un valore incognito compreso
y(xi+1 ) y(xi1 ) h2 (3)
y(xi+1 ) y(xi1 )
tra y (xi ) =
y (i ) e
.
2h
6
2h
Dalle (2.15) e (2.17) si ottiene per loperatore differenziale esatto lespressione
(L y)(xi ) = (Lh ye )i + R(xi , y(xi ); h; y; f ) =
h2
h2
= (Lh ye )i fz (xi , y(xi ), i ) y (3) (i ) + y (4) (i ) ,
6
12
6
(2.18)
che indica come lerrore locale di trocamento rappresenti lerrore commesso localmente dallo
schema numerico a causa dellapprossimazione delle derivate con le differenze finite.
Poiche R(xi , y(xi ); h; y; f ) = O(h2 ), il metodo `e consistente e del secondo ordine; inoltre `e esatto
per tutti i polinomi di grado 2.
Per quanto riguarda la stabilit`
a , nel caso di operatori discreti non lineari si pu`
o dare la
seguente definizione.
Definizione 2.1. Uno schema alle differenze finite non lineare `e detto stabile se, date due
+1
N +1
funzioni discrete vd = {vi }N
i=0 e ud = {ui }i=0 , definite sulla discretizzazione (2.1), esiste una
costante M tale che
max
0iN +1
La stabilit`
a `e una propriet`
a dello schema numerico e rappresenta la capacit`
a dello schema di
N +1
non amplificare troppo le perturbazioni. Infatti, se con yd = {yi }i=0 indichiamo la soluzione
+1
del problema discreto (2.13), e con yd = {yi }N
i=0 la soluzione del problema discreto perturbato
y0 = y(x0 ) + 0 ,
yN
+1 = y(xN +1 ) + N +1 ,
(L y ) = ,
i
h d i
0iN +1
|i | =
max
0iN +1
|yi
yi |
M max(|0 |, |N +1 |) + max |i |
1iN
(2.20)
Per lo schema alle differenze finite non lineari vale il teorema seguente.
Teorema 2.1. Siano L =
(x,y,z)D
(x,y,z)D
lo schema alle differenze finite non lineari (2.13) `e stabile con M = max(1, 1/Q).
Per il teorema di Lax, la consistenza e la stabilit`
a implicano la convergenza dello schema alle
differenze finite. Osserviamo che la convergenza `e condizionata poiche dal Teorema 2.1 segue
una limitazione per il passo di integrazione in quanto risulta
h
2
.
L
La stabilit`
a fornisce anche una limitazione dellerrore globale. Infatti utilizzando nella disu+1
N +1
guaglianza (2.19) le funzioni discrete ye = {y(xi )}N
i=0 e yd = {yi }i=0 e tenendo conto di (1.6),
0iN +1
|ei |
max
0iN +1
|y(xi ) yi |
| {z }
(2.13)
= 0
(2.18)
(2.21)
{z
(1.6)
= 0
Se valgono le ipotesi del Teorema 1.1 e se h L 2, si dimostra che il sistema non lineare (2.10)
ha ununica soluzione Y = [y1 , y2 , . . . , yN ]T che pu`
o essere approssimata con il metodo di Newton
(cfr. successivo 3 e 3.10 di [4]).
Il metodo di Newton consiste nel generare una successione di approssimazioni
(k)
(k)
(k)
Y (k) = [y1 , y2 , . . . , yN ]T ,
k = 1, 2, ...
(0)
(0)
(0)
"
gi (y1 , . . . , yn )
=
yj
i,j=1,...,n
delle n funzioni
y2
g1 (y1 , . . . , yn ) = + 2y1 y2 + h f x1 , y1 ,
,
2h
y3 y1
g2 (y1 , . . . , yn ) = y1 + 2y2 y3 + h f x2 , y2 ,
,
2h
..........................................................................
yN yN 2
2f x
g
(y
,
.
.
.
,
y
)
=
y
+
2y
y
+
h
,
y
,
,
n1 1
n
N 2
N 1
N
N 1 N 1
2h
yN 1
gn (y1 , . . . , yn ) = yN 1 + 2yN + h2 f xN , yN ,
,
2h
(2.22)
[J(y1 , . . . , yn )]ij
h
yi+1 yi1
1
+
f
x
,
y
,
,
z
i i
2
2h
2 + h2 f x , y , yi+1 yi1 ,
y
i i
=
2h
yi+1 yi1
h
,
1 fz xi , yi ,
2
2h
j = i + 1, i = 1, . . . , N 1,
j = i, i = 1, . . . , N,
j = i 1, i = 2, . . . , N,
(k)
2y1
(k)
y1
(k)
y2
(k)
2y2
(k)
y3
(k)
h2 f
(k)
x1 , y 1 ,
y2
2h
h2 f
(k)
x2 , y 2 ,
y3 y1
2h
(k)
(k)
,...
(k)
(k)
y yN 2
(k)
(k)
(k)
(k)
,
. . . , yN 2 2yN 1 + yN h2 f xN 1 , yN 1 , N
2h
(k)
(k)
(k)
(k) yN 1
yN 1 2yN + h2 f xN , yN ,
2h
T
Allora, lalgoritmo del metodo di Newton genera la successione della approssimazioni Y (k) =
(k) (k)
(k)
[y1 , y2 , . . . , yN ]T , k = 0, 1, . . . , come segue:
Per k = 0, 1, . . . ,
(k)
(k)
(k)
e il vettore
(k)
(k)
(k)
B(y1 , . . . , yn )
(k)
(k)
V = [v1 , . . . , vn ]T
Y (k+1) = Y (k) + V
yi
=+i
h,
ba
i = 1, 2, . . . , N.
Esempio 2.1
Consideriamo il problema ai limiti non lineare
y = (32 + 2x3 yy ),
y(1) = 17,
y(3) =
1 x 3,
43
.
3
Applicando il metodo alle differenze finite non lineare con passo h = 0.1 e nodi xi = 1.0 + ih,
i = 0, 1, . . . , 20, si ottiene il sistema non lineare
1
y2
2
3
2y1 y2 + h
32 + 2x1 y1
= 0,
8
2h
2 1 32 + 2x3 y y3 y1
y
+
2y
y
+
h
= 0,
1
2
3
2
8
2h
..........................................................................
yN yN 2
2 1 32 + 2x3
y
+
2y
y
+
h
y
= 0,
N 2
N 1
N
N 1
N 1
8
2h
1
yN 1
2
3
yN 1 + 2yN + h
32 + 2xN yN
= 0,
2h
[J(y1 , . . . , yn )]ij =
h yi
1
,
2 8
h yi+1 yi1
2
8
h yi
1 +
,
2 8
i = j 1, j = 2, . . . , N,
, i = j, j = 1, . . . , N,
i = j + 1, j = 1, . . . , N 1.
10
Nella tabella di seguito `e riportata la soluzione approssimata ottenuta con il metodo di Newton
(k+1)
(k)
utilizzando come criterio di arresto max1x20 |yi
yi | 108 ; per confronto `e riportata
anche la soluzione esatta.
(h)
Lapprossimazione pu`
o essere migliorata tramite lestrapolazione di Richardson. Se con yi indichiamo lapprossimazione ottenuta con passo di integrazione h, lestrapolazione di Richardson
si applica avendo le tre approssimazioni con passo h, h/2 e h/4:
(h/2)
yiE1 =
4yi
4yi
Prima estrapolazione:
yiE3 =
3
(h/4)
Estrapolazione finale:
(h)
yi
i = 1, . . . , N,
(h/2)
yi
3
16yiE2 yiE1
,
15
i = 1, . . . , N,
i = 1, . . . , N.
Utilizzando come passo iniziale h = 0.1, lapprossimazione yiE3 ha un errore massimo di 3.68
1010 .
i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
xi
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
3.0
yi
17.000000
15.754503
14.771740
13.995677
13.386297
12.914252
12.557538
12.299326
12.126529
12.028814
11.997915
12.027142
12.111020
12.245025
12.425388
12.648944
12.913013
13.215312
13.553885
13.927046
14.333333
y(xi )
17.000000
15.755455
14.773333
13.997692
13.388571
12.916667
12.560000
12.301765
12.128889
12.031053
12.000000
12.029048
12.112727
12.246522
12.426667
12.650000
12.913846
13.215926
13.554286
13.927241
14.333333
11
|y(xi ) yi |
9.520104
1.594103
2.015103
2.275103
2.414103
2.462103
2.438103
2.360103
2.239103
2.085103
1.905103
1.707103
1.497103
1.278103
1.056103
8.335103
6.142104
4.006104
1.953104
Esercizio 2.1
Approssimare la deflessione di una trave dacciaio lunga 120 cm con lo schema alle differenze
finite non lineare. Le caratteristiche della trave sono: q = 100 kg/m, E = 3.0 107 kg/cm2 ,
S = 1000 kg, I = 625 cm4 .
2.2
Sostituendo le formule alle differenze finite centrate (2.4) e (2.6) nellequazione lineare (2.3) si
ha
y(xi+1 ) y(xi1 )
y(xi+1 ) 2y(xi ) + y(xi1 )
+p(xi )
+ q(xi )y(xi )+
2
h
2h
(2.23)
2
2
h
h
p(xi )y (3) (i ) + y (4) (i ) = r(xi ) ,
6
12
che da luogo allo schema alle differenze finite lineare
y = ,
yN +1 = ,
y
2yi + yi1
yi+1 yi1
i+1
+ p(xi )
+ q(xi )yi = r(xi ),
2
2h
i = 1, 2, . . . , N.
In modo analogo a quanto fatto nel caso non lineare, definiamo loperatore differenziale
+1
discreto (lineare) che agisce su una funzione discreta vd = {vi }N
i=0 :
(Kh vd )i :=
(2.24)
+1
cosicche lo schema numerico per la soluzione approssimata yd = {yi }N
i=0 diventa
y0 = ,
yN +1 = ,
(2.25)
(K y ) = r(x ),
i
h d i
i = 1, 2, . . . , N .
+1
Allora loperatore discreto (Kh ye )i che agisce sulla soluzione esatta discreta ye = {y(xi )}N
e
i=0 `
dato da
(Kh ye )i =
(2.26)
h2
h2
= (K y)(xi ) + p(xi )y (3) (i ) y (4) (i )] ,
6
12
dove lultima uguaglianza segue dalle (2.3) e (2.23). Lerrore locale di troncamento dello schema
numerico `e
R(xi , y(xi ); h; y; f ) = (K y)(xi ) (Kh ye )i =
h2
h2
= p(xi )y (3) (i ) + y (4) (i ) .
6
12
12
(2.27)
Poiche R(xi , y(xi ); h; y; f ) = O(h2 ), il metodo alle differenze finite lineare `e consistente e del
secondo ordine; inoltre `e esatto per tutti i polinomi di grado 2.
Definizione 2.2. Uno schema alle differenze finite lineare `e detto stabile se, data una funzione
+1
discreta vd = {vi }N
i=0 , definita sulla discretizzazione (2.1), esiste una costante M tale che
max
0iN +1
(2.28)
Teorema 2.2. Siano L = max |p(x)| e 0 < Q = min q(x). Se h L 2, allora lo schema alle
axb
axb
0iN +1
|ei |
max
0iN +1
|y(xi ) yi |
1iN
1iN
| {z }
(2.25)
(2.29)
= r(xi )
(2.27)
{z
(2.3)
= r(xi )
A=
h
2 + h2 q(x1 ) 1 + p(x1 )
2
h
2
1 p(x2 ) 2 + h q(x2 )
2
0
h
1 + p(x2 )
2
h
h
2
1 p(xN 1 ) 2 + h q(xN 1 ) 1 + p(xN 1 )
2
2
h
0
1 p(xN )
2 + h2 q(xN )
2
T
h
h
2
2
2
B = h r(x1 ) + 1 + p(x1 ) , h r(x2 ), . . . , h r(xN 1 ), h r(xN ) + 1 p(xN ) .
2
2
2
13
Se valgono le ipotesi del Teorema 2.2, si dimostra che il sistema tridiagonale ammette ununica
soluzione purche h L 2.
Esempio 2.2
Consideriamo il problema ai limiti lineare
2
2
y = y 2 y + sin(log x) ,
1 x 2,
y(1) = 1,
y(2) = 2 ,
x2
x
(4 x) x(1 x) cos(log 2) + sin(log 2)
cos(log x) + sin(log x) .
2
2
Applicando il metodo alle differenze finite lineare si ottiene il sistema lineare tridiagonale
2
2 h2
x2
1
h 2
1
2 x2
1 +
h 2
2 x1
2 h2
2
x2
2
1 +
h 2
2 x2
h 2
1
2 x8
h 2
1 +
2 x8
2
2 h2
x2
8
h 2
1
2 x9
2 h2
2
x2
9
X =
h2
sin(log x1 )
x1
1+
h 2
2 x1
2 sin(log x2 )
x2
.
.
.
sin(log x8 )
2
h
x8
h2
sin(log x9 )
x9
h 2
2 x9
che pu`
o essere risolto con il metodo di Thomas. I risultati ottenuti sono riportati nella tabella
di seguito.
Anche in questo caso si pu`
o utilizzare lestrapolazione di Richardson per migliorare lapprossimazione.
i
0
1
2
3
4
5
6
7
8
9
10
xi
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
yi
1.00000000
1.08997132
1.17916606
1.26868985
1.35967879
1.45328006
1.55063840
1.65288668
1.76113946
1.87648855
2.00000000
y(xi )
1.00000000
1.09007246
1.17935628
1.26895130
1.35998932
1.45361424
1.55096828
1.65318237
1.76136954
1.87662038
2.00000000
14
|yi y(xi )|
1.01104
1.90104
2.61104
3.10104
3.34104
3.30104
2.96104
2.30104
1.32104
Esercizio 2.2
Approssimare la deflessione di una trave dacciaio lunga 120 cm con lo schema alle differenze
finite lineare. Le caratteristiche della trave sono: q = 100 kg/m, E = 3.0107 kg/cm2 , S = 1000
kg, I = 625 cm4 . Confrontare lapprossimazione ottenuta con quella del problema non lineare
dellEsercizio 2.1.
(3.30)
con X = [x1 , x2 , . . . , xn ]T e F (X) = [f1 (X), f2 (X), . . . , fn (X)]T . Una soluzione del sistema
= [
(3.30) `e un vettore X
x1 , x
2 , . . . , x
n ]T tale che
= 0.
F (X)
Se le funzioni f1 (x1 , . . . , xn ), . . . , fn (x1 , . . . , xn ), ammettono derivate parziali limitate, allora la
pu`
soluzione X
o essere approssimata con il metodo di Newton. Partendo da una approssimazione
(0) (0)
(0)
(0)
iniziale X
= [x1 , x2 , . . . , xn ]T , si costruisce una successione di approssimazioni {X (k) =
(k) (k)
(k)
[x1 , x2 , . . . , xn ]T }, k = 1, 2, . . ., con un procedimento iterativo del tipo
(0)
dove
dato,
fi (X)
J(X) =
xj
k 1,
i,j=1,2,...,n
`e la matrice Jacobiana del sistema (3.30). Se lapprossimazione iniziale `e sufficientemente accurata e lo Jacobiano `e regolare il metodo `e convergente, cio`e
lim ||X
X (k) || = 0,
lim X (k) = X
15
Bibliografia
1. R.L. Burden, J.D. Faires, Numerical Analysis, Books/Cole Pubbling Company, 1997.
2. V. Comincioli, Analisi Numerica. Metodi, Modelli e Applicazioni, McGraw-Hill, 1990.
3. W. Gautschi, Numerical Analysis, Birkhauser, 1997.
4. L. Gori, Calcolo Numerico, Ed. Kappa, 2006.
16