Info

此问题已关闭。 请重新打开它进行编辑或回答。

How can i get almost similar row from amatrix

1 次查看(过去 30 天)
I have a row
h=[.9 .5 .4 .3]
and matrix q where q is 4by4 matrix
q=[0.8997 0.1997 0.4985 -0.6996; 0.9912 0.2203 0.5516 -0.7693;
0.9980 0.2219 0.5543 -0.7748; 0.9987 0.2235 0.5556 -0.7791]
how to compute a row which is the most similar row of h in matlab.

回答(1 个)

Jos (10584)
Jos (10584) 2018-2-9
You have to define "similar" more strictly! Here I have take the norm as the similarity measure, but there are other alternatives
% some data
q = randi(5,10,4)
h = randi(5,1,4)
% q(2,:) = h % uncomment to check that minRow will be this row of q
% engine
simFun = @(x) norm(x-h,2) % similarity measure between x and h
simM = arrayfun(@(k) simFun(q(k,:)),1:size(q,1)) % loop over each row of q
[minVal, minRow] = min(simM)
You could put all this in a single line (which is harder to understand and debug).

此问题已关闭。

Community Treasure Hunt

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

Start Hunting!

Translated by