Sunteți pe pagina 1din 58

Modele de Aproximare si Simulare

e-mail: epelican@univ-ovidius.ro

Laborator 1
Departamentul de Matematic
a si Informatic
a

Toamna 2015

Laborator 1
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Recapitulare
In laboratorul de astazi vom recapitula de la Analiza Numerica
metode directe de rezolvare a sistemelor liniare patratice
I

metoda eliminarii Gauss (EG): fara pivotare si cu strategii de


pivotare (partiala, partiala cu scalare si totala)

descompunerea LU

descompunerea Choleski

si de la Tehnici de Optimizare metode iterative de rezolvare a


sistemelor liniare patratice
I

metoda Jacobi (J)

metoda Succesive over Relaxation (SOR) si cazul particular


Gauss-Seidel (SD).

Laborator 1
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Metode de Aproximare si Simulare


e-mail: epelican@univ-ovidius.ro

Laborator 2
Departamentul de Matematic
a si Informatic
a

Toamna 2015

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Aproximarea operatorilor diferentiali

Fie u : I IR IR , u derivabila pe I . Se stie ca


u(x)

u(x + h) u(x)
h0
h
u(x) u(x h)
= lim
h0
h
u(x + h) u(x h)
= lim
h0
2h
= lim

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Vom aproxima u 0 (x) prin urmatorii operatori:


u(x + h) u(x)
h
u(x) u(x h)

u(x) =
h
u(x + h) u(x h)
0
u(x) =
2h
cu h suficient de mic, numiti operatorul diferent
a nainte,
+ u(x) =

(1)

diferent
a napoi, respectiv diferent
a central
a/centrat
a.

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Asadar, vom scrie


u(x)

= + u(x)

= u(x)
0 u(x)
=

(2)

Aproximarea este de ordin O(h/6), pentru + u(x) si u(x),daca


u C 2 (I ) si de ordin O(h2 /12), pentru 0 u(x) daca u C 3 (I ).

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Ne va interesa acum aproximarea operatorului u 00 (x) (atunci cand


acesta exista). Ca si n cazul operatorului u 0 (x), putem scrie
u(x)

Laborator 2
Metode de Aproximare si Simulare

= + + u(x)

= + u(x)

= + 0 u(x)

= + u(x)
u(x)
=

= 0 u(x)

= 0 + u(x)

= 0 u(x)

= 0 0 u(x).

(3)

Departamentul de Matematic
a si Informatic
a

De exemplu,
+ u(x) =

u(x + h) u(x)
=
h

u(x + h) u(x) u(x) + u(x h)


u(x + h) 2u(x) + u(x h)
=
.
2
h
h2
Aceeasi formula se va obtine si pentru + u(x).
=

Tem
a. Deduceti voi formulele pentru ceilalti operatori de
aproximare.
Aproximarea este de ordin O(h2 ) pentru u C 2 (I ).

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Cei mai uzitati operatori de aproximare sunt 0 u(x) pentru u 0 (x) si


+ u(x) pentru u 00 (x) (evident, din motive de eficienta a
aproximarii).
In urmatoarele laboratoare, daca nu se specifica ce operatori de
aproximare trebuie folositi, veti folosi operatorii anterior mentionati.

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Pe pagina mea, la Sectiunea Teaching, n subdirectorul Programe


MATLAB veti gasi fisierele filmulet.m, u plus.m, functiee.m.
Primul script realizeaza un filmulet cu reprezentarea operatorului
+ u pentru functia exponentiala pe domeniul [1, 6]. Dupa rularea
acestuia (n prealabil, n directorul din care lansati n executie
scriptul filmulet.m, copiati si celelalte doua scripturi), comentati
rezultatele vizualizate.
Dupa acest model, realizati un filmulet pentru reprezentarea
operatorilor u, 0 u, + u si pentru diverse functii elementare
(polinom de grad minim 4, functia logaritmica - aveti grija la
alegerea domeniului, functii trigonometrice, etc).

Laborator 2
Metode de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Modele de Aproximare si Simulare


e-mail: epelican@univ-ovidius.ro

Laborator 3
Departamentul de Matematics si Informatic
a

Toamna 2015

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Scheme cu diferente finite. Cazul 1D, liniar.


