How to remove the rows with particular value in a cell?
1 view (last 30 days)
Show older comments
A = { a 99 8.5; b 2.4 9.7; c 12 99; d 13 11; e 1 1; f 0 1}
I would like to remove the rows with 0 and 99. i.e Row 1, Row 3 and Row 6
0 Comments
Accepted Answer
Jos (10584)
on 7 Jun 2016
a = 'unknown', b = [], c = 1, d= 1:10, e ={'cell_in_cell'}, f.x = 'struct'
A = { a 99 8.5; b 2.4 9.7; c 12 99; d 13 11; e 1 1; f 0 1}
B = A(~any(cellfun(@(x) isequal(x,0) || isequal(x,99),A,'un',1),2),:)
2 Comments
JFz
on 6 Apr 2017
Hi, Jos,
Thanks for the answer here. But what is the use of 'un' and 1 here in this line: B = A(~any(cellfun(@(x) isequal(x,0) isequal(x,99),A,'un',1),2),:) Thanks!
Jos (10584)
on 20 Apr 2017
"un" is short for "UniformOutput" (see the help of cellfun for details). Matlab often allows for shortening inputs.
More Answers (0)
See Also
Categories
Find more on Structures in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!