Sunteți pe pagina 1din 38

1

M
E
T
O
D
E

N
U
M
E
R
I
C
E

N

I
N
G
I
N
E
R
I
E

TUDOR PAUNESCU
MN4
6
.

R
E
Z
O
L
V
A
R
E
A

N
U
M
E
R
I
C


A

S
I
S
T
E
M
E
L
O
R

GENERALITI DESPRE SISTEME DE ECUAII
METODE DE REZOLVARE NUMERIC A SISTEMELOR
BIBLIOGRAFIE
REZOLVAREA NUMERIC A SISTEMELOR N MATCAD
2
[MOR04] C. Morariu, T.Punescu. Informatic aplicat n inginerie. Mathcad 2001. Ed. Univ. Bv. 2004.
[SCH08] E. Scheiber. Analiz numeric. Brasov.
[POS94] M. Postolache. Metode Numerice. Ed. Sirius, Bucureti, 1994.
[BEU92] T.Beu. Analiz numeric n Pascal. Ed. Micro inf. Cluj-Napoca. 1992.
[SAL72] M.G.Salvadori, M.L.Baron. Metode numerice n tehnic. Edit. Tehnic, Bucureti, 1972.
[LAR89] D.Larionescu. Metode numerice.Ed. Tehnic, Bucureti, 1989.
[MAR76] Gh. Marinescu. Probleme de analiz numeric rezolvarte cu calculatorul. Ed. Acad RSR, Bucureti, 1987.
[DOD76] Gh.Dodescu, M.Toma. Metode de calcul numeric. Ed. did. i pedag. Bucureti, 1976.
[LIX79] L.Gr. Lixaru. Metode numerice pentru ecuaii difereniale cu aplicaii. Ed. Acad RSR, Bucureti, 1979.
[MEM80 ] ***, Mic enciclopedie matematic, traducere din limba german. Edit. Tehnic, Bucureti, 1980.
[DOR76] W.S.Dorn, D.D.Mc.Cracken. Metode numerice cu programe in Fortran IV. Ed.Tehhnica. Buc. 76.

[HAU53] A.S.Hauseholder. Principles of Numerical Analysis. Mc Graw-Hill, New Zork, 1953.
[CON80] S.D.Conte- Elementary Numerical Analysis - An Algorithmic Approach, McGraw-Hill 3
rd
, 1980.
[PHI96] G. M. M. Phillips, P.J. Taylor. Theory and Applications of Numerical Analysis 2nd ed, Elsevier, 1996
[HOF01] J.F. Hoffman. Numerical Methods for Engineers and Scientists 2nd ed. Elsevier, 2001.
[NOC99] J.Nocedad. Numerical Optimization.Springer,1999.
BIBLIOGRAFIE
3
1. GENERALITI DESPRE SISTEME DE ECUAII
Funcie de natura ecuaiilor componente sistemele de ecuaii (SE) pot fi liniare (SEL) sau nu (SEN),
ultimele pot fi algebrice (SEAN) sau transcendente (SET).
SEAL

3x+5y=2
x-4y=8
SEAN

x
2
-x+y
2
=0
x
2
-y
2
-y=0

SET

e
x
+y=2
e
y
-x=3
b
c
Fig. 1a.
4
Sisteme de ecuaii algebrice liniare
Un sistem de ecuaii liniare are forma:
coninnd m ecuaii cu n necunoscute x
k
n formalism matriceal sistemul se mai poate scrie: A
.
X = B, unde A este matricea coeficienilor, X
i B sunt vectorii coloan ai necunoscutelor, respectiv ai termenilor liberi.
Dac sistemul admite cel puin o soluie este compatibil, n caz contrar incompatibil.
Dac admite o singur soluie se spune c este compatibil determinat i compatibil nedeterminat
dac admite mai multe soluii.

