Delete rows from cell array in a for loop

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 个评论

Is this a typo: "delete row 3 but I want to have row 2 and 3"? Do you mean row 1 and 2?

请先登录,再进行评论。

 采纳的回答

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 个)

for k=1:100
a=yourCell;%just copy yourCell to another variable
a(k,:)=[];%deletes row k
end

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

提问:

2022-10-24

编辑:

Jan
2022-10-24

Community Treasure Hunt

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

Start Hunting!

Translated by