Hvis du støder på en sådan fejl, mens du arbejder i MATLAB, skal du følge denne vejledning for at lære, hvordan du løser den.
Hvorfor får vi fejlen 'Matrix Index er uden for rækkevidde til sletning' i MATLAB
Hver gang vi er forpligtet til at slette en submatrix fra en given matrix eller et bestemt antal rækker eller kolonner i den givne matrix, får vi først adgang til de matrixelementer, som vi ønsker at slette ved hjælp af matrixindeksering og tildeler dem derefter til [ ] operatør . Men hvis vi angiver rækkenummeret eller kolonnenummeret, der er større end matrixindekset, får vi fejlen ' Matrixindeks er uden for rækkevidde til sletning “.
Sådan rettes fejlen 'Matrix-indeks er uden for rækkevidde til sletning' i MATLAB
Som vi diskuterede tidligere, fejlen ' Matrixindeks er uden for rækkevidde til sletning ” opstod på grund af sletning af en række eller kolonne, der ikke ligger i den angivne matrix. Så denne fejl kan rettes ved at slette rækken eller kolonnen i den givne matrix, der skal ligge i den angivne matrix. Nu vil vi først generere fejlen ' Matrixindeks er uden for rækkevidde til sletning ” og fiks det derefter i de givne eksempler.
Eksempel 1: Hvordan rettes 'Matrix-indekset er uden for rækkevidde til sletning', mens du sletter matrixrækker i MATLAB?
Nedenstående MATLAB-kode skaber en firkantet matrix med 10 rækker og 10 kolonner. Derefter initialiserer den en variabel i ved at tildele den værdi 5. Nu sletter den en submatrix fra den givne matrix ved at nævne rækkenumre som et udtryk. Når vi evaluerer dette udtryk for den angivne værdi af variabel i, som er 5, får vi rækkenummeret 12. Kolonoperatoren (:) angiver, at vi ønsker at slette alle kolonner i det angivne rækkenummer. Men da matrixen kun har 10 rækker, er række nummer 12 uden for rækkevidde, hvilket resulterer i en fejlmeddelelse ' Matrixindeks er uden for rækkevidde til sletning “.
A = magi ( 10 )
jeg = 5 ;
EN ( ( jeg * 3 ) - 3 ,: ) = [ ]
Nu kan vi rette denne fejl ved at nævne rækkenummeret, der ligger i matrixen.
A = magi ( 10 )jeg = 10 ;
EN ( 1 :jeg- 3 ,: ) = [ ]
I ovenstående kode sletter vi de første 7 rækker af den givne matrix A.
Eksempel 2: Hvordan rettes 'Matrix-indeks er uden for rækkevidde til sletning', mens du sletter en submatrix fra en given matrix i MATLAB?
I dette eksempel opretter vi en kvadratisk matrix med 10 rækker samt 10 kolonner. Derefter initialiserer vi en variabel i ved at tildele den værdi 5. Nu sletter vi en submatrix fra den givne matrix ved at nævne kolonnenumre som et udtryk. Når vi evaluerer dette udtryk for den angivne værdi af variabel i, som er 5, får vi kolonnenumrene fra 7 til 15. Matricen har et antal kolonner 10, men det resulterende kolonnenummerområde er fra 7 til 15, hvilket ikke ligger i den givne matrix, så vi får en fejl 'Matrix-indeks er uden for rækkevidde til sletning' .
A = magi ( 10 )i = 5 ;
EN ( :, 7 :jeg * 3 ) = [ ]
Nu kan vi rette denne fejl ved at nævne kolonneområdet, der ligger i matrixen.
A = magi ( 10 )i = 5 ;
EN ( :, 7 :jeg * 2 ) = [ ]
I ovenstående kode sletter vi de sidste 4 kolonner i den givne matrix A.
Konklusion
Mens vi udfører forskellige matrixoperationer i MATLAB, får vi fejl på grund af tekniske fejl. En sådan fejl er ' Matrixindeks er uden for rækkevidde til sletning ” som opstår på grund af sletning af et uspecificeret antal rækker og kolonner fra en given matrix. Denne fejl kan rettes ved at slette de rækker eller kolonner, der skal ligge i den givne matrix. Denne vejledning har givet eksempler ved at generere fejl og løsninger til at rette dem. At forstå dem vil hjælpe dig med at løse dine problemer, hvis en sådan fejl opstår i dit tilfælde.