Delete m consecutive rows every n rows
조회 수: 2 (최근 30일)
이전 댓글 표시
Hello! I'm looking to find a way to delete certain rows in a big table that i'm working with. I would like to find a smart way to delete m consecutive rows every n rows. In my case I have m=6 and n=24--> i want rows 25:30 to be erased while rows 31:54 preserved, up till the end. Hope that the question is clear. Thank you!
채택된 답변
Voss
2022년 1월 25일
편집: Voss
2022년 1월 25일
Here's one way to do it, with a matrix. The logic would be the same for a table.
m = 6;
n = 24;
N = 87;
data = (1:N).'+(0:10:20); % some data
disp(data);
idx = (n+1:n+m).'+(n+m)*(0:ceil(N/(n+m))-1); % index of rows to delete
disp(idx);
idx(idx > N) = []; % don't go off the end
disp(idx);
data(idx,:) = []; % delete the dang rows
disp(data);
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!