Sei sulla pagina 1di 21

Corsi di Metodi Numerici e Calcolo Numerico

(Lauree Triennale e Specialistica in Ingegneria)


PROBLEMI AI LIMITI PER
EQUAZIONI DIFFERENZIALI ORDINARIE
Prof. F. Pitolli, A.A 2007-2008
1 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 di problemi dierenziali il modello
richiede allora di imporre condizioni al bordo, cio`e condizioni imposte in pi` u punti, invece che
condizioni iniziali.
Esempio
Un problema comune in ingegneria civile riguarda la deessione di una trave di
sezione rettangolare soggetta a un carico uniforme mentre gli estremi della trave
sono ssi. Il problema `e descritto dallequazione dierenziale non lineare
[1 + (w

(x))
2
]
3/2
d
2
w
dx
2
=
S
EI
w(x) +
qx
2EI
(x l), 0 < x < l,
dove w(x) `e la deessione, x `e la distanza dallestremo sinistro della trave, l, q, E,
S e I rappresentano, rispettivamente, la lunghezza della trave, lintensit` a del carico,
il modulo di elasticit` a , la tensione agli estremi della trave e il momento principale
di inerzia.
Allequazione dierenziale sono associate le condizioni al bordo
w(0) = w(l) = 0.
Se si trascurano i termini del secondo ordine il problema dierenziale diventa lineare
d
2
w
dx
2
=
S
EI
w(x) +
qx
2EI
(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 per risolvere il problema bisogna
ricorrere a metodi numerici.
1
Considereremo qui metodi numerici per la soluzione di problemi dierenziali 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)
Teorema 1.1. Assumiamo che f(x, y, z) soddis le ipotesi seguenti:
i) f e le sue derivate parziali f
y

f
y
e f
z

f
z
sono continue in D = {(x, y, z)|a x
b, < y, z < };
ii) f
y
(x, y, z) > 0 in D;
iii) esistono due costanti K e L tali che
K = max
(x,y,z)D
f
y
(x, y, z), L = max
(x,y,z)D
|f
z
(x, y, z)|.
Allora la soluzione del problema dierenziale ai limiti (1.1)-(1.2) esiste ed `e unica.
Se f(x, y, y

) ha la forma
f(x, y, y

) = p(x) y

(x) + q(x) y(x) r(x),


il problema dierenziale (1.1)-(1.2) si riduce al problema lineare
_

_
y

= p(x) y

+q(x) y r(x), a < x < b,


y(a) = , y(b) = .
(1.3)
Corollario 1.2. Assumiamo che
i) p(x), q(x) e r(x) siano continue in [a, b];
ii) q(x) > 0 per x [a, b].
Allora, la soluzione del problema dierenziale ai limiti (1.3) esiste ed `e unica.
Nel seguito faremo uso delloperatore dierenziale non lineare
Ly := y

+ f(x, y, y

) , (1.4)
e delloperatore direnziale lineare
Ky := y

+ p(x) y

+ q(x) y . (1.5)
Allora lequazione dierenziale (1.1) pu`o essere scritta come
Ly = 0. (1.6)
mentre lequazione dierenziale lineare in (1.3) diventa
Ky = r(x). (1.7)
2
2 Metodi alle dierenze nite
I metodi alle dierenze nite consistono nellapprossimare ciascuna derivata nelle equazioni dif-
ferenziali (1.1) o (1.3) con una opportuna formula alle dierenze nite.
Prima di tutto introduciamo una discretizzazione dellintervallo [a, b] dividendolo in N + 1
sottointervalli uguali, cio`e introduciamo i nodi equispaziati
x
i
= a + ih, i = 0, 1, . . . , N + 1, h =
b a
N + 1
. (2.1)
Nei nodi interni x
i
, i = 1, . . . , N, lequazione dierenziale (1.1) diventa
Ly(x
i
) = y

(x
i
) + f(x
i
, y(x
i
), y

(x
i
)) = 0 ; (2.2)
nel caso lineare, la (1.3) diventa
Ly(x
i
) = y

(x
i
) + p(x
i
) y

(x
i
) + q(x
i
) y(x
i
) = r(x
i
). (2.3)
Per risolvere numericamente i problemi dierenziali (2.2) e (2.3) `e necessario approssimare
sia y

(x
i
) che y

(x
i
). Lapprossimazione viene scelta in modo che sia garantito uno specico
ordine nellerrore di troncamento.
Supponendo che y C
3
[x
i1
, x
i+1
], si pu`o ricorrere allo sviluppo in serie di Taylor di ordine
2 per approssimare y(x
i+1
) e y(x
i1
):
y(x
i+1
) = y(x
i
+ h) = y(x
i
) + hy

(x
i
) +
1
2!
h
2
y

(x
i
) +
1
3!
h
3
y

(
+
i
),

+
i
(x
i
, x
i+1
),
y(x
i1
) = y(x
i
h) = y(x
i
) hy

(x
i
) +
1
2!
h
2
y

(x
i
)
1
3!
h
3
y

i
),

i
(x
i1
, x
i
).
Sottraendo la seconda equazione alla prima e usando il teorema della media si ha
y

(x
i
) =
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
),
i
(x
i1
, x
i+1
). (2.4)
Questa `e la formula alle dierenze nite centrate per y

(x
i
) e ha errore di troncamento
(x
i
, y(x
i
); h; f) =
h
2
6
y
(3)
(
i
) = O(h
2
). (2.5)
Per approssimare y

(x
i
) si utilizza lo sviluppo in serie di Taylor di ordine 3, purche y
3
C
4
[x
i1
, x
i+1
]:
y(x
i+1
) = y(x
i
+ h) = y(x
i
) + hy

(x
i
) +
1
2!
h
2
y

(x
i
) +
1
3!
h
3
y

(x
i
)+
+
1
4!
h
4
y
(4)
(
+
i
),
+
i
(x
i
, x
i+1
),
y(x
i1
) = y(x
i
h) = y(x
i
) hy

(x
i
) +
1
2!
h
2
y

(x
i
)
1
3!
h
3
y

