How to extract the most similar(closest) one

1 次查看(过去 30 天)
Hi,
I have below matrix:
InputMatrix:
1.0 2.2 3.1 4.0
1.1 3.3 4.7 6.2
2.2 4.9 5.3 6.2
1.1 2.3 2.8 3.9
Now I have the new one
Newdata:
1.2 2.2 3.4 4.5
I want to extract most similar row in InputMatrix to New data,

采纳的回答

Stephen23
Stephen23 2017-8-28
To obtain the closest row without requiring a tolerance value:
M = [1.0,2.2,3.1,4.0;1.1,3.3,4.7,6.2;2.2,4.9,5.3,6.2;1.1,2.3,2.8,3.9];
V = [1.2,2.2,3.4,4.5];
[~,idx] = min(sum(bsxfun(@minus,M,V).^2,2));
M(idx,:)

更多回答(1 个)

KSSV
KSSV 2017-8-28
编辑:KSSV 2017-8-28
Read about ismembertol ....
A = [1.0 2.2 3.1 4.0
1.1 3.3 4.7 6.2
2.2 4.9 5.3 6.2
1.1 2.3 2.8 3.9] ;
B = [1.2 2.2 3.4 4.5] ;
idx = ismembertol(A, B, 0.1, 'ByRows', true)

Community Treasure Hunt

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

Start Hunting!

Translated by