=
= = =
n
k
h k hk
b x a
1
n ... 1, k m, ... 1 h ,
3x+2y -5z = 2
4x+y +7z = 0
2x+5y = -7
5
Regula lui CRAMER (PRE)
Dac m = n i D=0 (determinant nenul) sistemul este compatibil determinat. Soluia sistemului este:
D D x
k k
/ = unde D
k
este determinantul obinut din D prin nlocuirea coloanei k cu B.
Sub form matriceal soluia se scrie: X = A
-1
B.
Teorema KRONEKER-CAPELLI (PRE)
A1 este matricea obinut din A prin bordarea la dreapta cu coloana B.
a. Sistemul este compatibil dac i numai dac A i A1 au acelai rang r.
Dr este determinantul principal, cel care d rangul r al sistemului.
b. Dac n=r sistemul este compatibil determinat, se aplic regula Cramer.
c. Dac r < n sistemul se rezolv ca la b, n prealabil se trec n dreapta necunoscutele secundare.
Soluia depinde de valorile celor n-r necunoscute secundare, se spune c sistemul are
n-r
soluii.
3x+2y -5z = 2
4x+y +7z = 0
2x+5y = -7
6
Fiind dat un sistem liniar de ecuaii, soluiile se pot ncadra n trei categorii: soluie unic (fig. 2a), sistemul
nu are soluie(fig. 2b), sistemul are o infinitate de soluii (fig. 2c).
b Fig. 2a. c
7
Sisteme de ecuaii algebrice liniare bine i ru condiionate
Deseori sistemele de ecuaii liniare
modeleaz fenomene a cror
caracteristici au fost msurate
experimental. n aceste situaii apar
inevitabil erori de msurare a
caracteristicilor care se reflect asupra
soluiilor. Dac mici variaii ale
coeficienilor sistemului au ca efect
variaii relativ mari ale valorilor
soluiilor spunem c sistemul este ru
condiionat.

Sistemul 2 este ru condiionat
deoarece la o mic variaie a
coeficientului 6.917 la 6.912 variaiile
valorilor soluiilor sunt mult mai mari.
Se observ ca acest fapt se datoreaz
ecuaiilor foarte apropiate. Pt. astfel
de ecuaii metodele numerice pot da
erori relativ mari.
Exemplul 1 Salt la slide 13
8
Exemple de sisteme liniare perturbate la nivelul vectorului termenilor liberi i la nivelul coeficienilor variabilelor


Ex.2
Ex.3
9

Ex.4
Fie o matrice nesingular i II II o norm a matricei A.
Numrul real
cond(A) = II A II
.
II A
-1
II (0)
Se numete numr de condiionare (NC) a maricei A. NC este prin definiie maximum posibil al
mrimii raportului dintre eroarea relativ a soluiei i eroarea relativ a termenului liber.

Dac cond(A) este mare atunci sistemul este ru condiionat (este sensibil la mici perturbaii), n caz
contrar este bine condiionat (este relativ insensibil la mici perturbaii).

Valori mari ale numrului de condiionare indic faptul c matricea este aproape singular, deci
precizia de calcul, a soluiilor sistemului de ecuaii algebrice liniare, este slab. Inversa unei matrice
ptrate care are un numr de condiionare mare este dificil de calculat, este afectat de erori.
10
(S)
(S)
(S)
(1)
(1)
11
Calculul normelor vectorilor i matricelor (S)

Normele sunt scalari care dau o msur a mrimii elementelor unei matrice sau vector. n biblioteca Mathcad exist patru
tipuri de norme care se aplic unor matrice ptrate:
- Funcia norm1(A) returneaz norma L1 a matricei A, calculnd cea mai mare sum a modulelor elementelor de pe
coloan.
- Funcia norm2(A) returneaz norma L2 a matricei A, calculeaz cea mai mare valoare singular a matricei A.
- Funcia norme(A) returneaz norma euclidian a matricei A.
- Funcia normi(A) returneaz norma infinit a matricei A, calculnd cea mai mare sum a modulelor elementelor de pe
linie.
12
Exemplul 5 (S)
13
Se observ c numerele de condiionare ale matricelor coeficienilor ecuaiilor ru condiionate au valori
mari comparativ cu valorile asociate ecuaiilor bine condiionate.
Exemplul 6 de calcul a numerelor de condiionare disponibile n biblioteca de funcii Mathcad 14 pentru ex. 1.
S
a
l
t

e
x
.

1

14
2. METODE DE REZOLVARE NUMERIC A SISTEMELOR DE ECUAII
Dup cum s-a amintit n cap.1 metodele de rezolvare a sistemelor de ecuaii liniare sunt directe sau iterative.
Pe de alt parte sistemele de ecuaii pot fi liniare (SEAL) sau neliniare (SEAN), n particular pentru ultimele
transcendente (SET).
Metodele directe permit rezolvarea SE, obinndu-se teoretic o soluie exact, practic una afectat de erorile
trunchiere, rotunjire ale sistemului de calcul utilizat. n general, metodele directe sunt ineficente pentru
rezolvarea SE mari, de unde a aprut i necesitatea metodelor iterative, care dei n general nu ating soluia
exact, sunt mult mai eficiente dpdv a efortului de calcul, implementarea lor ntr-un limbaj de programare
este mult mai simpl.
Metodele directe urmresc transformarea sistemului ntr-unul echivalent a crui matrice a coeficienilor
variabilelor este o inferior sau superior triunghiular, uneori unitate, pentru care rezolvarea este banal.

