Info

This question is closed. Reopen it to edit or answer.

How to solve "Index exceeds matrix dimensions" error?

1 view (last 30 days)
My question might be simple for most of you. Basically, I would like to delete a row of a matrix where a value of the elements in columns from 2 to 7 is zero. In doing so, I run the following command.
for i=1:size(StayCell,1)
if StayCell(i,2:7)==0
StayCell(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.
I try also this codes but i have the same problems
for i=length(StayCell)
if(StayCell(:,2:7)==0)
StayCell(i,:)=[];
end
end
StayCell(StayCell(:,2:7)==0,:)=[];

Accepted Answer

Eng. Fredius Magige
Eng. Fredius Magige on 27 Oct 2015
Hi It might need to recalling as ready reduced the row, thus try this:
StayCell=StayCell for i=1:size(StayCell,1) if StayCell(i,2:7)==0 StayCell(i,:)=[]; end StayCell=(StayCell, [ ]) end
  1 Comment
pamela sulis
pamela sulis on 27 Oct 2015
I have the same problem... and StayCell=(StayCell, [ ]) create an error :(

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!