how to use find to cell cell indexing
1 view (last 30 days)
Show older comments
why does this not work ?
find(grnd_truth_cell{:,1} == 6)
I want to find all of grnd_truth_cell whose 1st column at every row == 6 but matlab tell me Error using == Too many input arguments.
2 Comments
Image Analyst
on 10 Dec 2016
If you just type this on the command line
grnd_truth_cell{:,1}
what does it report to the command window? Show us.
Accepted Answer
dpb
on 10 Dec 2016
Because as your command line shows,
grnd_truth_cell{:,1}
is a comma-separated list. Enclose it in the [] to make an array that find can operate over--
find([grnd_truth_cell{:,1}]==6)
More Answers (1)
Image Analyst
on 10 Dec 2016
Edited: Image Analyst
on 10 Dec 2016
Maybe you can assign it to a column vector first
col1 = grnd_truth_cell{:,1};
whos col1
rowsThatEqual6 = find(col1 == 6); % Braces.
How does that work? Maybe you need to use cell2mat():
col1 = cell2mat(grnd_truth_cell(:, 1)); % Parentheses
If that doesn't work, attach grnd_truth_cell in a .mat file so I can try some things.
save('grnd_truth_cell.mat', 'grnd_truth_cell');
0 Comments
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!