Phép phân tích ma trận: VD: Cho ma trận A(3x3) là ma trận ko suy biến (Định thức khác 0).

Phép biến đổi ma trận A thành tích 2 ma trận L(3x3) và R(3x3) gọi là phép phân tích ma trận. [ ]= I. = [L] * [R] = *

Phân tích ma trận bằng phương pháp Doolittle Phương pháp phân tích đưa ma trận A(3x3) về 2 ma trận L, R có dạng như sau gọi là phương pháp Doolittle 1 0 0 1 0 ; [R] = 0 [L] = 0 0 1 Để tìm ra 2 ma trận trên, ta thử nhân chúng lại với nhau! + + + + + Thực hiện phép khử Gauss tiến đối với ma trận trên, ta có: B1: Lấy dòng thứ nhất làm trụ. Dòng thứ 2 - Dòng thứ nhất * l21 để khử a21 Dòng thứ 3 - Dòng thứ nhất * l31 để khử a31 [A] = [L] * [R] = [A1] = 0 0

B2: Lấy dòng thứ 2 làm trụ. Dòng thứ 3 – Dòng thứ 2 * l32 để khử a32 [A2] = 0 0

+

0

1).ptc*a(k. Code thuật toán! function [ l.i) = 1. ma trận [A2] chính là ma trận [R].6.7.k)~=0 ptc = a(i.8.6. % Dung phuong phap khu Gauss tien de bien doi ma tran for k = 1:n-1 for i = k+1:n if a(i. for i=1:n r(i.k).8.Ta có thể thấy.k)/a(k.2.r ] = doolittle( a ) %DOOLITTLE Thuc hien phan tich ma tran a = pp Doolittle % Khoi tao cac ma tran 0 la ma tran vuong cap n = ma tran a n = size(a.7. ta dùng phương pháp khử Gauss tiến.k+1:n) = a(i.9] >> A = [1.9] A= 1 4 2 5 3 6 . end end VD minh họa: nhập vào ma trận A = [1.5.k) = ptc.4. còn những phần tử lij mà ta nhân với dòng trụ để khử aij chính là những giá trị trong ma trận [L]  Để phân tích ma trận [A] theo phương pháp Doolittle. r = zeros(n). r l = tril(a).k+1:n).k+1:n) . a(i.i) = a(i. a(i.3. for i=1:n l(i.i).5.2.3.4. end end end % Trich ra 2 ma tran l. l = zeros(n). end r = triu(a).

ta cũng nhân 2 ma trận trên lại với nhau! + + + + + Thực hiện phép khử Gauss theo chiều từ trái sang phải cho ma trận trên. Phân tích ma trận bằng phương pháp Crout Tương tự như phương pháp phân tích ma trận Doolittle.7 8 9 >> [L. [R] sau: 0 0 1 0 .R] = doolittle(A) L= 1 4 7 0 1 2 0 0 1 R= 1 0 0 2 3 -3 -6 0 0 >> II. phương pháp Crout phân tích ma trận [A] về 2 ma trận [L]. ta có: B1: Lấy cột thứ nhất làm trụ Cột thứ 2 – Cột thứ nhất * r12 để khử a12 Cột thứ 3 – Cột thứ nhất * r13 để khử a13 [A] = [L] * [R] = . [R] = 0 1 [L] = 0 0 1 Tương tự.

i) . % Dung phuong phap khu Gauss tu trai sang de bien doi ma tran for k = 1:n-1 for i = k+1:n if a(k.k). function [ l.i)/a(k. ma trận [A2] chính là ma trận [L]. ta dùng phương pháp khử Gauss từ trái sang.[A1] = 0 0 B2: Lấy cột thứ 2 làm trụ Cột thứ 3 – Cột thứ 2 * r23 để khử a23 0 0 0 [A2] = + Ta có thể thấy. r l = tril(a).r ] = crout( a ) %CROUT Thuc hien phan tich ma tran a = pp CROUT % Khoi tao cac ma tran 0 la ma tran vuong cap n = ma tran a n = size(a. a(k+1:n. for i=1:n l(i. a(k.1). end r = triu(a). l = zeros(n). for i=1:n . Code thuật toán!.ptc*a(k+1:n.k).i) = a(k+1:n.i) = ptc.i).i)~=0 ptc = a(k. còn những phần tử rij mà ta nhân với cột trụ để khử aij chính là những giá trị trong ma trận [R]  Để phân tích ma trận [A] theo phương pháp Crout. r = zeros(n). end end end % Trich ra 2 ma tran l.i) = a(i.

4.4.8. end end VD minh họa: nhập vào ma trận A = [1.5.7.9] A= 1 4 7 2 5 8 3 6 9 >> [L.8.r(i.5.3.9] >> A = [1.6.2.i) = 1.3.7.2.R] = crout(A) L= 1 4 7 0 -3 -6 0 0 0 R= 1 0 0 >> 2 1 0 3 2 1 .6.

Sign up to vote on this title
UsefulNot useful