finding the index of an array in cell array

1 vue (au cours des 30 derniers jours)
Izzat Brgli
Izzat Brgli le 28 Mar 2021
Commenté : Stephen23 le 30 Mar 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

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by