Как рассчитать евклидово расстояние между двумя точками, определяемыми матрицей, содержащей 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 из этой матрицы? Я что-то неправильно понимаю? Большое спасибо за каждый совет или любое объяснение.