finding the index of an array in cell array

1 Ansicht (letzte 30 Tage)
Izzat Brgli
Izzat Brgli am 28 Mär. 2021
Kommentiert: Stephen23 am 30 Mär. 2021
I'm trying to find out if an array is an element of a cell array and return the index, so I did
arr ={[1,2,3],[4,45,6]}
index = find([arr{:}] == [1,2,3])
but it didn't work. How can I solve it?
thanks in advance

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 29 Mär. 2021
Bearbeitet: Fangjun Jiang am 29 Mär. 2021
arr ={[1,2,3],[4,45,6]};
>> index=find(cellfun(@(x) all(x==[1 2 3]),arr))
index =
1
  1 Kommentar
Stephen23
Stephen23 am 30 Mär. 2021
Simpler and more efficient to use isequal:
arr = {[1,2,3],[4,45,6]};
vec = [1,2,3];
fun = @(a)isequal(vec,a);
idx = cellfun(fun,arr)
idx = 1×2 logical array
1 0

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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