Euclidean distance for 3D data

63 views (last 30 days)
Nurul Atifah
Nurul Atifah on 2 May 2018
Commented: Lu Zhang on 4 May 2022
Hye, can anybody help me, what is the calculation to calculate euclidean distance for 3D data that has x,y and z value in Matlab? Thank you so much. Really appreciate if somebody can help me.
  3 Comments
Jan
Jan on 2 May 2018
The distance to what?
Lu Zhang
Lu Zhang on 4 May 2022
Hi, Nurul. Did you figure it out finally? Is it possible for you to share the answer? I want to compute the euclidean distance for fMRI data on the vertex level. Thank you so much.

Sign in to comment.

Accepted Answer

Jan
Jan on 2 May 2018
Edited: Jan on 2 May 2018
I guess, that you want the distance of a set of points to a specific other point:
% 100 points in 3D:
Pos = rand(100, 3);
% Euclidean distance to point [1,2,3]:
D = sqrt(sum((Pos - [1,2,3]).^2, 2))
With modern Matlab versions:
D = vecnorm(Pos - [1,2,3], 2, 2)
With old Matlab versions before the auto-expanding (< R2016):
V = bsxfun(@minus, Pos, [1,2,3]);
D = sqrt(sum(V.^2, 2))
  8 Comments
Nurul Atifah
Nurul Atifah on 6 May 2018
Ohh I see. Thats exactly what I want. Thank you so much. :)
Dee
Dee on 8 Oct 2019
Hi Nurul were you able to find for 83 by 3 matrix?

Sign in to comment.

More Answers (1)

dmitry luchinsky
dmitry luchinsky on 17 Sep 2019
why not to use pdist2?

Community Treasure Hunt

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

Start Hunting!