How can I delete some specific rows from a cell?
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
How can I delete som specific rows from a cell according to the matrix(see the pic). When the elementw of the Matrix are1 I must delete the same rows from the cell. Any ideas?
<<
<<

>>
>>
3 comentarios
Adam
el 23 de Sept. de 2016
What is the structure of your cell array? If it is a 2d cell array and you want to delete whole rows of it then it is trivial, but I'm guessing you mean you want to delete rows from the contents of each cell?
Thimiod Athan
el 24 de Sept. de 2016
Editada: Thimiod Athan
el 24 de Sept. de 2016
Thimiod Athan
el 24 de Sept. de 2016
Respuestas (2)
Image Analyst
el 23 de Sept. de 2016
Editada: Image Analyst
el 23 de Sept. de 2016
What is "elementw" and "Matrix"? All we see are "Table" and "A".
If you have a cell array called ca, and you have a logical column vector "A", you can remove cells from ca where A is 1 or true like this:
caNew = ca(A==0); % Extract cells where A=0 (i.e. remove cells where A=1).
Or, equivalently
caNew = ca; % Initialize
caNew(A) = []; % Remove cells where A=1
3 comentarios
Thimiod Athan
el 24 de Sept. de 2016
Thimiod Athan
el 24 de Sept. de 2016
Image Analyst
el 24 de Sept. de 2016
Even easier is to use logical indexing. No need for find():
Table(A==1,:)=[];
table is a built in function in MATLAB. Even though MATLAB is case sensitive, so table is different than table, it's a good idea not to use variable names that are the "same" as function names.
I could have told you this . . . if you'd been a little more careful about your question. For example you never mentioned the "Table" variable at all in your question. And you used the word "cell" in a non-MATLAB-ish way. Go here http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F for a very good discussion of cells in MATLAB.
Vignesh Murugavel
el 3 de Ag. de 2021
0 votos
Using Logical Indexing
Table(A==1,:)=[];
1 comentario
Walter Roberson
el 3 de Ag. de 2021
That is what Image Analyst said nearly 5 years ago. https://www.mathworks.com/matlabcentral/answers/304242-how-can-i-delete-some-specific-rows-from-a-cell#comment_393354
La pregunta está cerrada.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

