Cách khắc phục lỗi “Chỉ mục ma trận nằm ngoài phạm vi xóa” trong MATLAB

Cach Khac Phuc Loi Chi Muc Ma Tran Nam Ngoai Pham Vi Xoa Trong Matlab



MATLAB là một công cụ hiệu suất cao hữu ích và mục đích cơ bản của sự phát triển nó là thực hiện các phép toán ma trận một cách hiệu quả. Một phép toán ma trận như vậy là xóa một ma trận con từ một ma trận; có thể được thực hiện bằng cách gán số hàng và số cột của ma trận đã cho vào dấu ngoặc vuông []. Trong khi thực hiện thao tác này, người dùng MATLAB gặp phải lỗi “ Chỉ mục ma trận nằm ngoài phạm vi xóa “.

Nếu bạn gặp phải lỗi như vậy khi làm việc trong MATLAB, hãy làm theo hướng dẫn này để tìm hiểu cách khắc phục.

Tại sao chúng ta gặp lỗi “Chỉ số ma trận nằm ngoài phạm vi xóa” trong MATLAB

Bất cứ khi nào chúng ta được yêu cầu xóa một ma trận con khỏi một ma trận nhất định hoặc một số hàng hoặc cột cụ thể của ma trận đã cho, trước tiên chúng ta truy cập vào các phần tử ma trận mà chúng ta muốn xóa bằng cách sử dụng chỉ mục ma trận và sau đó gán chúng cho [ ] nhà điều hành . Nhưng nếu chúng ta chỉ định số hàng hoặc số cột lớn hơn giới hạn chỉ số ma trận, chúng ta sẽ gặp lỗi “ Chỉ mục ma trận nằm ngoài phạm vi xóa “.







Cách khắc phục lỗi “Chỉ mục ma trận nằm ngoài phạm vi xóa” trong MATLAB

Như chúng ta đã thảo luận trước đó, lỗi “ Chỉ mục ma trận nằm ngoài phạm vi xóa ” xảy ra do xóa một hàng hoặc cột không nằm trong ma trận đã chỉ định. Vì vậy, lỗi này có thể được khắc phục bằng cách xóa hàng hoặc cột của ma trận đã cho mà phải nằm trong ma trận đã chỉ định. Bây giờ, trước tiên chúng ta sẽ tạo ra lỗi “ Chỉ mục ma trận nằm ngoài phạm vi xóa ” và sau đó sửa nó trong các ví dụ đã cho.



Ví dụ 1: Làm thế nào để khắc phục lỗi “Chỉ mục ma trận nằm ngoài phạm vi xóa” khi xóa các hàng ma trận trong MATLAB?

Mã MATLAB dưới đây tạo ra một ma trận vuông có 10 hàng và 10 cột. Sau đó, nó khởi tạo một biến i bằng cách gán cho nó giá trị 5. Bây giờ, nó xóa một ma trận con khỏi ma trận đã cho bằng cách đề cập đến các số hàng dưới dạng một biểu thức. Khi chúng ta đánh giá biểu thức này cho giá trị đã chỉ định của biến i là 5, chúng ta nhận được số hàng 12. Toán tử dấu hai chấm (:) cho biết rằng chúng ta muốn xóa tất cả các cột của số hàng đã chỉ định. Tuy nhiên, do ma trận chỉ có 10 hàng nên hàng số 12 nằm ngoài phạm vi dẫn đến thông báo lỗi “ Chỉ mục ma trận nằm ngoài phạm vi xóa “.



A = ma thuật ( 10 )
Tôi = 5 ;
MỘT ( ( Tôi * 3 ) - 3 ,: ) = [ ]





Bây giờ, chúng ta có thể sửa lỗi này bằng cách đề cập đến số hàng nằm trong ma trận.

A = ma thuật ( 10 )
Tôi = 10 ;
MỘT ( 1 :Tôi- 3 ,: ) = [ ]

Trong đoạn mã trên, chúng ta xóa 7 hàng đầu tiên của ma trận A đã cho.



Ví dụ 2: Làm cách nào để khắc phục lỗi “Chỉ mục ma trận nằm ngoài phạm vi xóa” khi xóa ma trận con khỏi ma trận đã cho trong MATLAB?

Trong ví dụ này, chúng ta tạo một ma trận vuông có 10 hàng và 10 cột. Sau đó, chúng ta khởi tạo biến i bằng cách gán cho nó giá trị 5. Bây giờ chúng ta xóa một ma trận con khỏi ma trận đã cho bằng cách đề cập đến số cột dưới dạng biểu thức. Khi tính biểu thức này cho giá trị đã chỉ định của biến i là 5, chúng ta nhận được số cột từ 7 đến 15. Ma trận có số cột là 10, nhưng phạm vi số cột kết quả là từ 7 đến 15, không nói dối trong ma trận đã cho, vì vậy chúng tôi gặp lỗi “Chỉ số ma trận nằm ngoài phạm vi xóa” .

A = ma thuật ( 10 )
tôi = 5 ;
MỘT ( :, 7 :Tôi * 3 ) = [ ]

Bây giờ, chúng ta có thể sửa lỗi này bằng cách đề cập đến phạm vi cột nằm trong ma trận.

A = ma thuật ( 10 )
tôi = 5 ;
MỘT ( :, 7 :Tôi * 2 ) = [ ]

Trong đoạn mã trên, chúng ta xóa 4 cột cuối cùng của ma trận A đã cho.

Phần kết luận

Khi thực hiện các phép toán ma trận khác nhau trong MATLAB, chúng ta gặp lỗi do lỗi kỹ thuật. Một lỗi như vậy là “ Chỉ mục ma trận nằm ngoài phạm vi xóa ” xảy ra do xóa một số hàng và cột không xác định khỏi một ma trận nhất định. Lỗi này có thể được khắc phục bằng cách xóa các hàng hoặc cột phải nằm trong ma trận đã cho. Hướng dẫn này đã cung cấp các ví dụ bằng cách tạo ra lỗi và giải pháp khắc phục chúng. Hiểu chúng sẽ giúp bạn giải quyết vấn đề trong trường hợp lỗi như vậy xảy ra trong trường hợp của bạn.