(x
i
)+
+
1
4!
h
4
y
(4)
(

i
),

i
(x
i1
, x
i
).
Sommando le due equazioni e usando il teorema della media si ha
y

(x
i
) =
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2

h
2
12
y
(4)
(
i
),
i
(x
i1
, x
i+1
). (2.6)
Questa `e la formula alle dierenze nite centrate per y

(x
i
) e ha errore di troncamento
(x
i
, y(x
i
); h; f) =
h
2
12
y
(4)
(
i
) = O(h
2
). (2.7)
2.1 Metodo alle dierenze nite non lineari
Sostituendo le formule alle dierenze nite centrate (2.4) e (2.6) nellequazione (2.2) si ha

y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
+f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
)
_
+
h
2
12
y
(4)
(
i
) = 0.
(2.8)
Il metodo alle dierenze nite non lineare si ottiene trascurando nella (2.8), che `e una re-
lazione esatta, gli errori di troncamento (2.5) e (2.7), dovuti alle formule alle dierenze nite, e
aggiungendo le condizioni al bordo (1.2). Se con y
i
indichiamo lapprossimazione di y(x
i
) si ha
_

_
y
0
= , y
N+1
= ,

y
i+1
2y
i
+ y
i1
h
2
+ f
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
= 0, i = 1, 2, . . . , N.
(2.9)
4
Quindi, per trovare la soluzione approssimata {y
i
}
N
i=0
, si deve risolvere il sistema non lineare
_

_
2y
1
y
2
+ h
2
f
_
x
1
, y
1
,
y
2

2h
_
= 0,
y
1
+ 2y
2
y
3
+ h
2
f
_
x
2
, y
2
,
y
3
y
1
2h
_
= 0,
..........................................................................
y
N2
+ 2y
N1
y
N
+ h
2
f
_
x
N1
, y
N1
,
y
N
y
N2
2h
_
= 0,
y
N1
+ 2y
N
+ h
2
f
_
x
N
, y
N
,
y
N1
2h
_
= 0,
(2.10)
di N equazioni nelle N incognite y
1
, y
2
, . . . , y
N
.
Prima di passare alla soluzione numerica del sistema non lineare (2.10) si deve vericare se
lo schema alle dierenze nite costruito `e convergente, cio`e se
lim
h0
max
1iN
|e
i
| = 0 , (2.11)
dove e
i
= |y(x
i
)y
i
| `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 dierenze nite non lineare intro-
duciamo loperatore dierenziale discreto (non lineare) (L
h
y
d
)
i
che agisce sulla funzione discreta
y
d
= {y
i
}
N
i=1
, associata alla discretizzazione (2.1), secondo lo schema alle dierenze (2.9):
(L
h
y
d
)
i
:=
y
i+1
2y
i
+ y
i1
h
2
+ f
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
. (2.12)
Allora lo schema numerico (2.9) diventa
_

_
y
0
= , y
N+1
= ,
(L
h
y
d
)
i
= 0, i = 1, 2, . . . , N.
(2.13)
Tramite la soluzione esatta y(x) si pu`o denire la funzione discreta y
e
:= {y(x
i
)}
N
i=1
; allora,
(L
h
y
e
)
i
=
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
+ f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h
_
(2.14)
rappresenta loperatore discreto che agisce sulla soluzione esatta.
5
Confrontando la (2.14) con la (2.8) si ha
(L
h
y
e
)
i
= f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
)
_

h
2
12
y
(4)
(
i
)+
+ f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h
_
=
= f
z
(x
i
, y(x
i
),
i
)
h
2
6
y

(
i
)
h
2
12
y
(4)
(
i
) ,
(2.15)
dove, nellultima uguaglianza, si `e utilizzato lo sviluppo in serie di Taylor di
f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
)
_
nella terza variabile con punto iniziale
y(x
i+1
) y(x
i1
)
2h
;
i
`e un valore incognito compreso tra
y

(x
i
) =
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
) e
y(x
i+1
) y(x
i1
)
2h
.
In ciascun nodo, lerrore di troncamento dello schema numerico `e denito come la dierenza
tra loperatore dierenziale esatto Ly calcolato nel nodo x
i
e loperatore dierenziale discreto
applicato alla soluzione esatta (L
h
y
e
)
i
:
R(x
i
, y(x
i
); h; f) = (Ly)(x
i
) (L
h
y
e
)
i
. (2.16)
Utilizzando la relazione esatta (2.8), loperatore dierenziale esatto pu`o essere scritto come
(Ly)(x
i
) = y

(x
i
) + f(x
i
, y(x
i
), y

(x
i
)) =
y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
+
+f
_
x
i
, y(x
i
),
y(x
i+1
) y(x
i1
)
2h

h
2
6
y

(
i
)
_
+
h
2
12
y
(4)
(
i
) ,
(2.17)
da cui segue che lerrore di troncamento vale
R(x
i
, y(x
i
); h; f) = f
z
(x
i
, y(x
i
),
i
)
h
2
6
y

