How to delete every "n thru m" rows?

13 vues (au cours des 30 derniers jours)
Nicole Ralbovsky
Nicole Ralbovsky le 22 Avr 2021
Modifié(e) : David Hill le 22 Avr 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.

Réponses (1)

David Hill
David Hill le 22 Avr 2021
I might not understand your question fully. What is the size of your matrix? (260x1)
yourMatrix(151:181,:)=[];%deletes rows in matrix
  2 commentaires
Nicole Ralbovsky
Nicole Ralbovsky le 22 Avr 2021
Modifié(e) : Nicole Ralbovsky le 22 Avr 2021
Thanks for the quick response. The matrix is 27460x1 and I would like to delete every 151-181 rows. So instead of deleting every 151 ("nth") row, I want to delete every 151-181 rows.
David Hill
David Hill le 22 Avr 2021
Modifié(e) : David Hill le 22 Avr 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))=[];

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by