绘制正方形内的等间距点(n x n)

时间:2016-07-13 15:44:20

标签: matlab multidimensional-array matlab-figure

如何在matlab中绘制正方形的等间距点。如下图所示

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

下图是4x4尺寸的正方形。我想引用每个点并存储在变量[Point(i).xcord,Point(i).ycord]中,如下图所示:

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)

如上所示,为了获得网格形式的输出,任何人都可以解释一种简单的方法。

1 个答案:

答案 0 :(得分: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)

如果需要转换为struct数组,请使用

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