Azzera filtri
Azzera filtri

finding the index of an array in cell array

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 29 Mar 2021
Modificato: Fangjun Jiang il 29 Mar 2021
arr ={[1,2,3],[4,45,6]};
>> index=find(cellfun(@(x) all(x==[1 2 3]),arr))
index =
1
  1 Commento
Stephen23
Stephen23 il 30 Mar 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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by