Find location (column) of a [1] in a cell array
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Lauren Harkness
am 19 Okt. 2017
Kommentiert: Karleigh Irwin
am 20 Okt. 2017
If I have a 1x3 cell array that looks something like this [] [] [1], or this [1][][], how would I get my code to print the index at which the 1 is? so for the first example, it's in column 3 and I would like to output a 3, and for the second example the 1 is in column 1/position 1 so I would like to output a 1. (Note: this will always be for a 1xN cell array with only one row)
Akzeptierte Antwort
Walter Roberson
am 19 Okt. 2017
find(~cellfun(@isempty, YourCell))
Those kinds of arrays are common when you are using strfind() or regexp().
It is common in such cases that using a logical vector does as well or better than finding the index, especially if there might be multiple matches:
mask = ~cellfun(@isempty, YourCell);
selected = YourOriginal(mask);
and not infrequently
mask = cellfun(@isempty, YourCell);
YourOriginal(mask) = [];
leaving only the matching entries.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings 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!