Exemplu de rezolvare a unui SEAL 3x3 prin metoda eliminrii a lui Gauss
(4)
15
n continuare vor fi analizate metodele iterative de rezolvare a SEAL, SEAN i SET.

2.1. Metode de rezolvare iterativ a sistemelor de ecuaii algebrice liniare

2.1.1. Metoda iterativ Jacobi (S) [BEU92]
Fie SEAL la care se presupune c elementele diagonalei
matricei A sunt nenule.



Rezolvm prima ecuaie n raport cu x
1
, pe cea de a doua n
raport cu x
2
amd.

Dac se noteaz cu S=[s
ij
]
nn
i cu T=[t
i
]
n
sistemul 6 poate fi
scris sub forma:
X= T+S
.
X (7)
care este structura de baz a procesului iterativ de rezolvarea
SEAL.
(5)
(6)
16
Etape

Aproximaia de ordin zero este coloana termenilor liberi X
(0)
= T.
Aproximaia de ordin k este construit pe baza relaiei de recuren 7:
X
(k)
= T+S
.
X
(k-1)
(8)
Dac irul X
(0)
, X
(1)
, ... , X
(k)
, ... are o limit care este soluia sistemului 5.
Relaiile procesului iterativ sunt:

(9)

Se noteaz cu diferenele dintre soluii:
(10)
Considernd c matricea diagonal S are elemente -1 relaiile 9 se scriu:



(11)

17
Procesul iterativ nceteaz cnd eroarea absolut maxim devine mai mic dect o eroare admisibil ,
sau se poate folosi criteriul erorii relative:
(12)
(13)

Convergena iteraiilor
Teorem
Dac pentru sistemul redus 9 este satisfcut cel puin una din condiiile:

(14)

Atunci procesut iterativ converge ctre o soluie unic, indiferent de alegerea primei aproximaii.

n practic se utilizeaz metoda Gauss Seidel care are vitez de convergen superiar metodei
Gauss i n plus necesit i mai puin memorie.
18
2.1.2. Metoda iterativ Gauss - Seidel (S) [BEU92]

Metoda GS utilizeaz pentru calculul x
i
(k)
aproximaiei de ordin k a
soluiei sistemului componentele x
1
(k)
... x
i-1
(k)


spre deosebire de
metoda Jacobi care utiliza valorile din iteraia anterioar.
Se folosesc aceleai notaii ca la metoda Jacobi:

(15)
Relaiile cu care se efectueaz iteraiile sunt:

(16)


Procesul iterativ se poate opri dac se utilizeaz criteriul erorii
absolute sau relative (12, 13).
Teorema de convergen (14) i pstraz valabilitatea i pentru
metoda G-S.
19
2.2. Metode de rezolvare iterativ a sistemelor de ecuaii neliniare

Nu exist procedee generale directe de rezolvare a sistemelor de ecuaii neliniare, de aceea se
utilizeaz aproape exclusiv metodele iterative: Jacobi, Newton, Newton-Kantorovici, gradientului,
gadientului conjugat, Lovenberg-Marquardt, Gauss-Seidel neliniar.
(17)
20
(18)
(19)
(20)
Metoda Newton/tangentelor pentru rezolvarea iterativ a sistemelor de ecuaii neliniare este o generalizare
a metodei aplicate la rezolvarea ecuaiilor neliniare monovariabile (metoda Newton unidimensional vezi
C05 Ecuatii).
Pentru nceput s considerm un sistem de dou ecuaii cu dou necunoscute (ecuaiile a dou suprafee
implicite) [LAR89]:
f(x,y)=0, g(x,y)=0
derivabile ntr-o anumit vecintate a punctului (x
0
, y
0
). Valorile de start ale algoritmului sunt determinate cel
mai uor n Mathcad prin reprezentarea grafic a celor dou funcii.
n primul pas se nlocuiesc cele dou funcii neliniare cu planele tangente n vecintatea punctului iniial i se
ia ca aproximare urmtoare punctul n care drepta de intersecie a planelor taie planul z=0.
Ecuaiile planelor tangente n punctul (x
k
, y
k
) la suprafeele z=f(x,y), z=g(x,y) (dezvoltri n serie Taylor cu
reinerea doar a termenilor liniari) sunt:


