Calculating distance from a refence vector for a matrix

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 ?

 Accepted 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

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!