Find specific cell in another cells

1 Ansicht (letzte 30 Tage)
Ting-Yu Chueh
Ting-Yu Chueh am 21 Apr. 2019
Bearbeitet: Ting-Yu Chueh am 21 Apr. 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 Kommentare
Ting-Yu Chueh
Ting-Yu Chueh am 21 Apr. 2019
Bearbeitet: Ting-Yu Chueh am 21 Apr. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 21 Apr. 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 Kommentar
Ting-Yu Chueh
Ting-Yu Chueh am 21 Apr. 2019
Bearbeitet: Ting-Yu Chueh am 21 Apr. 2019
It works out. Many thanks!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by