MATLAB: Combination of X and Y vectors to get all possible positions on a Cartesian plane

combinationMATLABxy cartesian

Dear Community,
I have a challenging task that I am not able to solve so far: I have a vector X of 'n' elements (in my case those are X coordinates) and I have another vector Y of 'm' elements (in my case Y coordinate). I just want to creat a new vector Z with n*m rows and 2 colums that lists within all possible combinations of points on the XY Cartesian plane.
Example:
X=1,2,3,4 (n=4)
Y=5,6 (m=2)
then Z= 1,5 1,6 2,5 2,6 3,5 3,6 and so on….

Best Answer

[XX,YY] = ndgrid(X,Y);
Z = [XX(:),YY(:)];