find matched data (place of equal values) ?
1 view (last 30 days)
Show older comments
how i can find matched cells in two columns with accept multi matches for any cell.
the data is:
i use this code:
for j=1:length(defs)
querymdr=data2(:,1); # quermdr 5*1 cells
y=alldata(:,1); % y 37*1 cells
ind=find(y==querymdr) ;
record= alldata(idx,:);
% record=[alldata{idx(1),:}];
for k=2:length(idx)
record = [record,(alldata(idx(k),6))];
end
data1(j,:)=record;% put combined record into result table
end
it gives me an error in
ind= find(y==querymdr) ;
with a message "Undefined function 'eq' for input arguments of type 'cell'. " what i can do ?
any help please...!
0 Comments
Accepted Answer
Andrei Bobrov
on 15 May 2015
a1 = cat(1,querymdr{:});
a2 = cat(1,alldata{:,1});
ii = ismember(a2,a1);
record = [alldata{ii,6}];
3 Comments
Walter Roberson
on 15 May 2015
The only difference between cat(1,querymdr{:}); and the [querymdr{:}] that I suggested earlier is that the cat(1) produces a column vector and the form I used creates a row vector.
More Answers (1)
Walter Roberson
on 15 May 2015
What you do is you stop posting the same material and you use the solution I already gave in your previous topic
8 Comments
Walter Roberson
on 15 May 2015
When working with a cell array, one has to know the class() and size() of the entries in the array as well.
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!