MATLAB Answers

How to delete every "n thru m" rows?

3 views (last 30 days)
Nicole Ralbovsky
Nicole Ralbovsky on 22 Apr 2021
Edited: David Hill on 22 Apr 2021
I have a matrix which contians 27, 260 rows and one column. I need to delete every 151-181 rows of the data set. Is there a code with which I can do this? Essentially, instead of wanting to delete every "n" rows, I want to delete every "n thru m" rows. Thanks.

Answers (1)

David Hill
David Hill on 22 Apr 2021
I might not understand your question fully. What is the size of your matrix? (260x1)
yourMatrix(151:181,:)=[];%deletes rows in matrix
  2 Comments
David Hill
David Hill on 22 Apr 2021
Just add nan to end of matrix so you can reshape, and remove nan at end of operation.
yourMatrix(end+1:27512)=nan;
yourMatrix=reshape(yourMatrix,181,[]);
yourMatrix(151:181,:)=[];
yourMatrix=yourMatrix(:);
yourMatrix(isnan(yourMatrix))=[];

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by