Sei sulla pagina 1di 3

.

Laboratorio X

Equazioni di Poisson

• Sia u : [0, 1] → R una funzione di classe C 2 , tale da soddisfare l’equazione:



00
−u (x) = f (x) per x ∈ (0, 1),


u(0) = gl , (1.1)


u(1) = g ,
r

con gl , gr dati al bordo. L’obiettivo è risolvere questa equazione con dei metodi numerici.
• Introduciamo N + 2 nodi equispaziati con passo h nel dominio [0, 1], ed indichiamoli con
{xj }N +1
j=0 ; dove h = 1/(N + 1).

• Fissata la griglia, possiamo approssimare la derivata seconda nel seguente modo:

u(xj+1 ) − 2u(xj ) + u(xj−1 )


u00 (xj ) ≈ ,
h2
per j = 1, . . . , N . Ovviamente non conosciamo il valore esatto di u nei nodi, perciò diremo
che u(xj ) ≈ uj , con u0 = gl e uN +1 = gr per via delle condizioni al bordo. L’equazione (1.1)
risulterà quindi:
j+1 − 2uj + uj−1
 u
− per j = 1, . . . , N ,

h2

(1.2)

u0 = gl ,

uN +1 = gr .

• L’equazione (1.2) può essere scritta in forma matriciale: definito il vettore u ∈ RN delle
incognite ed il vettore f ∈ RN si ha:
Au = f . (1.3)
dove
fj = h2 f (xj ), per j = 2, . . . , N − 1
f1 = h2 f (x1 ) + gl e fN = h2 f (xN ) + gr

• Tipicamente la matrice A può essere di grandi dimensioni, se N è elevato, ma risulta sparsa,


in quanto le singole equazioni non mettono in relazione più di 3 incognite.
Laboratorio X Equazioni di Poisson

Esercizio 10.1

1. Si scriva la funzione poissonsolve che, dati in ingresso gli estremi dell’intervallo a e b, il


numero dei sottointervalli Nsub, il termine noto fun ed i dati al bordo gl e gr, restituisca
in uscita la soluzione U ed i nodi della griglia x.
[ x , U] = p o i s s o n s o l v e ( a , b , fun , g l , gr , Nsub )

2. Utilizzando il programma appena scritto, si risolva:


( 00
−u (x) = cos(x), per x ∈ (0, 4π),
u(0) = u(1) = 1,

con 8, 16 e 32 sottointervalli.

3. Cosa succede al crescere di N ? Si consideri N = 213 , cosa possiamo dire sul sistema
Au = f ?

Esercizio 10.2

Si consideri il seguente problema:


( 00
−u (x) = sin(πx), per x ∈ (0, 1),
u(0) = u(1) = 0,

La cui soluzione esatta è


1
u(x) = sin(πx).
π2

1. Si utilizzi la funzione poissonsolve per risolvere il problema per N pari a 2i , con i =


4, . . . , 13, valutando per ogni valore l’errore in norma infinito commesso. Cosa si può dire
sulla convergenza del metodo?
2. Si risolva nuovamente l’equazione con
(
1, per x ≥ 21 ,
f (x) =
−1, per x < 12 ,

Sapendo che la soluzione analitica è


(
1 2
2x − 14 x, per x ≤ 12 ,
u(x) =
− 12 x2 + 4 x − 4 , per x > 12 ,
3 1

confrontare i risultati di convergenza con il caso di prima. Cosa si osserva?

–2–
Laboratorio X Equazioni di Poisson

Equazione di Poisson nel quadrato


• Sia u : [0, 1]2 → R una funzione di classe C 2 , tale da soddisfare l’equazione:
(
−∆u(x, y) = f (x, y), per (x, y) ∈ (0, 1)2 ,
(1.4)
u(x, y) = 0, per x ∈ {0, 1} o y ∈ {0, 1},

dove ∆u è la somma delle derivate seconde pure di u(x, y). Per f (x, y) ≡ 0 è detta equazione
di Laplace, mentre nel caso generico è detta di Poisson.
• Fissata una griglia piana uniforme, come ad esempio i punti del piano (xi , yj ) = (hi, hj)
con i, j = 0, 1, . . . , N e h = 1/N , si può approssimare ∆u(x, y) con il laplaciano a cinque
punti:

4u(xi , yj ) − u(xi , yj−1 ) − u(xi−1 , yj ) − u(xi , yj+1 ) − u(xi+1 , yj )


−∆u(xi , yj ) ≈ .
h2
Con un dovuto ordinamento dei nodi, si può scrivere il sistema in forma matriciale come
nel caso monodimensionale, ottenendo una matrice pentadiagonale, simmetrica e definita
positiva.

Esercizio 10.3

Si consideri il seguente problema:


(
−∆u(x, y) = 1, per (x, y) ∈ (0, 1)2 ,
u(x, y) = 0, per x ∈ {0, 1} o y ∈ {0, 1}.

1. Risolvere numericamente il problema con N = 64 suddivisioni per lato. Utilizzare i comandi


numgrid e delsq.

–3–