(
i
) +
h
2
12
y
(4)
(
i
) = (L
h
y
e
)
i
, (2.18)
dove
i
e
i
sono due punti incogniti nellintervallo [x
i1
, x
i+1
] e
i
`e , di nuovo, un valore
incognito compreso tra y

(x
i
) =
y(x
i+1
) y(x
i1
)
2h

h
2
6
y
(3)
(
i
) e
y(x
i+1
) y(x
i1
)
2h
.
Poiche R(x
i
, y(x
i
); h; f) = O(h
2
), 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 denizione.
6
Denizione 2.1. Uno schema alle dierenze nite non lineare `e detto stabile se, date due
funzioni discrete v = {v
i
}
N
i=1
e u = {u
i
}
N
i=1
, denite sulla discretizzazione (2.1), esiste una
costante M tale che
max
0iN+1
|v
i
u
i
| M
_
max (|v
0
u
0
|, |v
N+1
u
N+1
|)+
+ max
1iN
|(L
h
v)
i
(L
h
u)
i
|
_
.
(2.19)
La stabilit`a `e una propriet`a dello schema numerico e rappresenta la capacit`a dello schema
di non amplicare troppo le perturbazioni. Infatti, se con {y
i
}
N
i=1
indichiamo la soluzione
del problema discreto (2.13), e con {v
i
}
N
i=1
la soluzione di un problema discreto perturbato
(L
h
v)
i
=
i
con condizioni al bordo v
0
= y(x
0
) +
0
e v
N+1
= y(x
N+1
) +
N+1
, dalla disu-
guaglianza (2.19) si deduce che
max
0iN+1
|y
i
v
i
| M
_
max(|
0
|, |
N+1
|) + max
1iN
|
i
|
_
, (2.20)
cio`e la perturbazione sulla soluzione si mantiene limitata.
Per lo schema alle dierenze nite non lineari vale il teorema seguente.
Teorema 2.1. Siano L = max
(x,y,z)D
|f
z
(x, y, z)| e 0 < Q = min
(x,y,z)D
f
y
(x, y, z). Se hL 2 , allora
lo schema alle dierenze nite non lineari (2.13) `e stabile con M = max(1, 1/Q).
La consistenza e la stabilit`a implicano la convergenza dello schema alle dierenze nite.
La stabilit`a fornisce anche una limitazione dellerrore globale. Infatti utilizzando nella dis-
uguaglianza (2.19) le funzioni discrete {y(x
i
)}
N
i=1
e {y
i
}
N
i=1
e tenendo conto di (2.13) e (2.18) si
ottiene
max
0iN+1
|e
i
| = max
0iN+1
|y(x
i
) y
i
|
M max
1iN
|(L
h
y
e
)
i
(L
h
y
d
)
i
| = M max
1iN
|R(x
i
, y(x
i
); h; f)| .
(2.21)
Inne, se valgono le ipotesi del Teorema 1.1 e se hL 2, il sistema non lineare (2.10) ha
ununica soluzione.
La soluzione discreta Y = [y
1
, y
2
, . . . , y
N
]
T
pu`o essere approssimata con il metodo di Newton
che consiste nel generare una successione di approssimazioni {[y
(k)
1
, y
(k)
2
, . . . , y
(k)
N
]
T
}, k = 1, 2, ....
Se lapprossimazione iniziale [y
(0)
1
, y
(0)
2
, . . . , y
(0)
N
]
T
`e abbastanza vicina alla soluzione e la ma-
trice Jacobiana del sistema `e regolare, allora la successione delle approssimazioni converge alla
soluzione esatta.
7
La matrice Jacobiana J(y
1
, . . . , y
n
) del sistema (2.10) `e tridiagonale con elementi
[J(y
1
, . . . , y
n
)]
ij
=
_

_
1 +
h
2
f
z
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
, j = i + 1, i = 1, . . . , N 1,
2 + h
2
f
y
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
, j = i, i = 1, . . . , N,
1
h
2
f
z
_
x
i
, y
i
,
y
i+1
y
i1
2h
_
, j = i 1, i = 2, . . . , N,
dove y
0
= e y
N+1
= .
Lalgoritmo del metodo di Newton `e il seguente:
Y
(0)
dato
_

_
J(y
(k)
1
, . . . , y
(k)
n
) V = B
(k)
,
Y
(k+1)
= Y
(k)
+ V ,
k = 0, 1, . . . ,
dove Y
(k)
= [y
(k)
1
, y
(k)
2
, . . . , y
(k)
N
]
T
e
B
(k)
=
_
2y
(k)
1
y
(k)
2
+ h
2
f
_
x
1
, y
(k)
1
,
y
(k)
2

2h
_
,
y
(k)
1
+ 2y
(k)
2
y
(k)
3
+ h
2
f
_
x
2
, y
(k)
2
,
y
(k)
3
y
(k)
1
2h
_
, . . .
. . . , y
(k)
N2
+ 2y
(k)
N1
y
(k)
N
+ h
2
f
_
_
x
N1
, y
(k)
N1
,
y
(k)
N
y
(k)
N2
2h
_
_
,
y
(k)
N1
+ 2y
(k)
N
+ h
2
f
_
_
x
N
, y
(k)
N
,
y
(k)
N1
2h
_
_
_
T
.
Quindi ad ogni iterazione bisogna risolvere un sistema lineare tridiagonale, ad esempio con il
metodo di Thomas che non ha un costo computazionale elevato.
Lapprossimazione iniziale Y
(0)
pu`o essere ottenuta approssimando i valori y(x
i
) con le ascisse
della retta che congiunge i punti (a, ) e (b, ), cio`e ponendo
y
(0)
i
= + i
_

b a
_
h, i = 1, 2, . . . , N.
Osserviamo che, anche se lapprossimazione pu`o essere migliorata riducendo il passo h, non
conviene sceglierlo troppo piccolo a causa dellinstabilit`a che si produce nellapprossimare le
derivate con le dierenze nite.
8
Esempio 2.1
Consideriamo il problema ai limiti non lineare
_

_
y

=
1
8
(32 + 2x
3
yy

), 1 x 3,
y(1) = 17, y(3) =
43
3
.
Applicando il metodo alle dierenze nite non lineare con passo h = 0.1 e nodi x
i
= 1.0 + ih,
i = 0, 1, . . . , 20, si ottiene il sistema non lineare
_

_
2y
1
y
2
+ h
2
1
8
_
32 + 2x
3
1
y
1
y
2

2h
_
= 0,
y
1
+ 2y
2
y
3
+ h
2
1
8
_
32 + 2x
3
2
y
2
y
3
y
1
2h
_
= 0,
..........................................................................
y
N2
+ 2y
N1
y
N
+ h
2
1
8
_
32 + 2x
3
N1
y
N1
y
N
y
N2
2h
_
= 0,
y
N1
+ 2y
N
+ h
2
1
8
_
32 + 2x
3
N
y
N
y
N1
2h
_
= 0,
la cui matrice Jacobiana `e
[J(y
1
, . . . , y
n
)]
ij
=
_

