how to find distance between two points?

Hai,
I need to find the distance between two points in the figure, which I have plotted. Is there any function in matlab that could find the distance between two points. Looking for your reply.
BSD

 채택된 답변

Lucas García
Lucas García 2011년 9월 27일

28 개 추천

You can use the pdist function in the Statistics Toolbox:
e.g: distance between points (0,0) and (2,1)
>> X = [0,0;2,1];
>> d = pdist(X,'euclidean')
d =
2.2361

댓글 수: 3

manish sharma
manish sharma 2012년 6월 30일
That worked for me. Thanks Lucas :)
Mohd Aaqib Lone
Mohd Aaqib Lone 2019년 11월 5일
I want to measure distance between one point to other more than ten points, what i mean is like i have ten markers on one line and i want to compute distance from the ist marker with other 9 markers. How can I do it in MATLAB. Please answer.
zoher badr
zoher badr 2021년 2월 14일
in this case you have to have a nested loop so you gaurantee to reach each point int the list

댓글을 달려면 로그인하십시오.

추가 답변 (6개)

MathWorks Support Team
MathWorks Support Team 2018년 11월 8일

25 개 추천

The distance between two points x and y is the same as the magnitude of the vector that points from one point to the other:
>> x = [0 0];
>> y = [2 1];
>> norm(x-y)
ans =
2.2361

댓글 수: 2

Peize Li
Peize Li 2020년 12월 30일
Will i get a column vector of distances if I try norm(x-y), where x and y are two 3 x 2 vectors?
Advik Solanki
Advik Solanki 2022년 2월 28일
thanks

댓글을 달려면 로그인하십시오.

Walter Roberson
Walter Roberson 2011년 9월 27일

6 개 추천

No. You will have to code it yourself.
There are many different possible meanings for "distance". See http://en.wikipedia.org/wiki/Metric_%28mathematics%29#Examples
Fangjun Jiang
Fangjun Jiang 2011년 9월 27일

3 개 추천

Pos=[x1 x2;y1 y2]
D=dist(Pos);

댓글 수: 4

Walter Roberson
Walter Roberson 2011년 9월 27일
Which "dist" function are you referring to, Fangjun ? The only one I find is in the Neural Networks toolbox, and it returns a matrix of distances rather than a single distance.
http://www.mathworks.com/help/toolbox/nnet/ref/dist.html
Fangjun Jiang
Fangjun Jiang 2011년 9월 27일
@Walter, just the dist() function in MATLAB, not associated to any particular Toolbox. help dist or doc dist will brings it up.
There are many call syntax of dist(). I though the OP wants the Euclidean distance between two points (x1,y1), (x2,y2), which should be sqrt((x1-x2)^2+(y1-y2)^2).
dist() can calculate the Euclidean distance of multiple points at once, it can certainly be used to calculate the distance for two points, although it seems to be an over-kill because the equation sqrt((x1-x2)^2+(y1-y2)^2) can do that too.
Since the OP asked for a MATLAB function, I thought this is the one.
pos=rand(2,5)
D=dist(pos)
Fangjun Jiang
Fangjun Jiang 2011년 9월 27일
Sorry, Walter. You are right, the dist() function is from the Neural Network Toolbox.
Fangjun Jiang
Fangjun Jiang 2011년 9월 27일
I am using my new MATLAB version today. It has a bunch of toolbox. Nice!

댓글을 달려면 로그인하십시오.

Twinkle Jain
Twinkle Jain 2017년 3월 17일

1 개 추천

X = [0,0;2,1];
d = pdist(X,'euclidean')
Sohrab Dorodvand
Sohrab Dorodvand 2018년 8월 2일

0 개 추천

if i was to compare one point of a 1d graph and to compare the distances between that point(the reference point) to others on the graph. how can i do that?
Daksh
Daksh 2023년 2월 2일

0 개 추천

I understand you're experiencing doubts over calculating distance between 2 points in the figure for which you have variable values saved in workspace. You can use one of the following methods for your utility:
  1. norm(): distance between two points as the norm of the difference between the vector elements
  2. pdist(X): Euclidean distance between pairs of observations in X
  3. pdist2(X,Y,Distance): distance between each pair of observations in X and Y using the metric specified by Distance.
  4. distance(): distance between two points in Geographic space
Hope this helps!

카테고리

도움말 센터File Exchange에서 Graphics에 대해 자세히 알아보기

태그

질문:

bsd
2011년 9월 27일

답변:

2023년 2월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by