How to define the location/position of a number in a specific cell array?

11 Ansichten (letzte 30 Tage)
I have a question about a command in a code.
I have a 82x1 cell array named MY. In this array there is a number equal to "1" in the line 41. I would like to find the location/position of this number in this array (I mean I would like to have as a result the 41 line number). The other elements of this array have punctuations marks "[]" (see image uploaded
I tried to use:
location=find(table2array(MY{:}) == 1)
but it is no use ( I mean I want to have location=41).
Could you please help me?

Akzeptierte Antwort

Star Strider
Star Strider am 28 Jan. 2023
Bearbeitet: Star Strider am 29 Jan. 2023
It would help to have the actual cell array.
Try something like this —
MY = {[]; []; []; 1; []; []; []}
MY = 7×1 cell array
{0×0 double} {0×0 double} {0×0 double} {[ 1]} {0×0 double} {0×0 double} {0×0 double}
loc = find(cellfun(@(x)~isempty(x), MY))
loc = 4
EDIT — (29 Jan 2023 at 00:54)
Code revision (improved efficiency).
.

Weitere Antworten (1)

Voss
Voss am 28 Jan. 2023
idx = find(cellfun(@(x)isequal(x,1),MY));

Kategorien

Mehr zu Cell Arrays 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!

Translated by