matlab网格化使用for循环

时间:2017-03-06 12:38:58

标签: matlab datagrid grid

我有一个4032 X 102矩阵(前两列是坐标)。我想用48 X 84 meshgrid插入每一列。它逐列工作,但如果可以通过一个命令(可能有for循环)完成它将会很棒。

x = 1:84; y = 1:48;
[X,Y] = meshgrid(x,y);
Z = griddata(data(:,1),data(:,2),(:,3:102),X,Y'v4');

输入data也是网格数据,但不是矩阵形式。我的目标是从中创建地图(网格)。所以有X,Y坐标和值。每列代表地图的数据,以及沿坐标的值。

前2列包含数据点的坐标。这些是具有4个单元格间距的地图的前2行。 Z是沿48 x 84网格的网格化数据矩阵。 非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以reshape4032x1向量转换为48x84 2-D矩阵:

reshape(vector, 48,84)

由于你有102个,并且它们已经存储在单个矩阵变量中,你现在可以在前两个维度中存储每个单个矩阵(第一个dim有48个元素,第二个有84个),所有102个矩阵都被索引在第三个维度。

reshape(data, 48,84,102)