CATEGORII DOCUMENTE |
Rezolvarea ecuatiilor liniare
Una din cele mai importante probleme ale calculului din domeniul tehnic este solutionarea sistemelor de ecuatii liniare.
Definirea problemei este pe scurt urmatoarea:
Daca se dau doua matrici A si B, exista o matrice unica X astfel incat
AX = B sau XA = B ?
MATLAB utilizeaza notatia din cazul scalar si pentru descrierea solutiei unui sistem de ecuatii liniare. Cele doua simboluri utilizate in cazul scalar al diviziunii (impartirii) si anume slash, /, si backslash, , sunt folosite pentru definirea solutiei:
X
= AB
este solutia ecuatiei matriceale AX = B.
X
= B/A
este solutia ecuatiei matriceale XA = B.
In practica, ecuatiile liniare de forma AX = B sunt mai des intalnite.
Deoarece matricea A, care contine de fapt coeficientii sistemului, poate sa nu fie patratica ci de tipul general mxn, exista trei cazuri posibile:
m = n. |
Sistem patratic. Se poate cauta o solutie exacta. |
m > n. |
Sistem supradeterminat (incompatibil). Se cauta o solutie de tip cele mai mici patrate. |
m < n. |
Sistem nedeterminat. Se poate cauta o solutie cu cel mult m componente nenule. |
In multe cazuri MATLAB-ul da un diagnostic (o solutie) automat prin examinarea coeficientilor matricelor. Cateva din aceste cazuri:
Permutarea matricilor triunghiulare
Matrici simetrice, pozitiv definite
Matrici patratice nesingulare
Sisteme rectangulare supradeterminate
Sisteme rectangulare nedeterminate
Cel mai simplu caz este cel corespunzator unei
matrice patratice A
si a unui vector coloana b
. Solutia x = Ab
are aceeasi dimensiune ca b.
Daca A
si B
sunt patratice de aceleasi dimensiuni
atunci solutia X = AB
are aceeasi dimensiune ca A
sau B.
Observatie: Daca matricea A este singulara (determinant nul) atunci solutia ecuatiei AX = B nu exista sau nu este unica.
Aceste tipuri de sisteme sunt des intalnite in diverse situatii, cum ar fi de exemplu aproximarea unor curbe din date experimentale.
Sistemele liniare nedeterminate au mai multe necunoscute decat ecuatii. Daca exista si constrangeri (restrictii) suplimentare, atunci este vorba de o problema de programare liniara.
Operatorul backslash din MATLAB permite cautarea solutiei in cazul fara restrictii. Solutia nu este niciodata unica. MATLAB-ul gaseste o solutie de baza (care are cel mult m componente nenule). Gasirea solutiei particulare se bazeaza pe factorizarea QR (decompozitia ortogonal-triunghiulara).
Vom prezenta un exemplu (care utilizeaza functia matriceala random - rand).
R = fix(10*rand(2,4))
R =
6 8 7 3
3 5 4 1
b = fix(10*rand(2,1))
b =
1
2
Sistemul liniar Rx = b implica doua ecuatii cu 4 necunoscute. Solutia se poate afisa in format rational (coeficientii sunt numere intregi). Solutia particulara se obtine astfel:
format rat
p = Rb
p =
0
5/7
0
-11/7
Solutia completa a sistemului nedeterminat
se obtine prin adaugarea unui vector arbitrar din spatiul nul
folosind functia null:
Z = null(R,'r')
Z =
-1/2 -7/6
-1/2 1/2
1 0
0 1
Orice
vector de forma x=p+Z*q pentru q vector arbitrar
satisface R*x=b
.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2554
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved