2016-07-13 9 views
1

どのようにして、等間隔の点を四角形でプロットすることができますか?以下に示すように正方形内の等間隔の点をプロットする(n x n)

      . . . . 
          . . . . 
          . . . . 
          . . . . 

以下の図は、4x4次元の正方形です。ように格子状に出力を得るために

For i=1:1:16 
Point(i).xcord = <What expression goes here> 
Point(i).ycord = <what expression goes here> 
plot(Point(i).xcord, Point(i).ycord) 

:私は、変数[ポイント(I).xcord、ポイント(I).ycord]プロット以下に示すように各点と店舗を参照したいです誰もがこれを行う簡単な方法を説明することができます。次のように

+1

を使用し、構造体配列に変換する必要がある場合は、正当な理由なしに削除されたタグを再度追加しないでください。この質問は展開や疎行列とは関係ありません(使用する前にタグの説明を読んでください)。 – horchler

答えて

2

あなたはndgridを使用することができます。

N = 4; % Square size 
[xcord, ycord] = ndgrid(1:N); % generate all combinations. Gives two matrices 
plot(xcord(:), ycord(:), '.') % plot all points at once 
axis([0 N+1 0 N+1]) % set axis limits 
axis square % make actual sizes of both axes equal 

xcordycordは、点の座標が含まれている行列です。これは、コード内でstruct配列を使用するよりも高速です。 xcord(2,3)などのインデックスを作成できます。

あなたは

Point = struct('xcord', num2cell(xcord(:)), 'ycord', num2cell(ycord(:))); 
+0

編集された回答 –

+0

を参照してくださいそれは動作します!どうか、質問に示されているように構造体を使用するようなことができますか?いくつかのwsnプロトコルでは、センサノードはそのように参照されます。ありがとうルイス! – Abdulhameed

+0

@Abdulhameed私は変換を行うための行を追加しました。編集された答えを参照してください –

関連する問題