How to solve "Index exceeds matrix dimensions" error?
Afficher commentaires plus anciens
My question might be simple for most of you. Basically, I would like to delete a row of a matrix where a value of an element in column 6 is zero. In doing so, I run the following command.
load filename.txt;
for i = 1:length(filename)
if filename(i,6) = 0;
filename(i,:) = [];
end
end
However, the error message comes up saying that "Index exceeds matrix dimensions.". I don't understand why it exceeds the dimension because I have already specified that i = 1 to the length of the matrix. Any help on this would be appreciated. Thank you.
Réponse acceptée
Plus de réponses (2)
Oleg Komarov
le 20 Fév 2012
1 vote
Because you're shrinking filename if the condition is verified.
Once you delete a row, the length of filename is one unit smaller but the loop is still setup from 1 to initial dimension of filename.
nfllover
le 20 Fév 2012
0 votes
Catégories
En savoir plus sur Matrix Indexing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!