MATLAB Answers


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

Maximilian Arpaio さんによって質問されました 2019 年 5 月 20 日
最新アクティビティ Jos (10584)
さんによって 回答されました 2019 年 5 月 21 日
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.
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....

  0 件のコメント

サインイン to comment.




2 件の回答

回答者: James Tursa
2019 年 5 月 20 日

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

  1 件のコメント

Thanks a lot James.
Actually, surfing better among the already available answers (my fault sorry) I've also found:
[A,B] = meshgrid(X,Y);
coming from this post: LINK

サインイン to comment.

回答者: Jos (10584)
2019 年 5 月 21 日

For two vectors, x and y, this might be faster than ndgrid (not tested)
xy = [repelem(x(:), numel(y), 1) repmat(y(:), numel(x), 1)]

  0 件のコメント

サインイン to comment.

Translated by