In cele ce urmeaza ne vom ocupa de rezolvarea numerica a
problemelor Cauchy cu valori pe frontiera (sau la capete), cazul
uni-dimensional si liniar.
O astfel de problema este de forma
u 00 +p(x)u 0 +q(x)u+r (x) = 0,

a x b,

u(a) = , u(b) =
(1)
unde p(x), q(x) si r (x) sunt continue pe [a, b], si q(x) > 0 pe
[a, b].
Se stie (de la cursul EDI) ca n aceste conditii problema are solutie
unica, solutie pe care noi o vom aproxima n cele ce urmeaza.

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Pasul 1. Discretizarea domeniului

Se considera o discretizare echidistanta a domeniului [a, b]. Pentru


1
aceasta, fie un n IN , n 2. Notam cu h = numit pasul
n
diviziunii si consideram punctele/nodurile diviziunii
a = x0 < x1 < . . . < xn1 < xn = b.

(2)

Nodurile x1 , . . . , xn1 se numesc noduri interioare.

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Pasul 2. Metoda diferentelor finite

Aceasta metoda consta n a impune conditia ca ecuatia (1) sa se


verifice punctual n toate nodurile interioare, adica
u 00 (xi ) + p(xi )u 0 (xi ) + q(xi )u(xi ) + r (xi ) = 0, i = 1, . . . , n 1,
u(x0 ) = , u(xn ) =

Laborator 3
Modele de Aproximare si Simulare

(3)

Departamentul de Matematics si Informatic


a

Pasul 3. Aproximarea operatorilor diferentiali

In ecuatia (3), vom aproxima u 00 (xi ) prin + u(xi ), iar pe u 0 (xi )


prin + u(xi ) (de exemplu). Astfel, ecuatia (3)devine

u(xi + h) u(xi )
u(xi + h) 2u(xi ) + u(xi h)
+ p(xi )
+
2
h
h
+q(xi )u(xi ) + r (xi ) = 0, i = 1, . . . , n 1,
u(x0 ) = , u(xn ) =

Laborator 3
Modele de Aproximare si Simulare

(4)

Departamentul de Matematics si Informatic


a

Pasul 3. Aproximarea operatorilor diferentiali - contd

Astfel, ecuatia (4) se rescrie astfel

u(xi+1 ) 2u(xi ) + u(xi1 )


u(xi+1 ) u(xi )
+
+ p(xi )
2
h
h
+q(xi )u(xi ) + r (xi ) = 0, i = 1, . . . , n 1,
u(x0 ) = , u(xn ) =

Laborator 3
Modele de Aproximare si Simulare

(5)

Departamentul de Matematics si Informatic


a

Pasul 4. Obtinerea sistemului liniar asociat


In ecuatia (5) necunoscutele sunt u(xi ), i = 1, . . . , n 1. Notam
cu vi = u(xi ), i = 0, . . . , n, cu v0 = u(x0 ) = si vn = u(xn ) = .
Astfel, ecuatia (5) devine

vi+1 vi
vi+1 2vi + vi1
+ p(xi )
+
2
h
h

+q(xi )vi + r (xi ) = 0, i = 1, . . . , n 1,


v0 = , vn =

(6)

Scriind separat fiecare din cele n 1 ecuatii de mai sus, se obtine


un sistem liniar de forma
Av = b
(7)
care se numeste sistem liniar asociat.
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Pasul 5. Rezolvarea sistemului liniar asociat

In functie de specificitatea matricei sistemului (7), acesta se va


rezolva prin metoda Jacobi daca matrice este, de exemplu, strict
diagonal dominanta, EG tridiagonal daca matricea sistemului este
tridiagonala, SOR sau Gauss-Seidel daca matricea este simetrica si
pozitiv definitia, etc.

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitiu
Consider
am problema cu valori la capete

u 00 (x) = f (x) x (0, 1)
u(0) = u(1) = 0
1. calculati f (x) astfel ca uex = x(1 x) exp(x) sa fie solutie a
problemei;
2. Pentru f determinat anterior, gasiti solutia uaprox data de
metoda diferentelor finite; plotati cele doua solutii n acelasi
sistem grafic;
3. Realizati un filmulet (dupa modelul din laboratorul anterior)
pentru a observa ca solutia aproximativa se apropie de cea
exacta odata cu rafinarea diviziunii (cresterii numarului de
puncte interioare).
4. Realizati un tabel cu urmatoarea structura
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitiu
Consider
am problema cu valori la capete

