finding the index of an array in cell array

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

0 votes

arr ={[1,2,3],[4,45,6]};
>> index=find(cellfun(@(x) all(x==[1 2 3]),arr))
index =
1

1 commentaire

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

Community Treasure Hunt

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

Start Hunting!

Translated by