2016-02-24 2 views
0

У меня есть большой набор декартовых точек XYZ в Excel (около 40k на самом деле) и искал формулу или макрос, чтобы сравнить каждую точку с каждой точкой получить расстояние между ними.Excel - 3D-декартовы точки - эвклидовое расстояние для большой группы точек

Математику, чтобы получить значение расстояния между двумя 3D точками:

Distance=SQRT((X2 – X1)^2 + (Y2 – Y1)^2 + (Z2 – Z1)^2) 
X1=the X value of the 1st point 
X2=the X value of the 2nd point 
Y1=the Y value of the 1st point 
Y2=the Y value of the 2nd point 
etc 

Вот пример, начиная с 10 пунктов:

http://i.imgur.com/U3lchMk.jpg 

ли кто-нибудь знает, как построить это в Excel, чтобы я мог просто скопировать формулу на странице до горизонтального предела? Или вы порекомендовали бы лучший способ, чем использовать Excel?

В качестве дополнительной цели я хочу сгруппировать точки в кластеры, которые могут соединяться на расстояние ниже 2. Но если я смогу выполнить первый гол, я могу беспокоиться о втором позже.

+0

на самом деле, я был в состоянии придумать решения с немного больше исследований: http://i.imgur.com/ 9JL5Qni.jpg = SQRT (((НЕПРЯМЫЕ («A» & D2)) - (НЕПРЯМЫЕ («A» & E $ 1)))^2 + ((НЕПРЯМЫЕ («B» & D2)) - (НЕПРЯМЫЕ ("Б" и Е $ 1)))^2 + ((ДВССЫЛ ("С" & $ D2)) - (ДВССЫЛ ("С" и Е $ 1)))^2) – Cyclone

ответ

0

На самом деле, я смог придумать решение с немного большим количеством исследований: i.imgur.com/9JL5Qni.jpg = SQRT (((НЕПРЯМЫЕ («A» & $ D2)) - (НЕПРЯМЫЕ (" A "& E $ 1)))^2 + ((НЕПРЯМЫЕ (" B "& $ D2)) - (НЕПРЯМЫЕ (" B "& E $ 1)))^2 + ((НЕПРЯМЫЕ (" C "& $ D2)) - (INDIRECT ("C" & E $ 1)))^2)