u 00 (x) = f (x) x (0, 1)
u(0) = u(1) = 0
1. calculati f (x) astfel ca uex = x(1 x) exp(x) sa fie solutie a
problemei;
2. Pentru f determinat anterior, gasiti solutia uaprox data de
metoda diferentelor finite; plotati cele doua solutii n acelasi
sistem grafic;
3. Realizati un filmulet (dupa modelul din laboratorul anterior)
pentru a observa ca solutia aproximativa se apropie de cea
exacta odata cu rafinarea diviziunii (cresterii numarului de
puncte interioare).
4. Realizati un tabel cu urmatoarea structura
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitiu
Consider
am problema cu valori la capete

u 00 (x) = f (x) x (0, 1)
u(0) = u(1) = 0
1. calculati f (x) astfel ca uex = x(1 x) exp(x) sa fie solutie a
problemei;
2. Pentru f determinat anterior, gasiti solutia uaprox data de
metoda diferentelor finite; plotati cele doua solutii n acelasi
sistem grafic;
3. Realizati un filmulet (dupa modelul din laboratorul anterior)
pentru a observa ca solutia aproximativa se apropie de cea
exacta odata cu rafinarea diviziunii (cresterii numarului de
puncte interioare).
4. Realizati un tabel cu urmatoarea structura
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitiu
Consider
am problema cu valori la capete

u 00 (x) = f (x) x (0, 1)
u(0) = u(1) = 0
1. calculati f (x) astfel ca uex = x(1 x) exp(x) sa fie solutie a
problemei;
2. Pentru f determinat anterior, gasiti solutia uaprox data de
metoda diferentelor finite; plotati cele doua solutii n acelasi
sistem grafic;
3. Realizati un filmulet (dupa modelul din laboratorul anterior)
pentru a observa ca solutia aproximativa se apropie de cea
exacta odata cu rafinarea diviziunii (cresterii numarului de
puncte interioare).
4. Realizati un tabel cu urmatoarea structura
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Tabel
kuaprox uex k rata = log2

errn
err2n

8
16
32
..
.
256
unde errn = kuaprox uex k pentru b = xn .
Cum explicati valorile obtinute n ultima coloana?

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Detalii de implementare

Matricea sistemului care este tridiagonala o puteti implementa


(cel mai simplu) cu ajutorul functiei tridiag.m.

Sistemul l puteti rezolva sau cu functiile built-in ale


Matlab-ului (uaprox = A\b sau uaprox = inv(A) b) sau cu
ajutorul scripturilor EGtridiagclasic.m sau gs2.m.

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitii
Aceleasi cerinte pentru urmatoarele probleme la limita
 00
u (x) + 4u(x) = 0, x (0, /4)
I
u(0) = 0,
u(/4) = 2
Se cunoaste solutia exacta uex = 2 sin(2x).

, x (1, 2)
u 00 (x) = x2 u 0 (x) + x22 u(x) + sin xln(x)
2
I
u(1) = 1,
u(2) = 2
Se cunoaste solutia exacta
uex = cx + d/x 2 3/10 sin(ln(x)) 1/10 cos(ln(x)), c
0.03920701320, d 1.13922070132.
 00
u (x) + u(x) = 0, x (0, )
I
u(0) = 1,
u() = 1
Se cunoaste solutia exacta uex = sin(x) + cos(x).
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitii
Aceleasi cerinte pentru urmatoarele probleme la limita
 00
u (x) + 4u(x) = 0, x (0, /4)
I
u(0) = 0,
u(/4) = 2
Se cunoaste solutia exacta uex = 2 sin(2x).

u 00 (x) = x2 u 0 (x) + x22 u(x) + sin xln(x)
, x (1, 2)
2
I
u(1) = 1,
u(2) = 2
Se cunoaste solutia exacta
uex = cx + d/x 2 3/10 sin(ln(x)) 1/10 cos(ln(x)), c
0.03920701320, d 1.13922070132.
 00
