Hoe u de fout ‘Matrix Index is buiten bereik voor verwijdering’ in MATLAB kunt oplossen

Hoe U De Fout Matrix Index Is Buiten Bereik Voor Verwijdering In Matlab Kunt Oplossen



MATLAB is een nuttig hulpmiddel met hoge prestaties en het basisdoel van de ontwikkeling ervan was het efficiënt uitvoeren van matrixbewerkingen. Eén zo'n matrixbewerking is een submatrix verwijderen vanuit een matrix; dat kan worden uitgevoerd door het aantal rijen en kolommen van een bepaalde matrix toe te wijzen aan de vierkante haken []. Tijdens het uitvoeren van deze bewerking worden MATLAB-gebruikers geconfronteerd met een fout “ Matrixindex is buiten bereik voor verwijdering “.

Als u een dergelijke fout tegenkomt terwijl u in MATLAB werkt, volgt u deze handleiding om te leren hoe u deze kunt oplossen.

Waarom krijgen we de foutmelding 'Matrix Index is buiten bereik voor verwijdering' in MATLAB

Telkens wanneer we een submatrix uit een bepaalde matrix of een specifiek aantal rijen of kolommen van de gegeven matrix moeten verwijderen, hebben we eerst toegang tot de matrixelementen die we willen verwijderen met behulp van matrixindexering en wijzen we ze vervolgens toe aan de [ ] exploitant . Maar als we het rijnummer of kolomnummer specificeren dat groter is dan de matrixindexgrens, krijgen we de foutmelding “ Matrixindex is buiten bereik voor verwijdering “.







Hoe u de fout “Matrix Index is buiten bereik voor verwijdering” in MATLAB kunt oplossen

Zoals we eerder hebben besproken, is de fout “ Matrixindex is buiten bereik voor verwijdering ' is opgetreden vanwege het verwijderen van een rij of kolom die niet in de opgegeven matrix ligt. Deze fout kan dus worden verholpen door de rij of kolom van de gegeven matrix te verwijderen die in de opgegeven matrix moet liggen. Nu zullen we eerst de fout genereren “ Matrixindex is buiten bereik voor verwijdering ' en repareer het vervolgens in de gegeven voorbeelden.



Voorbeeld 1: Hoe te repareren 'Matrixindex is buiten bereik voor verwijdering' tijdens het verwijderen van matrixrijen in MATLAB?

De hieronder gegeven MATLAB-code creëert een vierkante matrix met 10 rijen en 10 kolommen. Daarna initialiseert het een variabele i door er de waarde 5 aan toe te kennen. Nu verwijdert het een submatrix uit de gegeven matrix door rijnummers als uitdrukking te vermelden. Wanneer we deze uitdrukking evalueren voor de opgegeven waarde van variabele i, namelijk 5, krijgen we rijnummer 12. De dubbelepuntoperator (:) geeft aan dat we alle kolommen van het opgegeven rijnummer willen verwijderen. Omdat de matrix echter slechts 10 rijen heeft, ligt rijnummer 12 buiten bereik, wat resulteert in een foutmelding “ Matrixindex is buiten bereik voor verwijdering “.



EEN = magie ( 10 )
i = 5 ;
A ( ( i * 3 ) - 3 ,: ) = [ ]





Nu kunnen we deze fout herstellen door het rijnummer te vermelden dat in de matrix ligt.

EEN = magie ( 10 )
i = 10 ;
A ( 1 :i- 3 ,: ) = [ ]

In de bovenstaande code verwijderen we de eerste 7 rijen van de gegeven matrix A.



Voorbeeld 2: Hoe repareer ik 'Matrixindex is buiten bereik voor verwijdering' tijdens het verwijderen van een submatrix uit een gegeven matrix in MATLAB?

In dit voorbeeld maken we een vierkante matrix met 10 rijen en 10 kolommen. Daarna initialiseren we een variabele i door er de waarde 5 aan toe te kennen. Nu verwijderen we een submatrix uit de gegeven matrix door kolomnummers als uitdrukking te vermelden. Wanneer we deze uitdrukking evalueren voor de opgegeven waarde van variabele i, namelijk 5, krijgen we de kolomnummers van 7 tot 15. De matrix heeft een aantal kolommen van 10, maar het resulterende kolomnummerbereik is van 7 tot 15, wat niet liegt in de gegeven matrix, dus we krijgen een fout “Matrixindex is buiten bereik voor verwijdering” .

EEN = magie ( 10 )
ik = 5 ;
A ( :, 7 :i * 3 ) = [ ]

Nu kunnen we deze fout oplossen door het kolombereik te vermelden dat in de matrix ligt.

EEN = magie ( 10 )
ik = 5 ;
A ( :, 7 :i * 2 ) = [ ]

In de bovenstaande code verwijderen we de laatste 4 kolommen van de gegeven matrix A.

Conclusie

Tijdens het uitvoeren van verschillende matrixbewerkingen in MATLAB krijgen we fouten als gevolg van technische fouten. Een dergelijke fout is “ Matrixindex is buiten bereik voor verwijdering ”die optreedt als gevolg van het verwijderen van een onbepaald aantal rijen en kolommen uit een bepaalde matrix. Deze fout kan worden verholpen door de rijen of kolommen te verwijderen die in de gegeven matrix moeten liggen. In deze handleiding vindt u voorbeelden van het genereren van fouten en de oplossingen om deze op te lossen. Als u ze begrijpt, kunt u uw problemen oplossen als zich in uw geval een dergelijke fout voordoet.