_
1
h
2
y
i
8
, i = j 1, j = 2, . . . , N,
2
h
2
y
i+1
y
i1
8
, i = j, j = 1, . . . , N,
1 +
h
2
y
i
8
, i = j + 1, j = 1, . . . , N 1.
Nella tabella di seguito `e riportata la soluzione approssimata ottenuta con il metodo di Newton
utilizzando come criterio di arresto max
1x20
|y
(k+1)
i
y
(k)
i
| 10
8
; per confronto `e riportata
anche la soluzione esatta.
Lapprossimazione pu`o essere migliorata tramite lestrapolazione di Richardson. Se con y
(h)
i
in-
dichiamo lapprossimazione ottenuta con passo di integrazione h, lestrapolazione di Richardson
9
si applica avendo le tre approssimazioni con passo h, h/2 e h/4:
Prima estrapolazione: y
E
1
i
=
4y
(h/2)
i
y
(h)
i
3
, i = 1, . . . , N,
Seconda estrapolazione: y
E
2
i
=
4y
(h/4)
i
y
(h/2)
i
3
, i = 1, . . . , N,
Estrapolazione nale: y
E
3
i
=
16y
E
2
i
y
E
1
i
15
, i = 1, . . . , N.
Utilizzando come passo iniziale h = 0.1, lapprossimazione y
E
3
i
ha un errore massimo di 3.68
10
10
.
i x
i
y
i
y(x
i
) |y(x
i
) y
i
|
0 1.0 17.000000 17.000000
1 1.1 15.754503 15.755455 9.52010
4
2 1.2 14.771740 14.773333 1.59410
3
3 1.3 13.995677 13.997692 2.01510
3
4 1.4 13.386297 13.388571 2.27510
3
5 1.5 12.914252 12.916667 2.41410
3
6 1.6 12.557538 12.560000 2.46210
3
7 1.7 12.299326 12.301765 2.43810
3
8 1.8 12.126529 12.128889 2.36010
3
9 1.9 12.028814 12.031053 2.23910
3
10 2.0 11.997915 12.000000 2.08510
3
11 2.1 12.027142 12.029048 1.90510
3
12 2.2 12.111020 12.112727 1.70710
3
13 2.3 12.245025 12.246522 1.49710
3
14 2.4 12.425388 12.426667 1.27810
3
15 2.5 12.648944 12.650000 1.05610
3
16 2.6 12.913013 12.913846 8.33510
3
17 2.7 13.215312 13.215926 6.14210
4
18 2.8 13.553885 13.554286 4.00610
4
19 2.9 13.927046 13.927241 1.95310
4
20 3.0 14.333333 14.333333
2.2 Metodo alle dierenze nite lineari
Sostituendo le formule alle dierenze nite centrate (2.4) e (2.6) nellequazione lineare (2.3) si
ha

y(x
i+1
) 2y(x
i
) + y(x
i1
)
h
2
+p(x
i
)
y(x
i+1
) y(x
i1
)
2h
+ q(x
i
)y(x
i
)+

h
2
12
[2p(x
i
)y
(3)
(
i
) y
(4)
(
i
)] = r(x
i
) ,
(2.22)
10
che da luogo allo schema alle dierenze nite lineare
_

_
y
0
= , y
N+1
= ,

y
i+1
2y
i
+ y
i1
h
2
+ p(x
i
)
y
i+1
y
i1
2h
+ q(x
i
)y
i
= r(x
i
), i = 1, 2, . . . , N.
In modo analogo a quanto fatto nel caso non lineare, deniamo loperatore dierenziale
discreto (lineare) che agisce sulla funzione discreta y
d
= {y
i
}
N+1
i=0
:
(K
h
y
d
)
i
=
y
i+1
2y
i
+ y
i1
h
2
+ p(x
i
)
y
i+1
y
i1
2h
+ q(x
i
)y
i
, (2.23)
cosicche lo schema numerico diventa
_

_
y
0
= , y
N+1
= ,
(K
h
y
d
)
i
= r(x
i
), i = 1, 2, . . . , N.
(2.24)
Se con (K
h
y
e
)
i
indichiamo loperatore discreto che agisce sulla soluzione esatta discreta
y
e
= {y(x
i
)}
N+1
i=0
, cio`e
(K
h
y
e
)
i
=
y
i+1
2y
i
+ y
i1
h
2
+ p(x
i
)
y
i+1
y
i1
2h
+ q(x
i
)y
i
=
=
h
2
12
[2p(x
i
)y
(3)
(
i
) y
(4)
(
i
)] ,
(2.25)
allora lerrore di troncamento dello schema numerico `e dato da
R(x
i
, y(x
i
); h; f) = (Ky)(x
i
) (K
h
y
e
)
i
=
=
h
2
12
[2p(x
i
)y

(
i
) y
(4)
(
i
)] = r(x
i
) (K
h
y
e
)
i
.
(2.26)
Poiche R(x
i
, y(x
i
); h; f) = O(h
2
), il metodo alle dierenze nite lineare `e consistente e del
secondo ordine; inoltre `e esatto per tutti i polinomi di grado 2.
Denizione 2.2. Uno schema alle dierenze nite lineare `e detto stabile se, data una funzione
discreta v = {v
i
}
N+1
i=0
, denita sulla discretizzazione (2.1), esiste una costante M tale che
max
0iN+1
|v
i
| M
_
max (|v
0
|, |v
N+1
|) + max
1iN
|(K
h
v)
i
|
_
. (2.27)
Teorema 2.2. Siano L = max
axb
|p(x)| e 0 < Q = min
axb
q(x). Se hL 2, allora lo schema alle
dierenze nite lineari `e stabile con M = max(1, 1/Q).
La consistenza e la stabilit`a implicano la convergenza dello schema lineare e inoltre per lerrore
globale di troncamento si ha la limitazione
max
0iN+1
|e
i
| = max
0iN+1
|y(x
i
) y
i
|
M max
1iN
|(K
h
y
e
)
i
(K
h
y
d
)
i
| = M max
1iN
|R(x
i
, y(x
i
); h; f)| .
(2.28)
11
In questo caso la soluzione approssimata Y = [y
1
, y
2
, , y
N
]
T
si ottiene risolvendo il sistema
lineare tridiagonale di N equazioni in N incognite
AY = B,
dove
A =
_

