Sunteți pe pagina 1din 6

Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 139

Metoda celor mai mici pătrate cu Matlab

Constantin I.Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi,


email:constantin.popovici@rdslink.ro
Emilia Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi,
e-mail:emiliapopovici@yahoo.com
Gheorghe Sufaru-Universitatea Tehnică „Gh. Asachi” Iaşi,
e-mail:geocos1981@yahoo.com

Abstract
Lucrarea reflectă modul în care se poate folosi mediul de programare Matlab pentru
învăţarea şi înţelegerea modului de aplicare în practică a cursului de Analiză Numerică
prezentat studenţilor Facultăţii de Construcţii din Universitatea Tehnică „Gh. Asachi”
Iaşi. Este prezentat algoritmul numeric asociat metodei celor mai mici pătrate în cazul
sistemelor de ecuaţii algebrice liniare supradimensionate şi tratate doua exemple
adecvate, cu aplicatii în practica.
În concluzie, studenţii pot utiliza softul Matlab pentru rezolvarea problemelor de
matematică, care apar în cercetare, proiectare, inginerie, iar utilizarea softului este o
metodă complementară şi nu substitutivă [2].

1. Introducere

Metodele numerice care se folosesc astăzi, fie cele clasice, fie cele noi, se utilizează
numai prin intermediul calculatorului. Ţinând cont de complexitatea problemelor
utilizatorul trebuie să studieze cazurile în care trebuie să decidă ce sistem de calcul va
fi adecvat pentru problema în cauză, dar în acelaşi timp şi să „intuiască” modul de
abordare a raţionamentelor ce trebuie implementate pentru rezolvarea problemei.
Metodele numerice trebuie concepute astfel încât să fie eficiente şi numeric stabile.
Eficienţa se asigură prin elaborarea unor algoritmi care să implice un număr cât mai
mic de operaţii aritmetice elementare.
Ituitiv vorbind, stabilitatea numerică a unui algoritm înseamnă ca acesta este cât
mai puţin sensibil la erorile de rotunjire sau la alte incertitudini numerice care pot
aparea în procesul de calcul.
Dacă toate calculele se fac pe baza unor combinaţii convexe, atunci toate rezultatele
intermediare şi chiar rezultatul final vor fi în domeniul de mărime al datelor iniţiale,
asigurând stabilitatea algoritmului.
Elaborarea unui algoritm numai pe baza unor combinaţii convexe nu se poate
realiza în toate cazurile, dar această cerinţă constituie un principiu general ce trebuie
avut în vedere întotdeauna la implementarea metodelor numerice pe calculator.
2. Aproximarea discretă în sensul celor mai mici pătrate
Portrivirea (netezirea) datelor în sensul celor mai mici pătrate s-a dovedit un
instument indispensabil încă de la inventarea sa de către Gauss şi Legendre, în jurul
anului 1800, cu ramificaţii în ştiinţele experimentale.

139
140 Facultatea de Matematică şi Informatică, Bucureşti

În limbajul algebrei liniare, problema este de a rezolva un sistem de ecuaţii algebrice