u (x) + u(x) = 0, x (0, )
I
u(0) = 1,
u() = 1
Se cunoaste solutia exacta uex = sin(x) + cos(x).
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Exercitii
Aceleasi cerinte pentru urmatoarele probleme la limita
 00
u (x) + 4u(x) = 0, x (0, /4)
I
u(0) = 0,
u(/4) = 2
Se cunoaste solutia exacta uex = 2 sin(2x).

u 00 (x) = x2 u 0 (x) + x22 u(x) + sin xln(x)
, x (1, 2)
2
I
u(1) = 1,
u(2) = 2
Se cunoaste solutia exacta
uex = cx + d/x 2 3/10 sin(ln(x)) 1/10 cos(ln(x)), c
0.03920701320, d 1.13922070132.
 00
u (x) + u(x) = 0, x (0, )
I
u(0) = 1,
u() = 1
Se cunoaste solutia exacta uex = sin(x) + cos(x).
Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Observatii

Ordinul de aproximare pentru metoda cu diferente finite este 1 sau


2, n functie de operatorul folosit pentru aproximarea lui u 0 . Mai
exista algoritmul linear shooting care rezolva acelasi tip de
problema (nsa doar n cazul 1D), care are ordinul de aproximare 4,
dar este mult mai complicat.

Laborator 3
Modele de Aproximare si Simulare

Departamentul de Matematics si Informatic


a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Modele de Aproximare si Simulare


e-mail: epelican@univ-ovidius.ro

Laborator 4
Departamentul de Matematic
a si Informatic
a

Toamna 2015

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Cazul 1D, liniar. Exercitii

Terminati cele 3 exercitii ramase din laboratorul anterior.

Se
a problema cu valori la capete
 consider
u 00 (x) + u 0 (x) = 0 x (0, 1)
u(0) = 0
u(1) = 1
Se stie (remember de la seminarul EDI) ca solutia acestei
e x 1
.
probleme este uex (x) =
e 1

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Contd 1

Se aplica n continuare metoda schemelor cu diferente finite (de


acum nainte o vom numi, pe scurt, SDF).
Se defineste numarul lui Peclet ca fiind Pe = h = /n.
Din teorie stim ca pentru Pe 2, solutia discreta (aproximativa)
devine oscilatorie n raport cu cea exacta, asadar avem
instabilitatea numerica.

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Contd 2
1. Pentru n = 16, rezolvati sistemul liniar asociat (folosind
eventual EGtridiagclasic.m) pentru diverse valori ale lui (vezi
tabelul de mai jos). Plotati solutia exacta si cea aproximativa
n acelasi sistem de axe. Completati ultima coloana din tabel.
Tabel
Pe= /16 kuaprox uex k
8
0.5
16
1
32
2
48
3

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Cum eliminam instabilitatea?


Am putea mari pe n (adica l micsoram pe h) astfel ca pentru
48
< 1.
= 48, Pe < 2. Putem lua, de exemplu, n = 50 Pe = 50
Dar marind pe n, se accentueaza proprietatea de rau conditionare a
matricei A. Puteti verifica acest lucru apeland comanda Matlab
cond(A).
Pentru a nu se ntampla acest lucru, preconditionam. Astfel, fie

1 1 . . .

1 2 . . .

=
..
.. ..
.
.
.
. . . 1 2
1616

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Contd 1
care are proprietati spectrale similare

2 1

1 2
h =
..
..
.
.
. . . 1
adica
1

cu laplacian-ul discret

...
..
.

..
.
2
1616

(h )
4
()

si
1
Laborator 4
Modele de Aproximare si Simulare

min (h )
4.
()
Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Contd 2

Pentru matricea (care este simetrica si pozitiv definita) scriem


descompunerea/factorizarea Choleski = C C t cu

1
0 ...

1 1 . . .

C =
..
.. ..
.
.
.
. . . 1 1
1616

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Contd 3
Preconditionam sistemul liniar asociat obtinut anterior astfel
(C 1 AC t )(Cuaprox ) = C 1 b
sau renotand
Auaprox
= b
unde A = C 1 AC t , uaprox = Cuaprox si b = C 1 b. Obtinem n
final ca uaprox = C 1 uaprox .
Mentionam ca

1
1 ... 1

..
0
. 1
1
t
1 t

C = (C ) = .
.