S facem z=0 (intersecia planelor tangente cu planul XY) i s notm x-x
k
=h
k
, y-y
k
=r
k
.
Se obin astfel relaiile de recuren:
) , ( ) ( ) , ( ) ( ) , (
) , ( ) ( ) , ( ) ( ) , (
' '
' '
k k y k k k x k k k
k k y k k k x k k k
y x g y y y x g x x y x g z
y x f y y y x f x x y x f z
+ + =
+ + =
k k k
k k k
r y y
h x x
+ =
+ =
+
+
1
1
2.2.1. Metoda Newton de rezolvare iterativ a sistemelor de ecuaii neliniare

21
Unde x
k
i r
k
satisfac relaiile (obinute din relaiile 19 pentru z=0 ):





Sau scrise sub form matriceal:





Matricea 4x4 este matricea Jacobi a sistemului neliniar:





Dac nmulim la stnga cu J
-1
ecuaia 23, cum J
-1
J=1 rezult:





Generaliznd rezult funcia de de iterare sub form vectorial:



Unde x este vectorul variabilelor, F(x) este matricea Jacobi, f(x) este vectorul funciilor sistemului.
( ) ( )
( ) ( ) ) , ( , ,
) , ( , ,
' '
' '
k k k k y k k k x k
k k k k y k k k x k
y x g y x g r y x g h
y x f y x f r y x f h
= +
= +
(21)
(22)
( ) ( )
( ) ( )
(

=
(

(
(

) , (
) , (
, ,
, ,
' '
' '
k k
k k
k
k
k k y k k x
k k y k k x
y x g
y x f
r
h
y x g y x g
y x f y x f
( ) ( )
( ) ( )
(
(

=
(

=
(

k k y k k x
k k y k k x
k k
k k
k
k
y x g y x g
y x f y x f
y x g
y x f
r
h
J
, ,
, ,
J ,
) , (
) , (
' '
' '
(23)
(

=
(


) , (
) , (
1
k k
k k
k
k
y x g
y x f
J
r
h
(24)
| | ( ) x f x F x x =
1
) ( ) (
(25)
22
n consecin irul de iterare are forma:



Exemplul 7

Sistemul neliniar este: x=x
2
+y
2
, y=x
2
-y
2
. Pe lng soluia banal x=y=0 mai exist o soluie real n
vecintatea punctului P0(0.8, 0.4).
| | ( )
k k k k
x f x F x x =

+
1
1
) (
(26)
S-au definit cele dou funcii implicite, a fost introdus o
funcie care calculeaz matricea Jacobi, s-au calculat
numerele de condiionare ale funciiilor liniarizate n
vecintatea soluiei nebanale, determinate grafic.
Exemplul 7.1
23
Exemplul 7.2 Exemplul 7.1 continuare
Exemplul 7.2 are o generalitate mai mare decit cel din 7.1 in program a fost
inclusa definirea matricei Jacobi si numele a doua functii oarecare f1, f2 ca
parametri formali.
24
(P) Scriei un program care s rezolve prin
metoda Newton sisteme cu oricte ecuaii
neliniare
Exemplul 7.3
25
(PRE)
26
27
2.2.2. Metoda de rezolvare iterativ a sistemelor de ecuaii neliniare (S)

Se consider sisteme de dou ecuaii cu dou necunoscute.
Teoria este identic cu cea a ecuaiilor dac se nlocuieste R cu R
2
i valoarea absolut n R cu norma n R
2
.

=
=
0 ) , (
0 ) , (
2
1
y x f
y x f

=
=
). , (
) , (
2
1
y x f y y
y x f x x

(27)
(28)
Lund
D y x e ) , (
0 0
:

=
=
). , (
) , (
0 0 2 0 1
0 0 1 0 1
y x f y y
y x f x x
iternd
(29)

= =
= =
+
+
). , ( ) , (
) , ( ) , (
2 2 1
1 1 1
n n n n n n
n n n n n n
y x g y x f y y
y x g y x f x x
Sub form matriceal
) , ( y x X =
)) ( ), ( ( ) (
2 1
X f X f X F = )) ( ), ( ( ) (
2 1
X g X g X G = ) ( ) (
1 n n n n
X G X F X X = =
+
(30)
2 2
y x X + = cu norma
28
3. REZOLVAREA NUMERIC A SISTEMELOR N MATCAD
3.1. REZOLVAREA SISTEMELOR ALGEBRICE LINIARE N MATCAD
REZOLVAREA SISTEMELOR
ALGEBRICE LINIARE N
MATCAD
Rezolvare prin
metode directe
Rezolvare prin
metode iterative
Matricea invers
Funcia lsolve
Solve block

funciile find i minner
29
Funcia lsolve
Exemplul 8
Observaii
1. Coeficienii matricei A pot fi reali sau imginari
2. Verificai nainte de rezolvarea sistemului dac
acesta este bine sau ru condiionat prin calculul
numrului de condiionare (funciile cond1, cond2
etc)
Exemplul 9

Sistemul din exemplul 8 poate fi rezolvat i direct
prin introducerea n placeholder-ele funciei lsolve
a matricelor A i b.
Funcia Mathcad lsolve folosete o decompoziie LU i algoritmul Crout.
30
Exemplul 10

Sistemele liniare algebrice pot fi rezolvate i prin metodele iterative
permise de solve block
3.2. REZOLVAREA SISTEMELOR NELINIARE N MATCAD
Se utilizeaz notaiile folosite n relaia 17.
(31)
I x
i
x
i-1
I < TOL
31
(32)
Aceast eroare poate fi afiat utilizndu-se variabila predefinit ERR
DAC FUNCIA Find NU CONVERGE SPRE O SOLUIE SE POATE NCERCA CU FUNCIA minner CARE
ESTE POSIBIL S GSEASC UN REZULTAT APROXIMATIV
32
La clic dreapta pe numele funciei Find apare meniul din figura 3. Dac este bifat
opiunea AutoSelect (implicit bifat) sistemul identific natura sistemului de ecuaii (liniar,
neliniar) i aplic mai muli algoritmi pn gsete unul s converg (succesiunea este
Levenberg-Marquardt Conjugate Gradient Quasi-Newton). Este posibil ca nici un
algoritm s reueasc s gsesc o soluie aproximativ a sistemului de ecuaii.

Productorul indic faptul c uzual se lucreaz cu opiunea de autoselectare, dar este
posibil i selectarea direct a unuia din cei trei algoritmi amintii (fig. 4). n acest variant
pentru algoritmii Conjugate Gradient i Quasi-Newton este posibil s fie setai i ali
parametri (fig. 5), pentru amnunte vezi [MOR04] pg. 209.

Blocul solve poate rezolva sisteme cu 400 de variabile reale dac se utilizeaz metodele
Quasi-Newton sau Conjugate-Gradient. Dac se lucreaz n complex Mathcad consider
partea imaginar i cea real ca variabile separate deci limita se njumtete. n cazul
algoritmului Levenberg-Marquardt numrul de variabile este limitat doar de memoria
disponibil a calculatorului. Sistemele liniare pot avea maximum 8192 de restricii, cele
neliniare 200.

Dup cum s-a mai amintit algoritmul curent se oprete dac dou soluii succesive difer
cu mai puin de valoarea constantei predefinite TOL sau dac se atinge numrul maxim de
iteraii. Nu se recomant setarea TOL cu valori prea mici 10
-10
... 10
-15
din cauza erorilor
de rotunjire.
Fig.3
Fig.4
Fig.5
33
n cazul sistemelor de ecuaii, spre deosebire de TOL care controleaz procesul iterativ prin diferenele a dou soluii
succesive, prin CTOL Constraint - TOLerance), n general, sunt controlate restriciile asociate Given, n particular pentru
sisteme liniare, restriciile egalitate AX=b.
Dac inegalitile dintr-un bloc solve au forma:
h(t) < ct
Mathcad evalueaz diferena dintre membrul stng i membrul drept al inegalitii, iar precizia de rezolvare este considerat
corespunztoare dac:
h(sol) ct < CTOL (33)
unde cu sol a fost notat soluia.

Mesaje de eroare asociate funciilor fiind i minner
34
Valoarea variabilelor globale predefinite TOL i CTOL poate fi modificat n dou moduri:
- direct n foia de lucru: de exemplu TOL:=10
-6
;
-

prin meniul Tools Worksheet Options tab-ul Built-in Variables.
Exemplul 11 [MOR04]






Etapa 1










Etapa 2
Dac sistemul de ecuaii neliniare
are mai multe soluii, blocul solve
trebuie utilizat de mai multe ori
35
Exemplul 12 Exemplul 13
Sistemul de la exemplul 11 rezolvat simbolic
Sistem cu soluii complexe
36
Exemplul 14
Sistem parametrizat, parametru a
Exemplul 15
O alternativ la rezolvarea ecuaiilor prin funcia
root este utilizarea funciilor Find sau minner
Exemplul 16
Rezolvarea simbolic a ecuaiei
propuse la exemplul 15
VECTORIZARE
37
continuare
Solutii obtinute din rulari succesive
Exemplul 17
38
Exemplul 18
Rezolvarea ecuaiilor matriceale [MOR04]

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