liniare supradimensionat (numărul ecuaţiilor fiind mai mare decât numărul
necunoscutelor) sau a unui sistem de ecuaţii subdimensionat (numărul ecuatiilor fiind
mai mic decat numărul necunoscutelor), adica sisteme dreptunghiulare de forma
Ax = b . Abordăm problema sistemelor supradimensionate. Ideea este de a „rezolva”
sistemul prin minimizarea normei euclidiene a reziduului −b + Ax .
Considerăm sistemul Ax = b , cu n necunoscute şi cu m >n ecuaţii. Simbolic, dorim
să gasim un vector x∈ C n ce satisface sistemul Ax = b , unde A ∈ C m×n şi b ∈ C m . În
general, o astfel de problemă nu are nici o soluţie. Un vector x corespunzător poate
există numai dacă b ∈ Im(A) şi deoarece b este un vector cu m componente şi Im(A)
are dimensiunea cel mult n , acest lucru este adevarat numai pentru alegeri cu totul
speciale ale lui b.
Vectorul r definit de relaţia,
r = −b + Ax, r ∈ C m , (1)
numit reziduu, poate fi făcut mic printr-o alegere adecvată a lui x, dar în general nu
poate fi făcut egal cu zero.
Ce înseamnă să rezolvăm o problemă care nu are nici o soluţie? În cazul unui sistem
supradimensionat există un răspuns natural la aceasta întrebare. Deoarece reziduul r
nu poate fi făcut zero, trebuie să-l facem cât mai mic posibil într-o anumită normă.
Dacă alegem norma ⋅ 2 , problema poate fi reformulată astfel.
Dată fiind matricea A ∈ C m×n , m ≥ n , b ∈ C m , să se gaseasca vectorul x ∈ C n astfel
încat Ax − b 2 să fie minimă.
Această problemă se numeşte problemă liniară discretă de aproximare în sensul celor
mai mici pătrate. Alegerea normei ⋅ 2 poate fi justificată prin diverse argumente
geometrice şi statistice şi, aşa cum vom vedea, conduce la algoritmi simpli datorită
faptului că derivata unei funcţii pătratice, care trebuie anulată pentru a se obtine
minimul, este liniară.
Interpretarea geometrică a problemei este simplă: căutam un vector x ∈ C n ,astfel
încât vectorul Ax ∈ C m să fie punctul din Im(A) cel mai apropiat de b.

3. Metoda celor mai mici pătrate

În procesul de prelucrare şi ajustare a datelor apar sisteme de ecuaţii algebrice


