Cách tìm cơ sở trực giao cho dãy ma trận bằng hàm orth() của MATLAB

Cach Tim Co So Truc Giao Cho Day Ma Tran Bang Ham Orth Cua Matlab



MATLAB là viết tắt của phòng thí nghiệm ma trận và mục đích cơ bản của sự phát triển của nó là thực hiện hiệu quả các phép toán ma trận phức tạp. Một phép toán ma trận như vậy là tìm cơ sở trực chuẩn của một ma trận nhất định. Đây là một vấn đề phức tạp và tốn thời gian khi tính toán thủ công. Tuy nhiên, MATLAB cho phép chúng ta thực hiện thao tác này bằng cách sử dụng orth() chức năng.

Bài viết này sẽ tìm hiểu xem đâu là cơ sở trực chuẩn của ma trận và cách tìm chúng trong MATLAB bằng cách sử dụng orth() chức năng.

Cơ sở trực giao của ma trận là gì

Trong Đại số tuyến tính, cơ sở trực chuẩn của không gian vectơ V có số chiều hữu hạn là cơ sở có vectơ trực chuẩn ở đâu vectơ trực chuẩn là các vectơ đơn vị trực giao với nhau tức là tích vô hướng của chúng bằng 0.







Xét các vectơ hai đơn vị x và y, chúng sẽ trực giao với nhau nếu “x.y=0” . Hai vectơ này còn được gọi là vectơ trực chuẩn .



Tại sao chúng ta cần tính cơ sở trực giao

Một cơ sở trực chuẩn rất hữu ích trong việc tìm hình chiếu của một vectơ lên ​​một vectơ khác hoặc tìm khoảng cách giữa hai vectơ. Chúng ta cũng có thể sử dụng một cơ sở trực chuẩn để giảm sai số làm tròn trong các mô phỏng của chúng tôi và lý do duy nhất cho điều này là các vectơ trong cơ sở trực giao độc lập với nhau, do đó lỗi trong một vectơ không thể truyền sang các vectơ khác. Hơn nữa, việc tìm tọa độ và thực hiện phép biến đổi tuyến tính sẽ dễ dàng hơn nhiều nếu cơ sở của chúng ta trực chuẩn.



Làm thế nào để tìm cơ sở trực chuẩn của ma trận trong MATLAB?

Trong MATLAB, chúng ta có thể tìm thấy cơ sở trực chuẩn sử dụng tính năng tích hợp sẵn orth() chức năng chịu trách nhiệm xác định các cơ sở trực chuẩn của một ma trận nhất định. Hàm này chấp nhận ma trận làm tham số bắt buộc và cung cấp ma trận làm đầu ra chứa cơ sở trực chuẩn của ma trận đầu vào đã cho.





Cú pháp
Các orth() Hàm này có thể được triển khai trong MATLAB thông qua các cú pháp sau:

Q = hướng bắc ( MỘT )
Q = hướng bắc ( A, tol )

Đây,



  • Chức năng Q = hướng(A) có trách nhiệm xác định các cơ sở trực chuẩn cho phạm vi A trong đó các cột của ma trận đầu ra Q đại diện cho cơ sở trực chuẩn của ma trận A và chúng spam phạm vi của ma trận A. Ngoài ra, thứ hạng của A bằng số cột của Q.
  • Chức năng Q = orth(A,tol) có trách nhiệm xác định các cơ sở trực chuẩn đối với phạm vi A chỉ định dung sai. Các giá trị số ít của ma trận đầu vào A, nhỏ hơn dung sai, được coi là bằng 0 do ảnh hưởng đến số cột của Q.

Ví dụ 1: Làm thế nào để Tìm Cơ sở Trực chuẩn của Ma trận Xếp hạng Đầy đủ trong MATLAB?

Mã MATLAB này xác định cơ sở trực chuẩn của ma trận vuông A đã cho có kích thước n=3 bằng cách sử dụng orth() chức năng. Mã này cũng tìm thứ hạng của ma trận A bằng cách sử dụng thứ hạng() để xác minh rằng ma trận đầu vào có thứ hạng đầy đủ.

A = [ 1 0 -1 ; 1 2 0 ; 0 1 - 3 ] ;
r = thứ hạng ( MỘT )
Q = hướng bắc ( MỘT )

Ví dụ 2: Làm thế nào để tính cơ sở trực giao của ma trận thiếu thứ hạng trong MATLAB?

Trong ví dụ này, chúng tôi sử dụng orth() chức năng tìm cơ sở trực chuẩn của ma trận thiếu thứ hạng A đã cho. Ma trận A thiếu thứ hạng vì xếp hạng(K) .

A = [ 1 0 -1 ; 1 2 0 ; 0 0 0 ] ;
r = thứ hạng ( MỘT )
Q = hướng bắc ( MỘT )

Ví dụ 3: Làm thế nào để tìm cơ sở trực giao của ma trận xếp hạng đầy đủ bằng cách xác định dung sai trong MATLAB?

Ví dụ đã cho tính toán cơ sở trực chuẩn của ma trận vuông hạng đầy đủ đã cho A có kích thước n=3 sử dụng orth() chức năng với dung sai mặc định. Vì A là ma trận xếp hạng đầy đủ nên kích thước của A và Q (cơ sở trực giao) giống nhau, trong trường hợp này là 3×3. Ví dụ sau đó tính toán cơ sở trực chuẩn của A bằng cách chỉ định giá trị dung sai 0,5 để coi các giá trị của A nhỏ hơn 0,5 là giá trị số ít. Có ba giá trị số ít trong A, do đó A có hai vectơ cột trực chuẩn được chứa bởi Qtol ma trận.

A = rand ( 3 ) ;
r = thứ hạng ( MỘT )
Q = hướng bắc ( MỘT )
Q_tol = hướng trực tiếp ( MỘT, 0,5 )

Phần kết luận

Tìm kiếm cơ sở trực chuẩn của không gian vectơ là một khái niệm quan trọng của đại số tuyến tính, là một bài toán phức tạp. Tuy nhiên, vấn đề này có thể được giải quyết dễ dàng và hiệu quả bằng cách sử dụng công cụ tích hợp sẵn của MATLAB. orth() chức năng. Bài viết này đã trình bày cách triển khai chức năng này bằng các cú pháp và ví dụ khác nhau.