_
2 +h
2
q(x
1
) 1 +
h
2
p(x
1
) 0 0
1
h
2
p(x
2
) 2 +h
2
q(x
2
) 1 +
h
2
p(x
2
) 0 0

0 1
h
2
p(x
N1
) 2 +h
2
q(x
N1
) 1 +
h
2
p(x
N1
)
0 0 1
h
2
p(x
N
) 2 +h
2
q(x
N
)
_

_
e
B =
_
h
2
r(x
1
) +
_
1 +
h
2
p(x
1
)
_
, h
2
r(x
2
), . . . , h
2
r(x
N1
), h
2
r(x
N
) +
_
1
h
2
p(x
N
)
_

_
T
.
Se valgono le ipotesi del Teorema 2.2, il sistema tridiagonale ammette ununica soluzione purche
h K 2.
Esempio 2.2
Consideriamo il problema ai limiti lineare
_
_
_
y

=
2
x
y

2
x
2
y +
sin(log x)
x
, 1 x 2,
y(1) = 1, y(2) = 2,
la cui soluzione esatta `e
y(x) =
x
2
(4 x) x(1 x)
_
cos(log 2) + sin(log 2)
_

x
2
2
_
cos(log x) + sin(log x)
_
.
Applicando il metodo alle dierenze nite lineare si ottiene il sistema lineare tridiagonale
_

_
2 h
2
2
x
2
1
1 +
h
2
2
x
1
0 0
1
h
2
2
x
2
2 h
2
2
x
2
2
1 +
h
2
2
x
2
0 0

0 1
h
2
2
x
8
2 h
2
2
x
2
8
1 +
h
2
2
x
8
0 0 1
h
2
2
x
9
2 h
2
2
x
2
9
_

_
X =
_

_
h
2
sin(log x
1
)
x
1
+
_
1 +
h
2
2
x
1
_

h
2
sin(log x
2
)
x
2
.
.
.
h
2
sin(log x
8
)
x
8
h
2
sin(log x
9
)
x
9
+
_
1
h
2
2
x
9
_

_
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 lappros-
simazione.
12
i x
i
y
i
y(x
i
) |y
i
y(x
i
)|
0 1.0 1.00000000 1.00000000
1 1.1 1.08997132 1.09007246 1.0110
4
2 1.2 1.17916606 1.17935628 1.9010
4
3 1.3 1.26868985 1.26895130 2.6110
4
4 1.4 1.35967879 1.35998932 3.1010
4
5 1.5 1.45328006 1.45361424 3.3410
4
6 1.6 1.55063840 1.55096828 3.3010
4
7 1.7 1.65288668 1.65318237 2.9610
4
8 1.8 1.76113946 1.76136954 2.3010
4
9 1.9 1.87648855 1.87662038 1.3210
4
10 2.0 2.00000000 2.00000000
3 Metodi agli elementi niti
Abbiamo visto che nei metodi alle dierenze nite si approssima la soluzione del problema ai lim-
iti sostituendo loperatore di dierenziazione continuo con un operatore discreto alle dierenze
nite. I metodi agli elementi niti seguono un approccio diverso. Per prima cosa il problema
dierenziale viene riscritto in forma variazionale in modo che la soluzione sia quella che min-
imizza un opportuno operatore integrale (metodo di Rayleigh-Ritz) oppure quella che soddisfa
unequazione variazionale (metodo di Galerkin). La soluzione viene quindi approssimata con
polinomi a tratti, detti appunto elementi niti, si cerca cio`e unapprossimazione in uno spazio
funzionale di dimesione nita.
Come problema modello, consideremo il problema dierenziale lineare ai limiti
_

d
dx
_
p(x)
dy
dx
_
+ q(x)y = f(x), 0 < x < 1,
y(0) = y(1) = 0,
(3.1)
che descrive la deessione y(x) di una sbarra sottile di lunghezza 1 con sezione variabile q(x).
La deessione `e dovuta alle forze esterne p(x) e f(x).
Assumeremo che p C
1
([0, 1]) e q, f C([0, 1]) e che esista una costante tale che
p(x) > 0 e che q(x) 0 per x [0, 1].
Queste condizioni sono sucienti a garantire che il problema dierenziale ai limiti (3.1) abbia
ununica soluzione y C
2
0
([0, 1]), dove
C
2
0
([0, 1]) = {u C
2
([0, 1]); u(0) = u(1) = 0}.
Come succede in molti problemi ai limiti che descrivono fenomeni sici, la soluzione dellequazione
della sbarra soddisfa principi variazionali, che possono essere la minimizzazione di un funzionale
dellenergia oppure il principio dei lavori virtuali.
13
Teorema 3.1. Siano p C
1
([0, 1]), q e f C([0, 1]) ed esista una costante > 0 tale che
p(x) e, inoltre, q(x) 0 per x [0, 1]. La funzione y C
2
0
([0, 1]) `e lunica soluzione
dellequazione dierenziale

d
dx
_
p(x)
dy
dx
_
+ q(x)y = f(x), 0 < x < 1, (3.2)
con condizioni al bordo
y(0) = y(1) = 0, (3.3)
se e solo se `e lunica funzione in C
2
0
([0, 1]) che minimizza lintegrale
I[u] =
_
1
0
_
p(x)[u

(x)]
2
+ q(x)[u(x)]
2
2f(x)u(x)
_
dx. (3.4)
o, equivalentemente, che soddisfa lequazione variazionale
_
1
0
_
p(x)y

(x)u

(x) + q(x)y(x)u(x)
_
dx =
_
1
0
f(x)u(x) dx, (3.5)
dove u C
1
([0, 1]) con u(0) = u(1) = 0.
Lintegrale I[u] rappresenta lenergia del sistema, quindi la soluzione y `e quella che minimizza
lenergia; la forma variazionale (3.5) invece `e il principio dei lavori virtuali.
Quando la soluzione y `e sucientemente regolare, allora le tre formulazioni del problema
sono equivalenti e si pu`o scegliere quella che si ritiene pi` u conveniente dal punto di vista
numerico. Poich`e la regolarit`a della soluzione dipende dal dato f, `e suciente che f sia
continua perche y C
2
([0, 1]).
Daltra parte, la formulazione variazionale, sia in termini di energia che attraverso il princi-
pio dei lavori virtuali, ha senso anche quando il dato f `e meno regolare (per esempio, costante
a tratti oppure concentrato in alcuni punti): in questi casi il problema sico viene formulato
direttamente nella forma variazionale, mentre la forma dierenziale perde di signicato. Os-
serviamo che le formulazioni variazionali (3.4) e (3.5) sono denite sotto ipotesi meno restrittive
sulla y, infatti `e suciente che y C
0
([0, 1]) e y

sia continua a tratti perch`e gli integrali abbiano


