Фон
Расширение этого вопроса.У меня есть набор точек (в системе с тремя осями, то есть с координатами (x, y, z)), и я хочу вычислить расстояние между каждой точкой.
Для этого мне сначала нужно сделатьМатрица со всеми возможными комбинациями точек (желательно без дубликатов, чтобы сэкономить на времени обработки), чтобы затем рассчитать все расстояния.
Задача
Теперь я пытаюсьиспользуйте для этого meshgrid
, но это становится довольно сложно.Это становится сложным, потому что (x, y, z) координаты находятся в матрице, которая отформатирована как: pointCoordinates[x,y,z,pointnumber]
И я не знаю, как сказать meshgrid
просто объединить точку-1 иточка-2 и т. д., не комбинируя также все отдельные x-координаты со всеми отдельными y-координатами и т. д. (которые представляют собой слишком много комбинаций, большинство из которых бесполезны).
Вопрос
Как мне мешать сетке сетки создавать избыточные комбинации координат?Или есть более простой способ сделать это?
Я думаю, я мог бы переформатировать матрицу pointCoordinates
в простой строковый массив points
(с таким количеством записей, сколько имеется координат),Где первая запись (1,3,5), вторая (2,4,2) и т. Д. Таким образом, сохраняя координаты вместе, и ограничивая количество возможных комбинаций.Но это кажется излишним.