我正在使用
有没有一种简单的方法将矩形网格的坐标转换为NxM数组(在这种情况下是27x3)?结果应该像这样:
如果可能的话,我想指定在数组中编译坐标的方向。例如,上面的移动沿着z,然后是y,最后是x。如果可以指定按照x,然后是y,最后是z的顺序移动,那就太好了。
ndgrid
创建一系列矩形网格。例如:nx = [1 2 3];
ny = [4 5 6];
nz = [7 8 9];
[x_mesh, y_mesh, z_mesh] = ndgrid(nx, ny, nz);
有没有一种简单的方法将矩形网格的坐标转换为NxM数组(在这种情况下是27x3)?结果应该像这样:
[1,4,7;
1,4,8;
1,4,9;
1,5,7;
1,5,8;
1,5,9;
1,6,7;
1,6,8;
1,6,9;
...
3,6,7;
3,6,8;
3,6,9]
如果可能的话,我想指定在数组中编译坐标的方向。例如,上面的移动沿着z,然后是y,最后是x。如果可以指定按照x,然后是y,最后是z的顺序移动,那就太好了。
nx
,ny
和nz
不一致时执行相反的操作。 - agf1997x_mesh = reshape(grid(:,1),[numel(nx), numel(ny), numel(nz)]);
,并使用来自grid
的第2列和第3列类似地为y_mesh
和z_mesh
。 如果您不知道nx
,ny
和nz
,则可以使用nx = unique(grid(:,1)); ny = unique(grid(:,2)); nz = unique(grid(:,3));
获取它们(可能无序)。 - jodaggrid
到x_mesh
、y_mesh
和z_mesh
,并不是因为我不知道nx
、ny
、nz
,而是在这种情况下,grid
代表了依赖变量,因此它们并不适用。 - agf1997