liniare supradimensionate sau subdimensionate. Abordam problema sistemelor
supradimensionate.
Fie sistemul:
⎧a11 x1 + a12 x 2 + " + a1n x n = b1
⎪a 21 x1 + a 22 x 2 + " + a 2 n x n = b2
⎨" " " " "
, m>n (2)
⎪a x + a x + " + a x = bm
⎩ m1 1 m2 2 mn n
Evident, un asemenea sistem poate să nu aibă soluţie.
Fie vectorul rezidual,
r = Ax − b = (r1 , r2 , " , rm ) T (3)

140
Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 141

unde
ri = a i1 + " + a in x n − bi , i = 1, m .
Considerăm funcţia pătratică,
f ( x) = f ( x1 , x 2 , " , x n ) =< r , r >= r12 + r22 + " + rm2 . (4)

Definiţia 1. Se numeşte soluţie în sensul celor mai mici pătrate a sistemului (2), acel
vector x*, pentru care funcţia (4) are valoarea minimă.
Dacă: min f ( x) = f ( x * ) = 0 , atunci ri ( x * ) = 0 , pentru orice i = 1, m.
x∈R n
Rezultă că sistemul (2) este compatibil şi atunci x=x* este soluţia exactă a sa.
În general, sistemul (2) nu este compatibil şi min f ( x) = f ( x * ) > 0 , iar x=x* este un
x∈R n
substituit pentru soluţia sistemului, şi anume soluţia în sensul celor mai mici pătrate.
Funcţia f se poate pune sub forma :
f ( x) =< r , r >=< Ax − b, Ax − b >=< Ax, Ax > −2 < Ax, b > + < b, b > ,
şi astfel avem
f ( x) =< A T Ax, x > −2 < A T b, x > + < b, b > (5)

Teorema 1. Dacă rang A = n, atunci sistemul (2) admite o singură soluţie în sensul
celor mai mici pătrate şi aceasta este soluţia (unică) a sistemului
ATAx = ATb (6)
Sistemul (6) se numeşte sistemul normal al lui Gauss.
Demonstraţie.
Punctele de extrem ale funcţiei pătratice f, dată de relaţia (5), se caută printre
punctele sale critice, iar acestea se află rezolvând sistemul:
grad f = 0
Cum grad f = ATAx –ATb, obţinem sistemul ATAx = ATb. Ţinând cont că :
rang A = rang AT = rang (ATA) =rang (AAT), atunci matricea B = ATA este o matrice
pătratică de ordinul n şi rang B = n, conform celor de mai sus. Rezultă că sistemul (6)
admite o soluţie unică, x = x*, care este punct critic pentru f.
Matricea B este evident simetrică şi semipozitiv definită. Mai mult, în ipoteza
noastră, matricea B este pozitiv definită.
Într-adevăr dacă presupunem ca <Bx,x> = 0, atunci rezultă că <Ax,Ax> =0 şi deci
Ax =0. Cum rang A = n <m rezultă x = 0.
Pe de altă parte avem
n n
d 2 f ( x) = ∑∑ b dx dx ij i j >0,
i =1 j =1
de unde rezultă că x = x* este punct de minim pentru f şi cu aceasta teoremă este
demonstrată.
Aşadar, în ipoteza rang A = n ,soluţia sistemului (2), în sensul celor mai mici pătrate,
este unică şi se află rezolvând sistemul (6). Acest sistem este simetric pozitiv definit.
Rezolvarea sa se poate face prin metoda Cholesky sau una din metodele de relaxare.

141
142 Facultatea de Matematică şi Informatică, Bucureşti

Factorizarea Cholesky pentru sistemul (6) este o metoda directă de rezolvare a unui
sistem de ecuaţii liniare, cu matricea coeficienţilor pozitiv definită. Există o matrice
unică R superior triunghiulară, nesingulară, care satisface relaţia:
AT A = RTR
Factorizarea Cholesky pentru (6) se realizează cu funcţia Matlab chol; aceasta funcţie
se poate apela cu una dintre sintaxele:
R = chol (ATA) sau [ R,p] = chol (ATA),
unde:
A - este o matrice pozitiv definita;
R - este o matrice superior triunghiulara, astfel incat RTR = ATA ;
p - este un scalar de test , egal cu zero daca matricea A este pozitiv definita şi,
un întreg pozitiv în caz contrar.

Rezolvarea cu Matlab a unui sistem de ecuaţii liniare presupune etapele:


- se calculeaza factorul Cholesky, R = chol (AT*A) ;
- se rezolva sistemul RTy = b cu relatia : y = RT \AT b ;
- se rezolva sistemul Rx = y cu relatia : x = R \ y.
Rezolvarea practică a sistemului (6) ridică probleme din cauza faptului ca numărul
de condiţionare al matricei B = ATA este mare. Numărul de condiţionare a lui B se
calculează cu functia Matlab cond.

Observatie. Teoretic, soluţia sistemului (6) este x* = (ATA)-1ATb. Matricea


P = (ATA)-1AT se numeste pseudoinversa matricei (dreptunghiulare) A. Noţiunea de
matrice pseudoinversă generalizează noţiunea de matrice inversă (pentru matrice
dreptunghiulare ).

4. Exemple

Dreapta de regresie

1) Să se determine traseul optim pentru o conductă de gaze naturale care să treacă


prin „apropierea” localităţilor Li , i = 1, 2, ... , 10, care, raportate la un sistem cartezian
de referinţă, au coordonatele următoare:
L1(1,2), L2(2,2), L3(5,3), L4(7,4), L5(10,2), L6(11,3),
L7(15,4), L8(16,5), L9(18,1), L10(20,4).
Rezolvare
Luând traseul după o dreaptă, se obţine sistemul :
⎧m + n = 2 ⎛1 1⎞
⎪2 m + n = 2 ⎜2 1⎟
⎪5m + n = 3 ⎜5 1⎟
⎪7 m + n = 4 ⎜7 1⎟
⎪10m + n = 2 ⎜ 1 ⎟⎟ şi b = (2 2 3 4 2 3 4 5 1 4)T.
⎨11m + n = 3 , cu A = ⎜10
⎪15m + n = 4 ⎜11 1⎟
⎪16m + n = 5 ⎜15 1⎟
⎪18m + n = 1 ⎜16 1⎟
⎪ ⎜⎜18 1⎟
⎩20m + n = 4 ⎝ 20 1⎟⎠

142
Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 143

Sistemul este supradimensionat şi incompatibil. Se formează sistemul normal al lui


Gauss B u = C unde B = ATA, C = AT b şi u este necunoscută; în cazul nostru:
B= ⎛1505 105 ⎞ , C = ⎛ 340 ⎞
⎜105 10 ⎟ ⎜ 30 ⎟
⎝ ⎠ ⎝ ⎠
Matricea B este o matrice pozitiv definită.
Secvenţa Matlab :
clc
B = [1505 105; 105 10];
C = [340 30];
[R,p] = chol (B);
y = R \ C;
x = R \ y;
end
Metoda Cholesky poate fi aplicată şi avem soluţia u1=0,06211, u2=2,34783.
Raportat la acel sistem de coordonate, traseul conductei trebuie să urmeze drepta:
y = 0,06211 x + 2,34783.
cond (B) = 568,2405; λ1 = 1512,3 şi λ 2 = 2,7.
λ
Avem cond (B) > 1 şi sistemul normal Gauss este bine condiţionat.
λ2
Dreapta de regresie în acest caz este:
y = 0,06211 x + 2,34783.
Această dreaptă nu trece exact prin punctele Li , dar este acea dreaptă din plan care
trece cel mai aproape de aceste puncte.

2) Să presupunem că vrem să determinăm dreapta de regresie corespunzatoare


