MATLAB: How to extract the most similar(closest) one

data acquisitionData Acquisition Toolboxmachine learningstatisticsStatistics and Machine Learning Toolbox

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,

Best Answer

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,:)