MATLAB: Calculating distance from a refence vector for a matrix

distancematrix manipulation

I have a matrix A and a reference vector ref I want to calculate the distance for each row of the matrix.
Example:
A = [1 2 3; 4 5 6; 7 8 9];
ref = [2 6 8];
distance = sqrt(sum((A(1,:) - ref) .^ 2));
How to do this for all the rows of A in a single line ?

Best Answer

You can use bsxfun to do the subtraction steps in one line as follows:
A = [1 2 3; 4 5 6; 7 8 9];
ref = [2 6 8];
distance = sqrt(sum(bsxfun(@minus,A,ref).^2,2));% Sum has to be given dimension
% to work on since input is matrix