BÀI GIẢNG MATLAB - Trang 52

45

Trong trường hợp này Matlab đã cho

0

z =

, thực tế

z

có thể nhận giá trị bất kỳ.

Với một hệ phương trình có vô số nghiệm, thì ta có thể tìm được một nghiệm có độ
dài nhỏ nhất chẳng hạn. Công thức của nghiệm có độ dài nhỏ nhất như sau

1

[

]

T

T

=

=

x

A b

A AA

b .

Ma trận

1

[

]

T

T

=

A

A AA

được gọi là ma trận tựa nghịch đảo trái của ma trận

A

.

Trong Matlab đã sẵn có một hàm để tính ma trận tựa nghịch đảo này, đó là
pinv(A). Như thế nghiệm có chuẩn nhỏ nhất (tối ưu) của hệ trên được tính là


>> A= [3 2 -1; 0 4 1]; b = [7; 2];
>> x=pinv(A)*b
x =
1.6667
0.6667
-0.6667

Hãy thử lại với

>> x=A'*inv(A*A')*b
x =
1.6667
0.6667
-0.6667

Khi tính toán với các đại lượng, ta cần phải lưu ý đến thứ tự ưu tiên các phép toán,
ví dụ khi giải hệ phương trình đại số tuyến tính

1

0.5

0.5

=

=

Kx

b

x

K b

Sau đây sẽ tính trong Matlab với các kiểu viết khác nhau


>> K=[2 2 3; 4 5 6; 7 8 9]; b=[2 3 4]';
>> x=0.5*K\b % cho ket qua sai
x = 0
-2.0000
2.6667

>> x=0.5*(K\b) % cho ket qua dung
x = 0
-0.5000
0.6667
>> x=0.5*inv(K)*b
x =
0.0000
-0.5000
0.6667

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.