Creating an array of vectors

Hello everyone. I have a list of 3d vectors representing positions in space and need to generate an array (A) with the following form.
In 2d: X=[X0 X1 X2 ... Xn] Y=[Y0 Y1 Y2 ... Yn]
A=[X0 Y0; X0 Y1; X0 Y2; X1 Y0; X1 Y1; X1 Y2; X2 Y0; X2 Y1; X2 Y2; ... ; Xn Yn]
As mentioned, I'll actually need it in 3d. I provided the 2d example for simplicity.
Thank you for your help!!

2 Comments

Is every X to be used with every Y, or is it only adjacent coordinates? Like *2 linked to *1, *2, *3 but not *0 ?
Every X is paired with every Y.

Sign in to comment.

 Accepted Answer

For the case of every point linked to every other point:
[T1, T2, T3] = ndgrid(X, Y, Z);
A = [T1(:), T2(:), T3(:)];

1 Comment

I knew there must be a way easier than how I was trying to do it. This works perfectly. Thank You Walter.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!