6
Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, 2006 139 139 Metoda celor mai mici pătrate cu Matlab Constantin I.Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi, email:[email protected] Emilia Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi, e-mail:[email protected] Gheorghe Sufaru-Universitatea Tehnică „Gh. Asachi” Iaşi, e-mail:[email protected] 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.

Metoda Celor Mai Mici Patrate-popovici

Embed Size (px)

DESCRIPTION

Metoda Celor Mai Mici Patrate-popovici

Citation preview

Page 1: Metoda Celor Mai Mici Patrate-popovici

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

139

Metoda celor mai mici pătrate cu Matlab

Constantin I.Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi, email:[email protected]

Emilia Popovici-Universitatea Tehnică „Gh. Asachi” Iaşi, e-mail:[email protected]

Gheorghe Sufaru-Universitatea Tehnică „Gh. Asachi” Iaşi, e-mail:[email protected]

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.

Page 2: Metoda Celor Mai Mici Patrate-popovici

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

140

Î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

bAx = . Abordăm problema sistemelor supradimensionate. Ideea este de a „rezolva” sistemul prin minimizarea normei euclidiene a reziduului Axb +− . Considerăm sistemul bAx = , cu n necunoscute şi cu m >n ecuaţii. Simbolic, dorim să gasim un vector nCx∈ ce satisface sistemul bAx = , unde nmCA ×∈ şi mCb∈ . În general, o astfel de problemă nu are nici o soluţie. Un vector x corespunzător poate există numai dacă )Im(Ab∈ ş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, mCrAxbr ∈+−= , , (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 mnm CbnmCA ∈≥∈ × ,, , să se gaseasca vectorul nCx∈ astfel încat 2bAx − 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 nCx∈ ,astfel încât vectorul mCAx∈ 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:

⎪⎩

⎪⎨

=+++

=+++=+++

bmxaxaxa

bxaxaxabxaxaxa

nmnmm

nnnn

2211

2222212111212111

, m>n (2)

Evident, un asemenea sistem poate să nu aibă soluţie. Fie vectorul rezidual,

TmrrrbAxr ),,,( 21=−= (3)

Page 3: Metoda Celor Mai Mici Patrate-popovici

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

141

unde mibxaar ininii ,1,1 =−++= .

Considerăm funcţia pătratică, 22

22

121 ,),,,()( mn rrrrrxxxfxf +++>==<= . (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ă: 0)()(min * ==

∈xfxf

nRx , atunci 0)( * =xri , pentru orice .,1 mi =

Rezultă că sistemul (2) este compatibil şi atunci x=x* este soluţia exactă a sa. În general, sistemul (2) nu este compatibil şi 0)()(min * >=

∈xfxf

nRx, iar x=x* este un

substituit pentru soluţia sistemului, şi anume soluţia în sensul celor mai mici pătrate. Funcţia f se poate pune sub forma :

><+><−>>=<−−>=<=< bbbAxAxAxbAxbAxrrxf ,,2,,,)( , şi astfel avem ><+><−>=< bbxbAxAxAxf TT ,,2,)( (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

i

n

j

jiij dxdxbxfd1 1

2 0)( ,

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.

Page 4: Metoda Celor Mai Mici Patrate-popovici

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

142

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 :

⎪⎪⎪⎪

⎪⎪⎪⎪

=+=+=+=+=+=+=+=+=+=+

420118516415311210

473522

2

nmnmnmnmnmnm

nmnmnm

nm

, cu A =

⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜

12011811611511111017151211

şi b = (2 2 3 4 2 3 4 5 1 4)T.

Page 5: Metoda Celor Mai Mici Patrate-popovici

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

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 = ⎟⎠⎞⎜

⎝⎛

101051051505 , C = ⎟

⎠⎞⎜

⎝⎛

30340

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) > 2

1

λλ şi sistemul normal Gauss este bine condiţionat.

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:

A=⎟⎟⎟

⎜⎜⎜

1

1211

n şi B = ATA =

⎟⎟⎟⎟

⎜⎜⎜⎜

+

+++

nnn

nnnnn

2)1(

2)1(

6)12)(1(

.

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.

Page 6: Metoda Celor Mai Mici Patrate-popovici

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

144

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.