Как рассчитать евклидово расстояние между двумя точками, определяемыми матрицей, содержащей x, y?

Я очень потерян вРасчет евклидова расстояния, Я нашел функции dist2 {SpatialTools} или rdist {fields}, чтобы сделать это, но они не работают должным образом.

Я предполагаю, что одна точка имеет две координаты в картезианской системе, поэтому [x, y]. Чтобы измерить расстояние между 2 точками (определенными строкой), мне нужно 4 координаты для 2 точек, поэтому точка A: [x1, y1] точка B: [x2, y2]

Очки координации:

A[0,1]
B[0,0] 
C[1,1]
D[1,1]

У меня есть две матрицы:x1(Там есть A и C, определенные строками) иx2 (содержат B и D). Написано в матрице:

library("SpatialTools")
x1<-matrix(c(0,1,1,1), nrow = 2, ncol=2, byrow=TRUE)
x2<-matrix(c(0,0,1,1), nrow = 2, ncol=2, byrow=TRUE)

так я получаю

> x1
     [,1] [,2]
[1,]    0    1    #(as xy coordinates of A point)
[2,]    1    1    #(same for C point)

> x2
     [,1] [,2]
[1,]    0    0    #(same for B point)
[2,]    1    1    #(same for D point)

Рассчитать евклидово расстояние между

A <-> B  # same as x1[1,] <-> x2[1,]
C <-> D  # same as x1[2,] <-> x2[2,]

Я предполагаю получитьEuclidDist:

> x1                           x2                         EuclidDist
     [,1] [,2]                      [,1] [,2]
[1,]    0    1    #A         [1,]    0    0    #B             1
[2,]    1    1    #B         [2,]    1    1    #D             0

Я хотел бы просто получитьвектор расстояний между двумя точками, обозначенными [x, y] координатамиОднако, используяdist2 Я получаю матрицу:

> dist2(x1,x2)
         [,1] [,2]
[1,] 1.000000    1
[2,] 1.414214    0

У меня вопрос, какие числа описывают реальное евклидово расстояние между A-B и C-D из этой матрицы? Я что-то неправильно понимаю? Большое спасибо за каждый совет или любое объяснение.

Ответы на вопрос(4)

Ваш ответ на вопрос