.. ..
.
.

.
.
0 1 1616
Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Prezentarea problemei
O astfel de problema este de forma
u 00 (x) = f (x, u, u 0 ),

a x b,

u(a) = , u(b) =

(1)

unde f (x, u, u 0 ) este o functie neliniara n u.


Metoda SDF este analoaga celei de la cazul liniar, cu deosebirea ca
de data aceasta nu se va mai obtine un sistem liniar, ci unul
neliniar pe care l vom rezolva cu metoda Newton-Raphson
studiata n anul II la cursul de Analiza numerica.
Din cauza dificultatilor de rezolvare a sistemelor neliniare, ne vom
limita la sisteme de dimensiune maxim 5, adica vom discretiza
domeniul cu maxim 5 noduri interioare.
Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Exercitii

Consideram urmatoarele probleme cu valori la capete. Gasiti


solutia data de metoda SDF, cu cerintele specifice fiecarui item
 00
u (x) = 12 u 3 (x), x (1, 2)
1.
u(1) = 2/3,
u(2) = 1, h = 0.5
 00
3
u (x) = 2u (x), x (1, 2)
2.
u(1) = 1/4,
u(2) = 1/8, h = 0.2
 00
u (x) = u 3 (x) u(x)u 0 (x), x (1, 2)
3.
u(1) = 1/2,
u(2) = 1/3, h = 0.1

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Exercitii

Consideram urmatoarele probleme cu valori la capete. Gasiti


solutia data de metoda SDF, cu cerintele specifice fiecarui item
 00
u (x) = 12 u 3 (x), x (1, 2)
1.
u(1) = 2/3,
u(2) = 1, h = 0.5
 00
3
u (x) = 2u (x), x (1, 2)
2.
u(1) = 1/4,
u(2) = 1/8, h = 0.2
 00
u (x) = u 3 (x) u(x)u 0 (x), x (1, 2)
3.
u(1) = 1/2,
u(2) = 1/3, h = 0.1

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Exercitii

Consideram urmatoarele probleme cu valori la capete. Gasiti


solutia data de metoda SDF, cu cerintele specifice fiecarui item
 00
u (x) = 12 u 3 (x), x (1, 2)
1.
u(1) = 2/3,
u(2) = 1, h = 0.5
 00
3
u (x) = 2u (x), x (1, 2)
2.
u(1) = 1/4,
u(2) = 1/8, h = 0.2
 00
u (x) = u 3 (x) u(x)u 0 (x), x (1, 2)
3.
u(1) = 1/2,
u(2) = 1/3, h = 0.1

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 1D, liniar-contd

Scheme cu diferente finite. Cazul 1D, neliniar

Detalii de implementare

Sistemul neliniar va fi rezolvat cu ajutorului scriptului-functie


NeRa.m pe care l veti gasi, de asemenea, in folderul ProgrMatlab
de pe pagina mea.
Se va apela n Command Window
NeRa(funct,jacobiana1,[0.01,0.2],0.01,0.0001,20)
unde funct este numele scriptului-functie n care se defineste
sistemul neliniar, iar jacobiana1 este numele scriptului-functie n
care se defineste matricea Jacobi atasata sistemului neliniar.
Aceste doua scripturi le veti gasi n folderul ProgrMatlab, pentru
un caz concret. Voi le veti adapta la fiecare situatie n parte.

Laborator 4
Modele de Aproximare si Simulare

Departamentul de Matematic
a si Informatic
a

Modele de Aproximare si Simulare


e-mail: epelican@univ-ovidius.ro

Laborator 5-6
Departamentul de matematic
a si Informatic
a

Toamna 2015

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Scheme cu diferente finite. Cazul 2D, liniar.


Ecuatia eliptica cu derivate partiale pe care o consideram este
ecuatia Poisson:
2 u(x, y ) = u(x, y ) =

2u
2u
(x,
y
)
+
(x, y ) = f (x, y )
x 2
y 2

(1)

pe R ={(x, y )|a < x < b, c < y < d} cu


u(x, y ) = g (x, y ) pentru (x, y ) S,
unde S este frontiera lui R. Daca f si g sunt continue pe domeniul
lor de definitie, atunci exista o unica solutie a acestei ecuatii.
...... Metoda utilizata este metoda Diferentelor Finite pentru
probleme liniare cu valori la limita.
Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Discretizarea domeniului
...... Alegem numerele ntregi n si m, apoi definim h =

