Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Descompunerea si factorizare matricelor

Matematica


MCIM

Lucrarea 13

Descompunerea si factorizare matricelor



Functiile MATLAB folosite pentru descompunerea si factorizarea matricelor sunt:

chol calculeaza factorizarea Cholesky;

lu  calculeaza descompunerea LU (lower-upper) a matricei;

qr efectueaza descompunerea ortogonal-triunghiulara a matricei;

qz calculeaza descompunerea QZ a matricei;

pinv calculeaza pseudoinversarea matricei;

rref reduce matricele la forma triunghiulara.

1.Valori si vectori proprii

Īn determinarea solutiilor nebanale ale ecuatiei:

unde:  A - este o matrice patratica de ordinul n;

x - este vector coloana de ordinul n;

- este un scalar.

valorile x, respectiv , care satisfac ecuatia de mai sus se numesc vectori proprii, respectiv valori proprii.

Functia eig calculeaza valorile si vectorii proprii ai unei matrice patrate; se apeleaza cu una dintre sintaxele:

V=eig(A) V=eig(A,B)

[V,D]=eig(A) [V,D]=eig(A,B) [V,D]=eig(A,'nobalance')

Exemplul 1.1. Valorile si vectorii proprii ai matricei A=.

Cu secventa MATLAB:

A=[-2 1 0;1 -2 1;0 1 -2];

[V,D]=eig(A)

se obtin rezultatele:

V=  D=

2.Calculul valorilor singulare

Functia svd returneaza valorile singulare ale unei matrice. Calculul acestor valori este un mijloc sigur de determinarea a rangului unei matrice de forma generala. Functia svd se apeleaza cu una dintre sintaxele:

d=svd(X) - returneaza un vector care contine valorile singulare;

[U,S,V]=svd(X) - returneaza o matrice diagonala S cu aceleasi dimensiuni ca X, avānd elementele diagonale nenegative (care sunt si valorile singulare ) īn ordine descrescatoare si matricele U si V care satisfac relatia: X=U*S*V'

[U,S,V]=svd(X,0) - efectueaza un calcul mai rapid al valorilor singulare.

Exemplul 2.1. Sa se descompuna īn valori singulare matricea A=.

Cu secventa MATLAB:

A=[1 5;4 3];

d=svd(A)

[U,S,V]=svd(A)

se obtin rezultatele:

d= U=

954/143 3177/4435 464/665

3435/1348 464/665 -3177/4435

S= V=

954/143 0 521/991 -3725/4379

0 3435/1348 3725/4379 521/991

3.Factorizarea Cholesky

Factorizarea Cholesky se calculeaza cu functia MATLAB chol;se apeleaza cu una dintre sintaxele:

R=chol(A) [R,p]=chol(X)

unde:

A - este o matrice pozitiv definita;

R - este o matrice superior triunghiulara, astfel īncāt R'*R=A;

p - este un scalar de test,egal cu zero daca matricea a este pozitiv definita si un īntreg pozitiv īn caz contrar.

Exemplul 3.1. Calculati factorul Cholesky al matricei:

A= .

Cu secventa MATLAB:

A=[9 1 -1 0;1 9 0 -1;-1 0 9 1;0 -1 1 9];

[R,p]=chol(A)

se obtine rezultatul:

R=

p=0 (matricea pozitiv definita)

4.Factorizare LU (lower-upper)

Factorizarea LU a unei matrice se face cu functia lu; se apeleaza cu una dintre sintaxele:

[L,U]=lu(X) -returneaza o matrice superior triunghiulara U si o matrice inferior triunghiulara permutata L, astfel īncāt X=L*U;

[L,U,P]=lu(X) -returneaza o matrice superior triunghiulara īn U,inferior triunghiulara īn L si permutare matriceala īn P,astfel īncāt L*U=P*X.

Exemplul 4.1. Sa se factorizeze LU matricea A=.

Cu secventa MATLAB:

A=[1 2 3;4 5 6;7 8 0];

[L,U]=lu(A)

se obtin rezultatele:

L= U=

L este o permutare a matricei inferior triunghiulare, iar U este o matrice superior triunghiulara. Secventa MATLAB:

[L,U,P]=lu(A)

returneaza urmatoarele rezultate:

L= U= P=

5.Factorizarea QR

Factorizarea QR este o descompunere a unei matrice ca produs al unei matrice ortonormale, Q, cu o matrice superior triunghiulara, R.

Descompunerea ortogonal-triunghiulara (factorizarea QR) se realizeaza cu functia qr; se apeleaza cu una dintre sintaxele:

[Q,R]=qr(X)  - returneaza matricea triunghiular superioara R de aceeasi dimensiune cu X si matricea Q,astfel īncāt X=Q*R;

[Q,R,E]=qr(X) - returneaza matricea permutata E a matricei superior triunghiulare R, cu elementele diagonalei descrescatoare si matricea Q, astfel īncāt X*E=Q*R. triu(qr(X))=R.

Exemplul 5.1. Sa se determine descompunerea QR a matricei A= .

Cu secventa MATLAB:

A=[1 2 3;4 5 6;7 8 0];

[Q,R]=qr(A) se obtin rezultatele:

Q= R=


Document Info


Accesari: 8652
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )