Se riscontri un errore di questo tipo mentre lavori in MATLAB, segui questa guida per sapere come risolverlo.
Perché riceviamo l'errore 'L'indice della matrice è fuori intervallo per l'eliminazione' in MATLAB
Ogni volta che ci viene richiesto di eliminare una sottomatrice da una determinata matrice o un numero specifico di righe o colonne di una determinata matrice, accediamo prima agli elementi della matrice che vogliamo eliminare utilizzando l'indicizzazione della matrice e quindi li assegniamo alla [] operatore . Ma se specifichiamo il numero di riga o di colonna maggiore del limite dell’indice della matrice, otteniamo l’errore “ L'indice della matrice è fuori intervallo per la cancellazione “.
Come correggere l'errore 'L'indice della matrice è fuori intervallo per l'eliminazione' in MATLAB
Come abbiamo discusso in precedenza, l’errore “ L'indice della matrice è fuori intervallo per la cancellazione ' si è verificato a causa dell'eliminazione di una riga o di una colonna che non si trova nella matrice specificata. Pertanto, questo errore può essere corretto eliminando la riga o la colonna della matrice specificata che deve trovarsi nella matrice specificata. Ora genereremo prima l’errore “ L'indice della matrice è fuori intervallo per la cancellazione ' e poi correggilo negli esempi forniti.
Esempio 1: come risolvere il problema 'L'indice della matrice è fuori intervallo per l'eliminazione' durante l'eliminazione delle righe della matrice in MATLAB?
Il codice MATLAB indicato di seguito crea una matrice quadrata con 10 righe e 10 colonne. Successivamente, inizializza una variabile i assegnandole il valore 5. Ora elimina una sottomatrice dalla matrice data menzionando i numeri di riga come espressione. Quando valutiamo questa espressione per il valore specificato della variabile i che è 5, otteniamo il numero di riga 12. L'operatore due punti (:) indica che vogliamo eliminare tutte le colonne del numero di riga specificato. Tuttavia, poiché la matrice ha solo 10 righe, la riga numero 12 è fuori intervallo, risultando in un messaggio di errore “ L'indice della matrice è fuori intervallo per la cancellazione “.
A = magia ( 10 )
io = 5 ;
UN ( ( io * 3 ) - 3 ,: ) = [ ]
Ora possiamo correggere questo errore menzionando il numero di riga che si trova nella matrice.
A = magia ( 10 )io = 10 ;
UN ( 1 :io- 3 ,: ) = [ ]
Nel codice sopra, eliminiamo le prime 7 righe della matrice A data.
Esempio 2: come risolvere il problema 'L'indice della matrice è fuori intervallo per l'eliminazione' durante l'eliminazione di una sottomatrice da una determinata matrice in MATLAB?
In questo esempio, creiamo una matrice quadrata con 10 righe e 10 colonne. Successivamente, inizializziamo una variabile i assegnandole il valore 5. Ora cancelliamo una sottomatrice dalla matrice data menzionando i numeri di colonna come espressione. Quando valutiamo questa espressione per il valore specificato della variabile i che è 5, otteniamo i numeri di colonna da 7 a 15. La matrice ha un numero di colonne 10, ma l'intervallo di numeri di colonna risultante va da 7 a 15 che non giace nella matrice data, quindi otteniamo un errore 'L'indice della matrice è fuori intervallo per l'eliminazione' .
A = magia ( 10 )io = 5 ;
UN ( :, 7 :io * 3 ) = [ ]
Ora possiamo correggere questo errore menzionando l'intervallo di colonne che si trova nella matrice.
A = magia ( 10 )io = 5 ;
UN ( :, 7 :io * 2 ) = [ ]
Nel codice sopra, eliminiamo le ultime 4 colonne della matrice A data.
Conclusione
Durante l'esecuzione di diverse operazioni sulla matrice in MATLAB, si verificano errori dovuti a errori tecnici. Uno di questi errori è “ L'indice della matrice è fuori intervallo per la cancellazione ' che si verifica a causa dell'eliminazione di un numero imprecisato di righe e colonne da una determinata matrice. Questo errore può essere corretto eliminando le righe o le colonne che devono trovarsi nella matrice data. Questa guida ha fornito esempi di generazione di errori e soluzioni per risolverli. Comprenderli ti aiuterà a risolvere i tuoi problemi nel caso in cui si verifichi un errore del genere nel tuo caso.