find all elements (cells) of a single element (cell) in cell array

7 vues (au cours des 30 derniers jours)
MA
MA le 28 Août 2019
Commenté : MA le 28 Août 2019
I have the following cell array (c) which is 3*2. Now I want to find all elements of lets say c{1,1} which is [3,2]. The answer that I wish to have is (2) which refers to the index of these elements separately. Any possible ideas? thanks
c=
{[3,2]} {[4,1]}
{3} {2}
{4} {1}
  3 commentaires
Adam Danz
Adam Danz le 28 Août 2019
I see. So you want to return the row index of C that, when horizontally concatented, equals the vector in C{1,1}.

Connectez-vous pour commenter.

Réponse acceptée

MA
MA le 28 Août 2019
I found the answer if anyone is looking for something similar
for i=2:size(c,1)
if (isequal(c{1,1},cell2mat(c(i,:))))
index=i;
end
end
  2 commentaires
MA
MA le 28 Août 2019
Thanks alot. It really helps

Connectez-vous pour commenter.

Plus de réponses (1)

Luna
Luna le 28 Août 2019
Maybe you can try this piece of code:
cellSizes = cellfun('prodofsize',c);
elementIndices = [];
elementValues = [];
for i = 1:numel(cellSizes)
for j = 1:cellSizes(i)
tempVar = c{i}(j);
elementValues = [elementValues,tempVar];
elementIndices = [elementIndices,find(c{i} == tempVar)];
end
end

Catégories

En savoir plus sur Resizing and Reshaping Matrices 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