How to find the most similar row in matrix A to matrix B

I have Two matrix A &B as follows"
A=[1.2 2.0 3.3;1.2 2.0 3.2;1.1 2.1 3.3]
B=[1.1 2.0 3.2]
I want to find most similar row in matrix A(&elements) to matrix B. Please kindly help some how can I trace the most similar one.
Many Thanks in advance.

2 Comments

How you quantify the similarity?
A = [1 1 1];
B = [1 1 1e6];
C = [10 10 10];
Which of B or C is "most similar" to A? B matches two of the three elements exactly, but the third is rather far off. C doesn't match ANY of the elements in A exactly, but it's not as far off as B's third element.

Sign in to comment.

 Accepted Answer

variant
A=[1.2 2.0 3.3;1.2 2.0 3.2;1.1 2.1 3.3];
B=[1.1 2.0 3.2];
a = sqrt(sum(bsxfun(@minus,A,B).^2));
[~,t] = min(a);
out = A(t,:);

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!