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 ?

 採用された回答

Arpan Bhowmik
Arpan Bhowmik 2018 年 4 月 28 日

0 投票

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSparse Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by