how to use find to cell cell indexing
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Image Analyst
am 10 Dez. 2016
If you just type this on the command line
grnd_truth_cell{:,1}
what does it report to the command window? Show us.
Akzeptierte Antwort
dpb
am 10 Dez. 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)
1 Kommentar
Weitere Antworten (1)
Image Analyst
am 10 Dez. 2016
Bearbeitet: Image Analyst
am 10 Dez. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!