Find specific cell in another cells

12 vues (au cours des 30 derniers jours)
Ting-Yu Chueh
Ting-Yu Chueh le 21 Avr 2019
Modifié(e) : Ting-Yu Chueh le 21 Avr 2019
Hi everyone,
Attachment is my file.
I would like to know the locations of this cells containes a specific cell-{21 31 1}
I try to use like below:
Match = {21 31 1};
CorrectMatch = find (cellfun(@(x) isequal (x,Match), condition(1,:)));
but it return 0.
Could any one help me?
  2 commentaires
madhan ravi
madhan ravi le 21 Avr 2019
Modifié(e) : madhan ravi le 21 Avr 2019
Ting-Yu Chueh
Ting-Yu Chueh le 21 Avr 2019
Modifié(e) : Ting-Yu Chueh le 21 Avr 2019
Thnaks. That's what I asked before.
In that case,
condition = { {21 31 1}, {22 32 2}, {21 31 }, {22 32 1} };
% Define what we want to find
match = {21 31 1};
% Instantiate output vector of where matches were found.
CorrectMatch = find (cellfun(@(x) isequal (x,match), condition(1,:)));
It work out.
But, in my real data, it failed. I don't know what problems in this method or data.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 21 Avr 2019
match = {21 31 1}
does not exist in your actual condition variable. Your actual condition is a cell array of cell arrays of character vectors such as {'21' '31' '1'}
match = {21 31 1};
mm = cell2mat(match); %eg [21 31 1]
CorrectMatch = find( cellfun(@(c) isequal(str2double(c), mm),condition) );
  1 commentaire
Ting-Yu Chueh
Ting-Yu Chueh le 21 Avr 2019
Modifié(e) : Ting-Yu Chueh le 21 Avr 2019
It works out. Many thanks!!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Bounding Regions dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by