find matched data (place of equal values) ?
조회 수: 1 (최근 30일)
이전 댓글 표시
how i can find matched cells in two columns with accept multi matches for any cell.
the data is:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/150113/image.jpeg)
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
채택된 답변
Andrei Bobrov
2015년 5월 15일
a1 = cat(1,querymdr{:});
a2 = cat(1,alldata{:,1});
ii = ismember(a2,a1);
record = [alldata{ii,6}];
댓글 수: 3
Walter Roberson
2015년 5월 15일
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.
추가 답변 (1개)
Walter Roberson
2015년 5월 15일
What you do is you stop posting the same material and you use the solution I already gave in your previous topic
댓글 수: 8
Walter Roberson
2015년 5월 15일
When working with a cell array, one has to know the class() and size() of the entries in the array as well.
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!