Kā labot MATLAB kļūdu “Matricas indekss ir ārpus dzēšanas diapazona”.

Ka Labot Matlab Kludu Matricas Indekss Ir Arpus Dzesanas Diapazona



MATLAB ir izdevīgs augstas veiktspējas rīks, un tā izstrādes galvenais mērķis bija efektīvi veikt matricas darbības. Viena no šādām matricas operācijām ir apakšmatricas dzēšana no matricas; ko var veikt, kvadrātiekavās [] piešķirot dotās matricas rindu un kolonnu skaitu. Veicot šo darbību, MATLAB lietotāji saskaras ar kļūdu ' Matricas indekss ir ārpus dzēšanas diapazona “.

Ja, strādājot programmā MATLAB, rodas šāda kļūda, izpildiet šo rokasgrāmatu, lai uzzinātu, kā to novērst.

Kāpēc pakalpojumā MATLAB tiek parādīta kļūda “Matricas indekss ir ārpus dzēšanas diapazona”?

Ikreiz, kad mums tiek prasīts dzēst apakšmatricu no dotās matricas vai noteiktu skaitu dotās matricas rindu vai kolonnu, mēs vispirms piekļūstam matricas elementiem, kurus vēlamies dzēst, izmantojot matricas indeksēšanu, un pēc tam piešķiram tos [ ] operators . Bet, ja mēs norādām rindas vai kolonnas numuru, kas ir lielāks par matricas indeksa ierobežojumu, mēs saņemam kļūdu ' Matricas indekss ir ārpus dzēšanas diapazona “.







Kā novērst kļūdu “Matricas indekss ir ārpus dzēšanas diapazona” programmā MATLAB

Kā mēs iepriekš apspriedām, kļūda ' Matricas indekss ir ārpus dzēšanas diapazona ” radās, dzēšot rindu vai kolonnu, kas neatrodas norādītajā matricā. Tātad šo kļūdu var novērst, izdzēšot dotās matricas rindu vai kolonnu, kurai jāatrodas norādītajā matricā. Tagad mēs vispirms ģenerēsim kļūdu ' Matricas indekss ir ārpus dzēšanas diapazona ” un pēc tam labojiet to dotajos piemēros.



1. piemērs. Kā labot “Matricas indekss ir ārpus dzēšanas diapazona”, dzēšot matricas rindas programmā MATLAB?

Zemāk norādītais MATLAB kods izveido kvadrātveida matricu ar 10 rindām un 10 kolonnām. Pēc tam tas inicializē mainīgo i, piešķirot tam vērtību 5. Tagad tas izdzēš apakšmatricu no dotās matricas, minot rindu numurus kā izteiksmi. Novērtējot šo izteiksmi norādītajai mainīgā i vērtībai, kas ir 5, iegūstam rindas numuru 12. Kola operators (:) norāda, ka vēlamies dzēst visas norādītās rindas numura kolonnas. Tomēr, tā kā matricā ir tikai 10 rindas, rindas numurs 12 ir ārpus diapazona, kā rezultātā tiek parādīts kļūdas ziņojums ' Matricas indekss ir ārpus dzēšanas diapazona “.



A = maģija ( 10 )
i = 5 ;
A ( ( i * 3 ) - 3 ,: ) = [ ]





Tagad mēs varam labot šo kļūdu, minot rindas numuru, kas atrodas matricā.

A = maģija ( 10 )
i = 10 ;
A ( 1 :i- 3 ,: ) = [ ]

Iepriekš minētajā kodā mēs izdzēšam dotās matricas A pirmās 7 rindas.



2. piemērs. Kā labot “Matricas indekss ir ārpus dzēšanas diapazona”, dzēšot apakšmatricu no dotās matricas programmā MATLAB?

Šajā piemērā mēs izveidojam kvadrātveida matricu ar 10 rindām, kā arī 10 kolonnām. Pēc tam inicializējam mainīgo i, piešķirot tam vērtību 5. Tagad mēs izdzēšam apakšmatricu no dotās matricas, minot kolonnu numurus kā izteiksmi. Novērtējot šo izteiksmi norādītajai mainīgā i vērtībai, kas ir 5, mēs iegūstam kolonnu numurus no 7 līdz 15. Matricā ir vairākas kolonnas 10, bet iegūtais kolonnu numuru diapazons ir no 7 līdz 15, kas nav meli. dotajā matricā, tāpēc iegūstam kļūdu “Matricas indekss ir ārpus dzēšanas diapazona” .

A = maģija ( 10 )
i = 5 ;
A ( :, 7 :i * 3 ) = [ ]

Tagad mēs varam labot šo kļūdu, pieminot kolonnu diapazonu, kas atrodas matricā.

A = maģija ( 10 )
i = 5 ;
A ( :, 7 :i * 2 ) = [ ]

Iepriekš minētajā kodā mēs izdzēšam dotās matricas A pēdējās 4 kolonnas.

Secinājums

Veicot dažādas matricas operācijas MATLAB, rodas kļūdas tehnisku kļūdu dēļ. Viena no šādām kļūdām ir ' Matricas indekss ir ārpus dzēšanas diapazona ”, kas rodas, dzēšot nenoteiktu skaitu rindu un kolonnu no dotās matricas. Šo kļūdu var novērst, dzēšot rindas vai kolonnas, kurām jāatrodas dotajā matricā. Šajā rokasgrāmatā ir sniegti kļūdu ģenerēšanas piemēri un to novēršanas risinājumi. To izpratne palīdzēs atrisināt problēmas, ja jūsu gadījumā rodas šāda kļūda.