Matlab 使用x轴和y轴上的坐标列表创建坐标点列表

Matlab 使用x轴和y轴上的坐标列表创建坐标点列表,matlab,vector,coordinates,Matlab,Vector,Coordinates,我有这个号码: x = [-4 -3.1 -2.2 -1.3 -0.4 0.5 1.4 2.3 3.2 4.1] 及 我想用最简单最聪明的方式使用这些数字,而不是使用循环,创建一个2列[xy]中的坐标列表 下面是使用循环创建它的示例: for h=1:11 for j=1:11 gridCoord((h-1)*11+j,1)=x(1,j); gridCoord((h-1)*11+j,2)=y(1,h); end end **坐标首先沿x方向移动

我有这个号码:

x = [-4 -3.1 -2.2 -1.3 -0.4 0.5 1.4 2.3 3.2 4.1]

我想用最简单最聪明的方式使用这些数字,而不是使用循环,创建一个2列[xy]中的坐标列表

下面是使用循环创建它的示例:

for h=1:11
    for j=1:11
        gridCoord((h-1)*11+j,1)=x(1,j);
        gridCoord((h-1)*11+j,2)=y(1,h);
    end
end
**坐标首先沿x方向移动

谢谢

你可以用它来实现你想要的

[yy, xx] = meshgrid(y, x);
gridCoord = [xx(:), yy(:)]
注意:通常,您会看到使用
[xx,yy]=meshgrid(x,y)
meshgrid
示例;但是,由于您指定希望它是行主参数(首先更改
x
),因此我颠倒了顺序,因为默认情况下
meshgrid
是列主参数(首先更改第一个参数)。在将它们连接到
gridCoord
之前,只需将
xx
yy
转置即可达到相同的效果

你可以用它来实现你想要的

[yy, xx] = meshgrid(y, x);
gridCoord = [xx(:), yy(:)]
注意:通常,您会看到使用
[xx,yy]=meshgrid(x,y)
meshgrid
示例;但是,由于您指定希望它是行主参数(首先更改
x
),因此我颠倒了顺序,因为默认情况下
meshgrid
是列主参数(首先更改第一个参数)。在将它们连接到
gridCoord
之前,只需将
xx
yy
转置即可达到相同的效果


您的代码未按发布的方式运行。很抱歉,x应为11列,必须添加另一个0行,即=5。谢谢x=[-4-3.1-2.2-1.3-0.4 0.5 1.4 2.3 3.2 4.1 5]您的代码未按发布的方式运行。很抱歉,x应为11列,必须添加另一个0,即=5。谢谢x=[-4-3.1-2.2-1.3-0.40.51.42.33.24.15]您也可以使用
ndgrid
,无需反转。这可能更自然,您也可以使用
ndgrid
,而无需反向操作。这可能更自然