2 Ma trận nghịch đảo, Phương trình ma trận và Hệ phương trình tuyến tính
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.05 MB, 117 trang )
2.2 Ma trận nghịch đảo, Phương trình ma trận và Hệ phương
trình tuyến tính
45
>> inv(A)
ans =
-4.0000
-1.0000
6.0000
-3.0000
-1.0000
4.0000
2.0000
-3.0000
Ví dụ 2.2.5. Cho ma trận A như sau:
8 + 3i 9 − i 3 + 2i
9 − 3i
6
5 − 2i
1 + 2i 1 − 2i 10 + i
Ma trận nghịch đảo của A là
>> inv(A)
ans =
-0.0126 – 0.0995i
0.0990 + 0.1053i
-0.0469 + 0.0264i
0.0515 + 0.1266i
-0.0075 – 0.1357i
0.0465 – 0.0155i
Ví dụ 2.2.6. Cho ma trận B như sau,
sẽ trả ra các giá trị như sau:
3 4
−5 2
2 1
-0.0686 – 0.0138i
0.0235 + 0.0126i
0.1001 + 0.0085i
B không khả nghịch khi đó hàm inv
6
16
−1
inv(B)
Warning: Matrix is singular to working precision.
ans =
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
Inf
46
Đại số tuyến tính
BÀI TẬP
1. Tự tạo ngẫu nhiên ma trận A là ma trận vuông 25 phần tử thuộc C .
a. Kiểm tra ma trận A có khả nghịch hay không, nếu không thì cho
lại ma trận ngẫu nhiên khác.
b. Xác định ma trận nghịch đảo của A bằng các phép biến đổi sơ
cấp trên dòng (làm từng bước).
2. Tự tạo ma trận ngẫu nhiên A là ma trận vuông 100 phần tử thuộc C.
a. Kiểm tra ma trận A có khả nghịch hay không, nếu không thì cho
lại ma trận ngẫu nhiên khác.
b. Xác định ma trận nghịch đảo của A bằng các phép biến đổi sơ
cấp trên dòng (không cần làm từng bước).
c. Dùng hàm inv hoặc phép toán mũ -1 để xác định ma trận nghịch
đảo của A.
3. Cho ma trận bất kì không khả nghịch 100 phần tử. Dùng các phép biến
đổi sơ cấp trên dòng để kiểm tra tính không khả nghịch của ma trận
đó.
4. Cho các cặp ma trận A,B theo thứ tự. Xác định A−1 B −1 , (AB)−1 , B −1 A−1
a.
[b.
2.2.2
1 2
4 −1
] [
,
2 −3
−4 1
]
2
3−i
1
1 2 2i + 1
i−3
1
0 , 0 1
2
1
2
i−1
3 1 i+1
Ma trận giả nghịch đảo
Cho ma trận A kích thước m × n. Ma trận B là ma trận giả đảo của A là
ma trận thỏa 4 tính chất sau:
1. ABA = A
2.2 Ma trận nghịch đảo, Phương trình ma trận và Hệ phương
trình tuyến tính
47
2. BAB = B
3. (AB)∗ = AB
4. (BA)∗ = BA
Trong đó ma trận AB và BA là ma trận Hermit, tức là ma trận phức có tính
đối xứng liên hợp.
Ghi chú 2.2.7. Trường hợp đặt biệt:
1. Nếu A∗ A khả nghịch thì ma trận B = (A∗ A)−1 A∗ là ma trận giả đảo
trái của A.
2. Nếu AA∗ khả nghịch thì ma trận B = A∗ (AA∗ )−1 là ma trận giả đảo
phải của A.
Ví dụ 2.2.8. Ma trận Hermit Cho ma trận A như sau
[]
7
5+i
5−i
9
Ma trận chuyển vị của A là
>> A’
ans =
7.0000
5.0000 – 1.0000i
5.0000 + 1.0000i
9.0000
Ta nhận thấy rằng ma trận chuyển vị của A cũng bằng chính A do vậy ma
trận A chính là ma trận Hermit.
Tiếp theo, ta sẽ dùng Matlap để tính toán ma trận giả đảo của A. Ta sử
dụng hàm pinv(A)
Ví dụ 2.2.9. Cho ma trận A như sau
[]
2 4 3
5 1 7
Sau đó dùng hàm pinv để tính ma trận giả đảo của A và kiểm tra dựa vào
định nghĩa.
48
Đại số tuyến tính
pinv(A)
ans =
-0.0263
0.2789
-0.0211
0.0789
-0.1168
0.1032
>> A*pinv(A)*A
ans =
2.0000
5.0000
4.0000
1.0000
3.0000
7.0000
BÀI TẬP
1. Cho ma trận A như sau:
81 + 7i
91
13 + 8i
91 + 9i
63 + 7i
10 + 8i 16 + 7i 14 + 8i
28 + 7i
97
42 + 7i
55 + 4i 96 + 3i 92 + 3i
96 + 7i
49
79 + 10i
96 + 2i 80 + i
96
Xác định ma trận giả đảo trái hoặc giả đảo phải (nếu có) của A theo
2 cách:
– Sử dụng hàm pinv. Cho biết ma trận giả đảo trên là ma trận giả
đảo trái hay phải (nếu có).
– Không sử dụng hàm pinv.
2. (*)Cho ma trận A ∈ M4x7 (R) với các phần tử bất kì.
a. Kiểm tra tính nghịch đảo của B = AAT và C = AT A.
b. Nếu B không khả nghịch tìm ma trận giả đảo của B (nếu có).
(Nếu B khả nghịch ta làm tương tự với C).
c. (**)Nếu sử dụng hàm pinv thì cho biết ma trận đó là giả đảo trái
hay giả đảo phải.
d. Thực hành lại cái câu (a), (b), (c) với tính toán symbolic.
2.2 Ma trận nghịch đảo, Phương trình ma trận và Hệ phương
trình tuyến tính
49
2.2.3
Giải phương trình ma trận
Định nghĩa 2.2.10. Cho phương trình AX=B. Trong đó A là ma trận mxn,
B là ma trận mxk và X là ẩn. Ta cần tìm X.
Ghi chú 2.2.11. Nếu A là ma trận vuông tức m=n và khả nghịch .Ta dùng
nghịch đảo của A.
Trong Matlab ta sử dụng phép toán gọi là phép chia trái hoặc hàm mldivide(A,b).
Ví dụ 2.2.12. Cho phương trình ma trận như trên.
A=[2 4 3;5 1 7;2 3 5];b=[2 5;4 1;3 7];
>> X=Ab
X =
0.0270
0.0811
0.5405
-2.2703
1.1892
1.5946
Đối với phương trình XA=b, ta dùng pháp toán chia phải / hoặc hàm mrdivide(b,A).
Để giải phương trình ma trận trong Matlab,ta chỉ sử dụng hàm linsolve(A,b,opts).
Trong đó opts là tham số chỉ tính chất của ma trận A. Điều này rất quan
trọng vì nó ảnh hưởng đến tốc độ tính toán của hàm.
Ví dụ 2.2.13. Nếu A là ma trận đối xứng, ta nhập vào câu lệnh như sau
linsolve(A,b,SYM). Sau đây là bảng các giá trị của tham số opts.
50
Đại số tuyến tính
Bảng 2.2.1: Giá trị của tham số opts
Giá trị tham số Thuộc tính của ma trận A
LT
Ma trận tam giác dưới
UT
Ma trận tam giác trên
UHESS
Ma trận Hessenberg trên
SYM
Ma trận đối xứng
POSDEF
Ma trận xác định dương
RECT
Ma trận chữ nhật
TRANSA
Ma trận đối xứng liên hợp
BÀI TẬP
1. Cho ma trận A như sau rand(50,50). Tìm ma trận X thỏa :
a. 12X − 2.5A = I50
b. XA50 = B. Với B là ma trận ngẫu nhiên khác A.
2. Cho ma trận A ∈ M2x3 (C), ma trận B ∈ M2x2 (C). Tìm ma trận X
thỏa AX=B.
3. Cho ma trận A,B ∈ M100x70 (C). Tìm ma trận X thỏa:
a. 100A + 10X = B
b. XA = B
4. Giải phương trình ma trận sau:
a.
13 −8 −12
1 2 3
X 12 −7 −12 = 4 5 6
6 −4 −5
7 8 9
b.
1−i
2 + i 108 − i
1 −1 −1
0 0 1
12 − 7i
9
22 − 5i X 1 1
1 = 1 1 0
3i
5 + 10i −25
1 1 −1
0 1 −1
2.3 Hệ phương trình tuyến tính
2.3
51
Hệ phương trình tuyến tính
2.3.1
Đưa về dạng ma trận
Để giải hệ phương trình tuyến tính, ta đưa về dạng ma trận với b là ma trận
m × 1. Ngoài các phương pháp trên, ta có thể sử dụng hàm rref([A b]) để
đưa ma trận về dạng bậc thang rút gọn.
Ví dụ 2.3.1. Giải hệ phương trình tuyến tính sau:
x1 + 7×2 − 2×3 = 21
2×1 + 3×2 + 7×3 = 2
x1 + 8×2 + 2×3 = −1
Ta đưa phương trình trên
1 7
A= 2 3
1 8
về ma trận A, vec tơ x và b có dạng:
−2
x1
21
7 , x = x2 , b = 2
2
x3
−1
Sau đó giải phương trình ma trận : Ax=b.
Ghi chú 2.3.2. Trước khi giải phương trình trên, ta cần xem xét phương
trình này có nghiệm hay không bằng cách so sánh hạng của ma trận A và
A’=[A B].
Ví dụ 2.3.3. Cho phương
2
5
2
trình sau:
4 3
2 5
1 7 X = 4 1
3 7
3 5
>> A=[2 4 3;5 1 7;2 3 5];b=[2;4;3];
>> rank(A)
ans =
3
52
Đại số tuyến tính
>> rank([A b])
ans =
3
Ta nhận thấy rank(A)=rank(A’)=m do vậy phương trình trên có nghiệm duy
nhất.
2.3.2
Sử dụng tính toán symbolic
Ngoài phương pháp đưa về dạng ma trận, ta có thể nhập trực tiếp hệ phương
trình và sử dụng hàm solve.
Dạng 1: solve(’phương trình’,’biến’)
Ví dụ 2.3.4. >> solve(’x^2+2*x+a’,’x’)
ans =
– (1 – a)^(1/2) – 1
(1 – a)^(1/2) – 1
>> solve(’x^2+2*x+a’,’a’)
ans =
– x^2 – 2*x
Dạng 2: solve(’phương trình thứ 1’,…,’phương trình thứ n’,’biến thứ 1’,…,’biến
thứ n’)
Ví dụ 2.3.5. >> S=solve(’x^2-3*x+y’,’y-2+8*x+2*a’,’x’,’y’)
S =
x: [2×1 sym]
y: [2×1 sym]