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 Commenti

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 ?
B Rogers
B Rogers il 1 Lug 2018
Every X is paired with every Y.

Accedi per commentare.

 Risposta accettata

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

1 Commento

B Rogers
B Rogers il 1 Lug 2018
I knew there must be a way easier than how I was trying to do it. This works perfectly. Thank You Walter.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by