Pokud na takovou chybu narazíte při práci v MATLABu, postupujte podle tohoto průvodce a zjistěte, jak ji opravit.
Proč se nám v MATLABu zobrazuje chyba „Index matice je mimo rozsah pro smazání“.
Kdykoli jsme povinni odstranit podmatici z dané matice nebo určitý počet řádků či sloupců dané matice, nejprve přistoupíme k prvkům matice, které chceme odstranit, pomocí indexování matice a poté je přiřadíme [ ] operátor . Pokud však zadáme číslo řádku nebo číslo sloupce, které je větší než hranice indexu matice, dostaneme chybu „ Maticový index je mimo rozsah pro smazání “.
Jak opravit chybu „Index matice je mimo rozsah pro smazání“ v MATLABu
Jak jsme diskutovali dříve, chyba „ Maticový index je mimo rozsah pro smazání ” došlo kvůli smazání řádku nebo sloupce, který neleží v zadané matici. Tuto chybu lze tedy opravit smazáním řádku nebo sloupce dané matice, který musí ležet v zadané matici. Nyní nejprve vygenerujeme chybu „ Maticový index je mimo rozsah pro smazání “ a poté jej opravte v uvedených příkladech.
Příklad 1: Jak opravit „index matice je mimo rozsah pro smazání“ při mazání řádků matice v MATLABu?
Níže uvedený kód MATLABu vytváří čtvercovou matici s 10 řádky a 10 sloupci. Poté inicializuje proměnnou i tak, že jí přiřadí hodnotu 5. Nyní vymaže podmatici z dané matice uvedením čísel řádků jako výrazu. Když tento výraz vyhodnotíme pro zadanou hodnotu proměnné i, která je 5, dostaneme číslo řádku 12. Operátor dvojtečka (:) znamená, že chceme smazat všechny sloupce zadaného čísla řádku. Protože však matice má pouze 10 řádků, řádek číslo 12 je mimo rozsah, což má za následek chybovou zprávu „ Maticový index je mimo rozsah pro smazání “.
A = magie ( 10 )
i = 5 ;
A ( ( i * 3 ) - 3 ,: ) = [ ]
Nyní můžeme tuto chybu opravit uvedením čísla řádku, který leží v matici.
A = magie ( 10 )i = 10 ;
A ( 1 :i- 3 ,: ) = [ ]
Ve výše uvedeném kódu vymažeme prvních 7 řádků dané matice A.
Příklad 2: Jak opravit „index matice je mimo rozsah pro smazání“ při mazání podmatice z dané matice v MATLABu?
V tomto příkladu vytvoříme čtvercovou matici s 10 řádky a 10 sloupci. Poté inicializujeme proměnnou i tak, že jí přiřadíme hodnotu 5. Nyní odstraníme podmatici z dané matice uvedením čísel sloupců jako výrazu. Když tento výraz vyhodnotíme pro zadanou hodnotu proměnné i, která je 5, dostaneme čísla sloupců od 7 do 15. Matice má počet sloupců 10, ale výsledný rozsah čísel sloupců je od 7 do 15, což nelže. v dané matici, tak dostaneme chybu „Matriční index je mimo rozsah pro smazání“ .
A = magie ( 10 )i = 5 ;
A ( :, 7 :i * 3 ) = [ ]
Nyní můžeme tuto chybu opravit uvedením rozsahu sloupců, který leží v matici.
A = magie ( 10 )i = 5 ;
A ( :, 7 :i * 2 ) = [ ]
Ve výše uvedeném kódu vymažeme poslední 4 sloupce dané matice A.
Závěr
Při provádění různých maticových operací v MATLABu dochází k chybám způsobeným technickými chybami. Jedna taková chyba je „ Maticový index je mimo rozsah pro smazání “, ke kterému dochází v důsledku smazání nespecifikovaného počtu řádků a sloupců z dané matice. Tuto chybu lze opravit odstraněním řádků nebo sloupců, které musí ležet v dané matici. Tato příručka obsahuje příklady generování chyb a řešení, jak je opravit. Pokud jim porozumíte, pomůže vám to vyřešit vaše problémy v případě, že k takové chybě ve vašem případě dojde.