Ak sa pri práci v MATLABE stretnete s takouto chybou, postupujte podľa tohto návodu a zistite, ako ju opraviť.
Prečo sa nám v MATLAB-e zobrazuje chyba „Index matice je mimo rozsahu na vymazanie“.
Kedykoľvek sa od nás vyžaduje vymazať podmaticu z danej matice alebo určitý počet riadkov alebo stĺpcov danej matice, najskôr pristúpime k prvkom matice, ktoré chceme vymazať, pomocou indexovania matice a potom ich priradíme k [ ] operátor . Ak však zadáme číslo riadka alebo číslo stĺpca, ktoré je väčšie ako hranica indexu matice, dostaneme chybu „ Maticový index je mimo rozsahu na vymazanie “.
Ako opraviť chybu „Index matice je mimo rozsahu na vymazanie“ v MATLAB
Ako sme už diskutovali, chyba „ Maticový index je mimo rozsahu na vymazanie ” došlo v dôsledku vymazania riadku alebo stĺpca, ktorý neleží v zadanej matici. Túto chybu je možné opraviť vymazaním riadku alebo stĺpca danej matice, ktorý musí ležať v zadanej matici. Teraz najskôr vygenerujeme chybu „ Maticový index je mimo rozsahu na vymazanie “ a potom ho opravte v uvedených príkladoch.
Príklad 1: Ako opraviť „index matice je mimo rozsahu na vymazanie“ pri odstraňovaní riadkov matice v MATLAB?
Nižšie uvedený kód MATLABu vytvára štvorcovú maticu s 10 riadkami a 10 stĺpcami. Potom inicializuje premennú i tak, že jej priradí hodnotu 5. Teraz vymaže z danej matice podmaticu tak, že ako výraz uvedie čísla riadkov. Keď tento výraz vyhodnotíme pre zadanú hodnotu premennej i, ktorá je 5, dostaneme riadok číslo 12. Operátor dvojbodka (:) označuje, že chceme vymazať všetky stĺpce zadaného čísla riadku. Keďže však matica má iba 10 riadkov, riadok číslo 12 je mimo rozsahu, čo vedie k chybovému hláseniu „ Maticový index je mimo rozsahu na vymazanie “.
A = mágia ( 10 )
i = 5 ;
A ( ( i * 3 ) - 3 ,: ) = [ ]
Teraz môžeme túto chybu opraviť uvedením čísla riadku, ktorý leží v matici.
A = mágia ( 10 )i = 10 ;
A ( 1 :i- 3 ,: ) = [ ]
Vo vyššie uvedenom kóde vymažeme prvých 7 riadkov danej matice A.
Príklad 2: Ako opraviť „index matice je mimo rozsahu na vymazanie“ pri odstraňovaní podmatice z danej matice v MATLAbe?
V tomto príklade vytvoríme štvorcovú maticu s 10 riadkami a 10 stĺpcami. Potom inicializujeme premennú i tak, že jej priradíme hodnotu 5. Teraz z danej matice vymažeme podmaticu tak, že ako výraz uvedieme čísla stĺpcov. Keď tento výraz vyhodnotíme pre zadanú hodnotu premennej i, ktorá je 5, dostaneme čísla stĺpcov od 7 do 15. Matica má počet stĺpcov 10, ale výsledný rozsah čísel stĺpcov je od 7 do 15, čo neklame v danej matici, tak dostaneme chybu „Index matice je mimo rozsahu na vymazanie“ .
A = mágia ( 10 )i = 5 ;
A ( :, 7 :i * 3 ) = [ ]
Teraz môžeme túto chybu opraviť uvedením rozsahu stĺpcov, ktorý leží v matici.
A = mágia ( 10 )i = 5 ;
A ( :, 7 :i * 2 ) = [ ]
Vo vyššie uvedenom kóde vymažeme posledné 4 stĺpce danej matice A.
Záver
Pri vykonávaní rôznych maticových operácií v MATLABE dochádza k chybám v dôsledku technických chýb. Jednou z takýchto chýb je „ Maticový index je mimo rozsahu na vymazanie ” ku ktorému dochádza v dôsledku vymazania bližšie neurčeného počtu riadkov a stĺpcov z danej matice. Túto chybu je možné opraviť vymazaním riadkov alebo stĺpcov, ktoré musia ležať v danej matici. Táto príručka obsahuje príklady generovania chýb a riešenia na ich opravu. Ich pochopenie vám pomôže vyriešiť vaše problémy v prípade, že sa takáto chyba vyskytne vo vašom prípade.