(b a)
si
n

(d c)
. Intervalul [a, b] se mparte n n parti egale cu pasul
m
h, iar intervalul [c, d] n m parti egale cu pasul k (vezi Fig 1).

k=

Figura 1

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Discretizarea domeniului - contd

Partitionam dreptunghiul R si notam


xi = a + ih, () i = 0, 1, 2, ..., n si
yj = c + jk,

() j = 0, 1, 2, ..., m.

...... Liniile x = xi si y = yj sunt liniile grilei iar intersectiile lor


sunt punctele retelei. Pentru orice punct interior retelei, (xi , yj ),
() i = 1, 2, . . . , n 1 si j = 1, 2, . . . , m 1.

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Aproximarea operatorilor diferentiali


Dezvoltam

2u
n serie Taylor n variabila x, n jurul lui xi
x 2

u(xi+1 , yj ) 2u(xi , yj ) + u(xi1 , yj ) h2 4 u


2u
(x
,
y
)
=

(i , yj ),
i
j
x 2
h2
12 x 4
(2)
unde i (xi1 , xi+1 ).
2u
n serie Taylor n variabila y , n
De asemenea, dezvoltam
y 2
jurul lui yj :
u(xi , yj+1 ) 2u(xi , yj ) + u(xi , yj1 ) k 2 4 u
2u
(x
,
y
)
=

(xi , j ),
i
j
y 2
k2
12 y 4
(3)
unde j (yi1 , yi+1 ).
Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Aproximarea operatorilor diferentiali - contd


Obtinem ecuatia Poisson n punctele (xi , yj )