punctelor Mi (xi,yi), i + 1,2,...,n.

Matricele A şi B sunt:

⎛1 1⎞ ⎛ n(n + 1)(2n + 1) n(n + 1) ⎞


⎜ ⎜ ⎟
A= ⎜#2 1⎟ şi B = ATA = ⎜ 6 2 ⎟.
#⎟ ⎜⎜ n(n + 1)
⎜n 1⎟⎠ n ⎟⎟
⎝ ⎝ 2 ⎠

Pentru n =100, cond (B) > 13333 şi deci sistemul normal al lui Gauss este prost
condiţionat.

5. Concluzii

Matlab oferă o soluţie completă şi unitară pentru o rezolvare numerică a sistemelor


de ecuaţii liniare şi neliniare, a ecuaţiilor diferenţiale, a problemelor de aproximare.
Este utilizat atât de matematicieni, informaticieni, cât şi de ingineri şi fizicieni. Acest
mediu de programare este flexibil şi usor de utilizat.

143
144 Facultatea de Matematică şi Informatică, Bucureşti

Bibliografie

[1] Marin Vlada, Tehnologiile societatii informationale, Conferinta Nationala de Invatamant


Virtual, editia a III-a, 2005, Facultatea de Matematica şi Informatica Bucuresti, pp. 19-32.
[2] Ariadna Lucia Pletea, Rezolvarea ecuatiilor diferentiale cu Mathematica, Conferinta
Nationala de Invatamant Virtual, editia a II-a, 2004, Facultatea de Matematica şi Informatica
Bucuresti, pp. 153-160.
[3] Marin Vlada, Maple and MapleNet-integrated solutions for Web Based Learning în
Mathematics, Science and Engineering, Conferinta Nationala de Invatamant Virtual, editia a II-
a, 2004, Facultatea de Matematica şi Informatica Bucuresti, pp. 121-130.
[4] Nicolae Danet, Metode de constructie a curbelor plane. O introducere folosind Mathcad,
Conferinta Nationala de Invatamant Virtual, editia a II-a, 2004, Facultatea de Matematica şi
Informatica Bucuresti, pp. 309-316.
[5] Constantin I. Popovici , Emilia Popovici, Metode numerice cu Matlab, Conferinta Nationala
de Invatamant Virtual, editia a III-a, 2005, Facultatea de Matematica şi Informatica Bucuresti,
pp. 147-152.
[6] Gavril Paltineanu, Pavel Matei, Romica Trandafir, Analiza numerica, Editura Conspress,
Bucuresti, 1998.

144

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