MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

0

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

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

  0 件のコメント

サインイン to comment.

製品


リリース

R2017b

2 件の回答

回答者: James Tursa
2019 年 5 月 20 日 21:11
 採用された回答

[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);
c=cat(2,A',B');
Z=reshape(c,[],2);
coming from this post: LINK

サインイン to comment.


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

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