Delete rows from cell array in a for loop

조회 수: 10 (최근 30일)
Dexter
Dexter 2022년 10월 24일
편집: Jan 2022년 10월 24일
Hi, I want to delete one row in each iteration in a for loop. For example in iteration 1 I want to delete row 1, in iteration 2 I want to delete row 2 but I want to have row 1 in my cell array, in iteration 3 I want to delete row 3 but I want to have row 2 and 3 in my cell array. How can I do it?
  댓글 수: 2
Jan
Jan 2022년 10월 24일
Is this a typo: "delete row 3 but I want to have row 2 and 3"? Do you mean row 1 and 2?
Dexter
Dexter 2022년 10월 24일
Yes

댓글을 달려면 로그인하십시오.

채택된 답변

Jan
Jan 2022년 10월 24일
편집: Jan 2022년 10월 24일
C = num2cell(magic(4));
C = 4×4 cell array
{[16]} {[ 2]} {[ 3]} {[13]} {[ 5]} {[11]} {[10]} {[ 8]} {[ 9]} {[ 7]} {[ 6]} {[12]} {[ 4]} {[14]} {[15]} {[ 1]}
n = height(C)
for k = 1:n
C2 = C;
C2(k, :) = [];
... your calculations come here
end
% Or:
m = true(n, 1);
for k = 1:n
m(k) = false;
C2 = C(m, :);
m(k) = true; % Reset for next iteration
... your calculations come here
end

추가 답변 (1개)

David Hill
David Hill 2022년 10월 24일
for k=1:100
a=yourCell;%just copy yourCell to another variable
a(k,:)=[];%deletes row k
end

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by