MATLAB Answers

Distance between elements of matrix

56 views (last 30 days)
Kartik
Kartik on 14 Sep 2013
I have a single line matrix in Matlab
U= -25.2465 -5.1193 44.1124 -18.1332 9.2715 43.7203 -48.6050.
What i want to find is the distance between consecutive elements..
For ex:- first selecting the first point -25.2465 and finding the distance with all other points..In the same way simultaneously selecting -5.1193,44.1124..and so on.
The output i intend to get is a distance matrix
0 (-5.11+25.24) ... ... ... ... ...
(25.324-5.1) 0
(25.24+44.11) (-5.11+44.93) ... ... ... ... ...
(25.24-18.13) ...
(25.24+9.71) ...
...
How should i write this code

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 14 Sep 2013
out = abs(bsxfun(@minus,U,U'));
or use function dist from Neural Network Toolbox
out = dist(U);

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 14 Sep 2013
n=numel(A)
B=-diff(A(fullfact([n n]))')'

Community Treasure Hunt

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

Start Hunting!