please help me sort this out
1 次查看(过去 30 天)
显示 更早的评论
please can someone help me with a very simple coding... i know its simple but i'm not getting...
i 2 matrix with dimensions below,
A = with 13 rows and 125 columns
B = with 1 row and 125 column,
i want to find which row of A matches with B if it does not match, i want to get the row which matches with most columns of B
please someone help me to sort it out, eg if A is,
34 44 55 66
23 33 22 27
21 44 66 34
if B = 23 33 22 27 i want ans = 2
if B = 27 44 66 34 i want ans = 3
0 个评论
采纳的回答
Azzi Abdelmalek
2014-2-6
A=[4 44 55 66
23 33 22 27
21 44 66 34]
B=[23 33 22 27]
[~,ii]=max(sum(ismember(A,B),2))
2 个评论
Jos (10584)
2014-2-6
+1 Azzi
However, note that this does not care about the column order, which may or may not matter.
% Which row of A matches B the most?
A = [1 2 3 5 ;
4 3 2 1]
B = [1 2 3 4]
更多回答(1 个)
Jos (10584)
2014-2-6
When column number does matter:
% A : a N-by-M array
% B : a 1-by-N row vector
[~, ii] = max(sum(bsxfun(@eq,A,B),2))
RESULT = A(ii,:)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!