Delete rows from cell array in a for loop

2 visualizaciones (últimos 30 días)
Dexter
Dexter el 24 de Oct. de 2022
Editada: Jan el 24 de Oct. de 2022
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 comentarios
Jan
Jan el 24 de Oct. de 2022
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 el 24 de Oct. de 2022
Yes

Iniciar sesión para comentar.

Respuesta aceptada

Jan
Jan el 24 de Oct. de 2022
Editada: Jan el 24 de Oct. de 2022
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

Más respuestas (1)

David Hill
David Hill el 24 de Oct. de 2022
for k=1:100
a=yourCell;%just copy yourCell to another variable
a(k,:)=[];%deletes row k
end

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by