How can I delete some specific rows from a cell?
Infos
Cette question est clôturée. Rouvrir pour modifier ou répondre.
Afficher commentaires plus anciens
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 commentaires
Adam
le 23 Sep 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
le 24 Sep 2016
Modifié(e) : Thimiod Athan
le 24 Sep 2016
Thimiod Athan
le 24 Sep 2016
Réponses (2)
Image Analyst
le 23 Sep 2016
Modifié(e) : Image Analyst
le 23 Sep 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 commentaires
Thimiod Athan
le 24 Sep 2016
Thimiod Athan
le 24 Sep 2016
Image Analyst
le 24 Sep 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
le 3 Août 2021
0 votes
Using Logical Indexing
Table(A==1,:)=[];
1 commentaire
Walter Roberson
le 3 Août 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
Cette question est clôturée.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

