фонУпрощает использование meshgrid в Matlab
Расширение на this вопрос. У меня есть набор точек (в системе с тремя осями, поэтому с координатами (x, y, z)), и я хочу рассчитать расстояние между каждой точкой.
Для этого мне сначала нужно создать матрицу со всеми возможными комбинациями точек (желательно без дубликатов, чтобы сохранить время обработки), чтобы затем вычислить все расстояния.
Проблема
Теперь я пытаюсь использовать meshgrid
для этого, но это становится довольно сложно. Это осложняется тем, что координаты (x, y, z) находятся в матрице, которая отформатирована как: pointCoordinates[x,y,z,pointnumber]
И я не знаю, как сообщить meshgrid
, чтобы просто объединить точки-1 и пункт-2 и т. Д. не объединяя все отдельные координаты x со всеми отдельными y-координатами и т. д. (которые слишком много комбинаций, большинство из которых бесполезны).
Вопрос
Как я держать meshgrid от создания избыточных комбинаций координат? Или есть более простой способ сделать это?
Я думаю, я мог бы переформатировать pointCoordinates
матрицу простого массив строк points
(с таким количеством записей, как есть координаты). Если вход один (1,3,5), второй вход (2,4,2) и т. Д. Таким образом, сохраняя координаты вместе и ограничивая количество возможных комбинаций. Но это кажется излишним.
+1 - Но только если у вас есть stat. ящик для инструментов. –
@Andrey: Но вы должны иметь это, во всяком случае :) – Jonas
@Jonas, извините, не получил шутку O_o –