filter cell array with strings

43 次查看(过去 30 天)
i have a cell array and want to create a chart by filtering values. basically i want to filter by cat1 and cat3.
For example, i want to pull out all rows where 'cat' is the value for cat1 and then pull out rows where '100' is the value for cat3 (i.e. row 1 and 6 in this case)
my cell array looks like:
{cat1} {cat2} {cat3}
{'cat'} {4} {100}
{'dog'} {4} {100}
{'bird'} {4} {100}
{'cat'} {5} {100}
{'dog'} {4} {200}
{'cat'} {5} {100}

采纳的回答

Ive J
Ive J 2021-10-28
编辑:Ive J 2021-10-28
Try to work with tables, they're more versatile. Also check groupfilter for more advanced filtering schemes.
tab = array2table(string(yourCell))
cat1 cat2 cat3
______ ____ ____
"cat" 4 100
"dog" 4 100
"bird" 4 100
"cat" 5 100
"dog" 4 200
"cat" 5 100
idx = tab.cat1 == "cat" & tab.cat3 == 100;
newTab = tab(idx, :)
cat1 cat2 cat3
_____ ____ ____
"cat" 4 100
"cat" 5 100
"cat" 5 100

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matched Filter and Ambiguity Function 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by