Info

此问题已关闭。 请重新打开它进行编辑或回答。

How to construct all possible combinations of points in N-dimensional space

1 次查看(过去 30 天)
I have x-y coordinates of 3 points, e.g, (x1,y1,0),(x2,y2,0), and (x3,y3,0). I want to construct other points on top of these 3 points at fixed z locations, e.g., every z=4. So, in total we have 3*N points. For example, if N=2, we have 6 points in total at locations (x1,y1,0),(x2,y2,0), (x3,y3,0),(x1,y1,4),(x2,y2,4), and (x3,y3,4). After that, I want to find the distance between every two points and arrange these distances in a symmetric matrix which looks like [d11 d12 d13 d14 d15 d16;d21 d22 d23 d24 d25 d26...]. Note that d12=d21..etc.Here, I give an example of 3 points as a basis to start with but it could be much larger. What is the most efficient way to construct this?. Appreciate it

回答(1 个)

Matt J
Matt J 2020-7-22
X=[x1,x2,x3].';
Y=[y1,y2,y3].';
[I,J]=ndgrid(1:3,4*(0:N-1) );
P=[X(I(:)),Y(I(:)), J(:)];
d=pdist2(P,P);

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by