senso.
La soluzione del problema dierenziale (3.1) appartiene allo spazio di dimensione innita
C
2
0
([0, 1]). Nel metodo degli elementi niti si approssima la soluzione in uno spazio V
N
di dime-
sione nita N. Se le funzioni {
1
,
2
, . . . ,
N
} formano una base in V
N
, lapprossimazione y
N
di V
N
pu`o essere scritta nella forma
y
N
(x) =
1

1
(x) +
2

2
(x) +
N

N
(x).
Le funzioni
j
, j = 1, 2, . . . , N, sono chiamate funzioni prova (trial functions), e sono usual-
mente famiglie di polinomi ortogonali (Chebyshev, Legendre, Lagrange), funzioni splines oppure
funzioni trigonometriche. I parametri
j
, j = 1, 2, . . . , N, detti gradi di libert` a , sono le incognite
del problema.
I coecienti incogniti
j
, j = 1, 2, . . . , N, vengono determinati imponendo che y
N
soddis il
principio del minimo dellenergia (metodo di Rayleigh-Ritz) oppure il principio dei lavori virtuali
(metodo di Galerkin).
14
3.1 Metodo di Rayleigh-Ritz
Nel metodo di Rayleigh-Ritz le incognite
j
, j = 1, . . . , N, vengono determinate minimizzando
lintegrale (3.4) non su tutte le funzioni u C
2
0
([0, 1]), ma sullinsieme pi` u piccolo di funzioni che
appartengono allo spazio V
N
. In altre parole, lapprossimazione y
N
(x) di y si ottiene trovando
i valori di
j
, j = 1, . . . , N, che minimizzano lintegrale I
_

N
j=1

j
_
.
Dallequazione (3.4) si ha
I[y
N
] = I
_
_
N

j=1

j
_
_
=
=
_
1
0
_

_
p(x)
_
_
N

j=1

j
(x)
_
_
2
+ q(x)
_
_
N

j=1

j
(x)
_
_
2
2f(x)
_
_
N

j=1

j
(x)
_
_
_

_
dx.
Anche I, come funzione di
1
, . . . ,
N
, abbia un minimo deve essere
I

k
= 0 , k = 1, 2, . . . , N,
quindi
I

k
=
_
1
0
_
_
_
2p(x)
N

j=1

j
(x)

k
(x) + 2q(x)
N

j=1

j
(x)
k
(x) 2f(x)
k
(x)
_
_
_
dx = 0,
k = 1, 2, . . . , N.
Le equazioni precedenti formano un sistema lineare di N equazioni nelle N incognite =
[
1
, . . . ,
N
]
T
. La matrice dei coecienti A, chiamata matrice di rigidit` a (stiness matrix), `e
simmetrica e ha elementi
a
jk
=
_
1
0
_
p(x)

j
(x)

k
(x) + q(x)
j
(x)
k
(x)
_
dx; (3.6)
il termine noto F, chiamato vettore di carico (load vector), ha elementi
f
k
=
_
1
0
f(x)
k
(x) dx. (3.7)
3.2 Elementi niti lineari
Nel metodo degli elementi niti lineari si sceglie come spazio di funzioni approssimanti V
N
lo
spazio delle funzioni spline lineari nellintervallo [0, 1] che assumono valore nullo agli estremi
dellintervallo.
Sia : 0 = x
0
< x
1
< x
2
< . . . < x
N
< x
N+1
= 1 una partizione dellintervallo [0, 1] e sia
h
i
= x
i
x
i1
, i = 1, 2, . . . , N +1, allora V
N
`e lo spazio dei polinomi lineari a tratti in [0, 1] con
derivata discontinua nei nodi x
i
, i = 1, 2, . . . , N, e che assumono valore 0 in x
0
= 0 e x
N+1
= 1.
15
Le funzioni di base
j
, j = 1, 2, . . . , N, per lo spazio V
N
, sono i polinomi lineari a tratti
deniti dalle propriet`a di interpolazione

j
(x
i
) =
_
1, se i = j,
0, se i = j,
(3.8)
da cui si ottiene

j
(x) =
_

_
x x
j1
h
j
, se x [x
j1
, x
j
],
x
j+1
x
h
j+1
, se x [x
j
, x
j+1
],
0, altrove,
j = 1, . . . , N. (3.9)
Le derivate delle funzioni
j
sono costanti nei sottointervalli (x
j
, x
j+1
), j = 0, 1, . . . , N, e
sono date da

j
(x) =
_

_
1
h
j
, se x (x
j1
, x
j
),

1
h
j+1
, se x (x
j
, x
j+1
),
0, altrove.
j = 1, . . . , N. (3.10)
Lapprossimazione della soluzione y(x) nello spazio a dimensione nita V
N
generato dalla
base di funzioni
j
, j = 1, 2, . . . , N, `e
y
N
(x) =
N

j=1

j
(x), x [0, 1]. (3.11)
Ovviamente in questo caso y
N
`e un polinomio lineare a tratti, cio`e y
N
(x) C
0
([0, 1]) e y