u(xi+1 , yj ) 2u(xi , yj ) + u(xi1 , yj u(xi , yj+1 ) 2u(xi , yj ) + u(xi , yj1


+
=
h2
k2
h2 4 u
k 2 4u
= f (xi , yj ) +
(i , yj ) +
(xi , j )
4
12 x
12 y 4
() i = 1, 2, ..., n 1 si j = 1, 2, ..., m 1, si conditiile la
limita astfel
u(x0 , yj ) = g (x0 , yj ) si u(xn , yj ) = g (xn , yj ), () j = 0, 1, ..., m;
u(xi , y0 ) = g (xi , y0 ) si u(xi , ym ) = g (xi , ym ), () i = 1, 2, ..., n 1;
w0,j = g (x0 , yj ) si wn,j = g (xn , yj ), ()j = 0, 1, . . . , m;
wi,0 = g (xi , y0 ) si wi,m = g (xi , ym ), ()i = 1, 2, . . . , n 1;
(4)
unde wij aproximeaza u(xi , yj ).
Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Ecuatia (4) contine aproximari ale lui u(x, y ) n punctele (xi1 , yj ),


(xi , yj ), (xi+1 , yj ), (xi , yj1 ) si (xi , yj+1 ).
Fiecare ecuatie contine aproximari ale lui (xi , xj ) n forma de stea
(Fig 2).
Figura 2

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Numerotarea punctelor interioare


Daca folosim conditiile la limita anterioare n toate punctele (xi , yj )
adiacente unui punct de pe frontiera, vom avea un sistem liniar de
(n 1)(m 1) (n 1)(m 1), necunoscuta fiind aproximarea
wij a lui u(xi , yj ) pentru punctele interioare.
Pentru a calcula mai eficient matricea sistemului ce contine aceste
necunoscute, vom renumerota punctele interioare retelei. O
numerotare posibila este
Pl = (xi , yj ) si wl = wi,j ,
unde l = i + (m 1 j)(n 1),
j = 1, 2, ..., m 1.

Laborator 5-6
Modele de Aproximare si Simulare

() i = 1, 2, ..., n 1 si

Departamentul de matematic
a si Informatic
a

Astfel se numeroteaza punctele consecutive de la stanga la dreapta


si de sus n jos. De exemplu, pentru n = 4 si m = 5 prin
renumerotare rezulta o grila (Fig. 3).

Figura 3
Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Exemplu

In felul acesta, sistemul necesar pentru determinarea lui wi,j se


poate reprezenta printr-o matrice banda, cu latimea benzii de
maxim 2n 1.

Problema
Consideram problema determinarii distributiei stationare de
caldura ntr-o foaie subtire de metal de forma patratica de
dimensiune 0.5 m x 0.5 m. Doua frontiere adiacente sunt
tinute la 0o Celsius si caldura pe celelalte frontiere creste liniar
de la 0o ntr-un colt la 100o acolo unde partile se ntalnesc.

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Problema este exprimata n felul urmator:


2u
2u
(x,
y
)
+
(x, y ) = 0,
x 2
y 2
pentru (x, y ) R={(x, y ) | 0 < x < 0.5, 0 < y < 0.5}, cu
conditiile pe frontiera
u(0,y ) = 0, u(x,0) = 0, u(x,0.5) = 200x, u(0.5,y ) = 200y .
Figura 4

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Obtinerea sistemului liniar

Daca n = m = 4, se obtine
4wi,j wi+1,j wi1,j wi,j1 wi,j+1 = 0,
() i = 1, 2, 3 si () j=1, 2, 3. Exprimand acest lucru n punctele
renumerotate din interiorul grilei, wi = u(Pi ), vor rezulta ecuatiile
n punctele Pi :

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

P1 : 4w1 w2 w4 = w0,3 + w1,4 ,


P2 : 4w2 w3 w1 w5 = w2,4 ,
P3 : 4w3 w2 w6 = w4,3 + w3,4 ,
P4 : 4w4 w5 w1 w7 = w0,2 ,
P5 : 4w5 w6 w4 w2 w8 = 0,
P6 : 4w6 w5 w3 w9 = w4,2 ,
P7 : 4w7 w8 w4 = w0,1 w1,0 ,
P8 : 4w8 w9 w7 w5 = w2,0 ,
P9 : 4w9 w8 w6 = w3,0 w4,1 ,
unde membrul drept al ecuatiilor este obtinut din conditiile la
frontiera. De fapt, conditiile la limita implica :
w1,0 = w2,0 = w3,0 = w0,1 = w0,2 = w0,3 = 0,
w1,4 = w4,1 = 25,
Laborator 5-6
Modele de Aproximare si Simulare

w2,4 = w4,2 = 50,

si

w3,4 = w4,3 = 75.


Departamentul de matematic
a si Informatic
a

Sistemul liniar asociat acestei probleme are forma :

w1
4 1 0 1 0
0
0
0
0
w2
1 4 1 0 1 0
0
0
0

0 1 4
0
0 1 0
0
0
w3

1 0
0
4 1 0 1 0
0
w4

0 1 0 1 4 1 0 1 0
w5

0
0 1 0 1 4
0
0 1
w6

0
0
0 1 0
0
4 1 0
w7
0
0
0
0 1 0 1 4 1 w8
w9
0
0
0
0
0 1 0 1 4

Laborator 5-6
Modele de Aproximare si Simulare

25
50
150
0
0
50
0
0
25

Departamentul de matematic
a si Informatic
a

Rezolvati voi acest sistem folosind metoda Gauss-Seisel (scriptul


gs1.m) din folder-ul Progr Matlab.
Valorile wi , pentru i = 1, ..., 9 obtinute de mine prin aplicarea
metodei Gauss-Seidel matricei sistemului, sunt date n tabelul de
mai jos:
i
wi

1
18.75

2
27.50

3
56.25

Table 1
4
5
12.50 25.00

6
37.50

7
6.25

8
12.50

9
18.75

Acestea sunt exacte, avand n vedere faptul ca solutia exacta,


uex (x, y ) = 400xy are eroare de trunchiere la fiecare pas egala cu
zero.
4u
4u
=
0.
x 4
y 4

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Problema considerata are h = k = 0.125 si necesita rezolvarea unui


sistem liniar de doar 99. Aceasta simplifica situatia si nu
introduce probleme computationale care sunt prezente atunci cand
avem un sistem de dimensiune mai mare.

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

Refaceti exercitiul anterior, daca notarea punctelor interioare este


I

cea lexicografica

cea de tip rosu-negru.

Laborator 5-6
Modele de Aproximare si Simulare

Departamentul de matematic
a si Informatic
a

S-ar putea să vă placă și