N
`e
continua a tratti, con y
N
(0) = y
N
(1) = 0; inoltre, y
N
(x
i
) =
i
, i = 1, 2, . . . , N.
Utilizzando nelle formule (3.6) e (3.7) le espressioni di
j
e

j
date in (3.9) e (3.10) si ha
a
kk
=
_
1
0
_
p(x)[

k
(x)]
2
+ q(x)[
k
(x)]
2
_
dx =
=
_
1
h
k
_
2
_
x
k
x
k1
p(x) dx +
_
1
h
k+1
_
2
_
x
k+1
x
k
p(x) dx+
+
_
1
h
k
_
2
_
x
k
x
k1
(x x
k1
)
2
q(x) dx +
_
1
h
k+1
_
2
_
x
k+1
x
k
(x
k+1
x)
2
q(x) dx
k = 1, 2, . . . , N
16
a
k,k+1
=
_
1
0
_
p(x)

k
(x)

k+1
(x) + q(x)
k
(x)
k+1
(x)
_
dx =
=
_
1
h
k+1
_
2
_
x
k+1
x
k
p(x) dx +
_
1
h
k+1
_
2
_
x
k+1
x
k
(x
k+1
x)(x x
k
)q(x) dx
k = 1, 2, . . . , N 1
a
k,k1
=
_
1
0
_
p(x)

k
(x)

k1
(x) +q(x)
k
(x)
k1
(x)
_
dx =
=
_
1
h
k
_
2
_
x
k
x
k1
p(x) dx +
_
1
h
k
_
2
_
x
k
x
k1
(x
k
x)(x x
k1
)q(x) dx
k = 2, . . . , N
f
k
=
_
1
0
f(x)
k
(x) dx =
=
1
h
k
_
x
k
x
k1
(x x
k1
)f(x) dx +
1
h
k+1
_
x
k+1
x
k
(x
k+1
x)f(x) dx k = 1, 2, . . . , N.
Osserviamo che la matrice A `e tridiagonale poiche ciascuna funzione
j
, j = 1, 2, . . . , N, `e
diversa da zero solo nellintervallo (x
j1
, x
j+1
) e quindi si sovrappone solo alle funzioni
j1
e

j+1
.
Ci sono sei tipi di integrali da calcolare. Denendo
Q
1,k
=
1
(h
k+1
)
2
_
x
k+1
x
k
(x
k+1
x)(x x
k
)q(x) dx, k = 1, 2, . . . , N 1,
Q
2,k
=
1
(h
k
)
2
_
x
k
x
k1
(x x
k1
)
2
q(x) dx, k = 1, 2, . . . , N,
Q
3,k
=
1
(h
k+1
)
2
_
x
k+1
x
k
(x
k+1
x)
2
q(x) dx, k = 1, 2, . . . , N,
Q
4,k
=
1
(h
k
)
2
_
x
k
x
k1
p(x) dx, k = 1, 2, . . . , N + 1,
Q
5,k
=
1
h
k
_
x
k
x
k1
(x x
k1
)f(x) dx, k = 1, 2, . . . , N,
Q
6,k
=
1
h
k+1
_
x
k+1
x
k
(x
k+1
x)f(x) dx, k = 1, 2, . . . , N,
17
si possono scrivere gli elementi della matrice di rigidit`a A e del vettore di carico F in modo pi` u
compatto:
a
k,k
= Q
4,k
+Q
4,k+1
+ Q
2,k
+ Q
3,k
, k = 1, 2, . . . , N,
a
k,k+1
= Q
4,k+1
+Q
1,k
, k = 1, 2, . . . , N 1,
a
k,k1
= Q
4,k
+ Q
1,k1
, k = 2, 3, . . . , N,
f
k
= Q
5,k
+ Q
6,k
, k = 1, 2, . . . , N.
Risolvendo il sistema lineare A = F si trovano le incognite che permettono di costruire
lapprossimazione y
N
.
Si pu`o dimostrare che la matrice tridiagonale A `e simmetrica e denita positiva quindi il
sistema lineare ammette ununica soluzione ed `e anche ben condizionato. Inoltre, sotto le ipotesi
su p, q, e f date nel Teorema 3.1, si ha
max
x[0,1]
|y(x) y
N
(x)| = O(h
2
), x [0, 1],
quindi il metodo `e convergente e del secondo ordine.
La dicolt`a di questo metodo sta nel dover valutare i 6n integrali Q
j,k
, che possono essere
calcolati direttamente solo in casi elementari. In generale bisogna ricorrere a una formula di
quadratura oppure si possono approssimare le funzioni p, q e f con un polinomio lineare a tratti
e integrare poi tale polinomio.
Per ottenere funzioni approssimanti pi` u regolari si pu`o approssimare la soluzione y(x) con
funzioni splines di ordine pi` u elevato; ad esempio, se si usano le spline cubiche lapprossimante
y
N
`e in C
2
0
([0, 1]), per`o in questo caso le funzioni di base hanno un supporto pi` u ampio e la
matrice di rigidit`a `e pentadiagonale. Come conseguenza aumenta il costo computazionale sia
della costruzione della matrice di rigidit`a , che `e meno sparsa, sia della soluzione del sistema
lineare.
Esempio 3.1
Consideriamo il problema ai limiti
_
y

+
2
y = 2 sin(x), 0 x 1,
y(0) = y(1) = 0.
Per approssimare la soluzione introduciamo una partizione di 10 nodi equispaziati con passo
h
k
= h = 0.1, quindi x
k
= 0.1k, k = 0, 1, . . . , 10. In questo caso gli integrali Q
j,k
possono essere
18
calcolati esattamente:
Q
1,k
= 100
_
0.1k+0.1
0.1k
(0.1k + 0.1 x)(x 0.1k)
2
dx =

2
60
,
Q
2,k
= 100
_
0.1k
0.1k0.1
(x 0.1k + 0.1)
2

2
dx =

2
30
,
Q
3,k
= 100
_
0.1k+0.1
0.1k
(0.1k + 0.1 x)
2

2
dx =

2
30
,
Q
4,k
= 100
_
0.1k
0.1k0.1
dx = 10,
Q
5,k
= 10
_
0.1k
0.1k0.1
(x 0.1k + 0.1)2
2
sin(x) dx =
= 2 cos(0.1k) + 20[sin(0.1k) sin(0.1k 0.1))],
Q
6,k
= 10
_
0.1k+0.1
0.1k
(0.1k + 0.1 x)2
2
sin(x) dx =
= 2 cos(0.1k) 20[sin(0.1k + 0.1)) sin(0.1k)].
Gli elementi di A e F sono dati da
a
k,k
= 20 +

2
15
, k = 1, 2, . . . , 9,
a
k,k+1
= 10 +

2
60
, k = 1, 2, . . . , 8,
a
k,k1
= 10 +

2
60
, k = 2, 3, . . . , 9,
f
k
= 40 sin(0.1k)[1 cos(0.1)], k = 1, 2, . . . , 9.
La soluzione del sistema tridiagonale `e

9
= 0.31029,
8
= 0.59020,
7
= 0.81234,

6
= 0.95496,
5
= 1.00411,
4
= 0.95496,

3
= 0.81234,
2
= 0.59020,
1
= 0.31029.
Lapprossimazione polinomiale a tratti della soluzione `e
y
9
(x) =
9

k=1

k
(x),
19
mentre la soluzione esatta `e data da y(x) = sin(x). In tabella sono riportati i valori numerici
e lerrore.
i x
i
y(x
i
) y
9
(x
i
) =
i
|y(x
i
) y
i
|
1 0.1 0.30902 0.31029 0.00127
2 0.2 0.58779 0.59020 0.00241
3 0.3 0.80902 0.81234 0.00332
4 0.4 0.95106 0.95496 0.00390
5 0.5 1.00000 1.00411 0.00411
6 0.6 0.95106 0.95496 0.00390
7 0.7 0.80902 0.81234 0.00332
8 0.8 0.58779 0.59020 0.00241
9 0.9 0.30902 0.31029 0.00127
3.3 Metodo di Galerkin
In questo metodo i coecienti incogniti
j
, j = 1, 2, . . . , N, vengono determinati imponendo
che y
N
soddis il principio dei lavori virtuali (3.5). Questo vuol dire che y
N
deve soddisfare il
seguente problema discreto
_
1
0
_
p(x)y

N
(x)u

N
(x) + q(x)y
N
(x)u
N
(x)
_
dx =
_
1
0
f(x)u
N
(x) dx) (3.12)
per ogni u
N
V
N
. Sostituendo nella (3.12) lespressioni di y
N
data in (3.11) e ponendo
u
N
(x) =
N

j=1
c
j

j
(x), x [0, 1],
si ottiene un sistema lineare che, a causa della simmetria dellequazione variazionale, coincide
con quello che si ottiene con il metodo di Rayleigh-Ritz. Allora la soluzione del sistema `e unica
e quindi esiste ununica approssimazione y
N
della soluzione del principio dei lavori virtuali.
Per quanto riguarda la convergenza e lordine valgono considerazioni analoghe a quelle fatte
per il metodo di Rayleigh-Ritz.
4 Metodo di Newton per sistemi non lineari
Consideriamo il sistema non lineare
F(X) = 0 (4.13)
con X = [x
1
, x
2
, . . . , x
n
]
T
e F(X) = [f
1
(X), f
2
(X), . . . , f
n
(X)]
T
. Una soluzione del sistema
(4.13) `e un vettore

X = [ x
1
, x
2
, . . . , x
n
]
T
tale che
F(

X) = 0.
Se le funzioni f
1
(x
1
, . . . , x
n
), . . . , f
n
(x
1
, . . . , x
n
), ammettono derivate parziali limitate, allora la
soluzione

X pu`o essere approssimata con il metodo di Newton. Partendo da una approssimazione
20
iniziale X
(0)
= [x
(0)
1
, x
(0)
2
, . . . , x
(0)
n
]
T
, si costruisce una successione di approssimazioni {X
(k)
=
[x
(k)
1
, x
(k)
2
, . . . , x
(k)
n
]
T
}, k = 1, 2, . . ., con un procedimento iterativo del tipo
_
X
(0)
dato,
X
(k)
= X
(k1)
J(X
(k1)
)
1
F(X
(k1)
), k 1,
dove J(X) `e la matrice Jacobiana del sistema (4.13). Se lapprossimazione iniziale `e suciente-
mente accurata e lo Jacobiano `e regolare il metodo `e convergente, cio`e
lim
k
X
(k)
=

X lim
k
||

X X
(k)
|| = 0,
e la convergenza `e quadratica quindi
lim
k
||

X X
(k+1)
||
||

X X
(k)
||
2
= C,
dove C `e una costante positiva.
La dicolt`a del metodo di Newton consiste nel fatto che ad ogni passo bisogna invertire
la matrice Jacobiana che richiede un costo computazionale elevato. Per evitare linversione di
matrice si procede nel modo seguente. Ad ogni passo si risolve il sistema lineare
J(X
(k1)
)Y = F(X
(k1)
)
quindi si calcola la nuova approssimazione X
(k)
= X
(k1)
+ Y . Il procedimento iterativo viene
arrestato quando ||X
(k)
X
(k1)
|| , dove `e una tolleranza pressata.
Bibliograa
1. R.L. Burden, J.D. Faires, Numerical Analysis, Books/Cole Pubbling Company, 1997
( 11.3-11.5).
2. V. Comincioli, Analisi Numerica. Metodi, Modelli e Applicazioni, McGraw-Hill, 1990
( 9.5.2-9.5.3).
3. W. Gautschi, Numerical Analysis, Birkhauser, 1997 ( 6.1, 6.3, 6.4).
4. L. Gori, Calcolo Numerico, Ed. Kappa, 1999 ( 6.15, 9.13).
5. L. Gori, Soluzione Numerica di Problemi alle Derivate Parziali. Metodi alle Dierenze
Finite, Dispense, 2001 ( 3).
6. G. Strang, G.J. Fix, An Analysis of the Finite Element Method, Prentice-Hall, 1973.
21

Potrebbero piacerti anche