我正在使用 Matlab 中的一些南极 DEM 数据。所以,到目前为止,我已经能够使用以下基本代码生成一个漂亮的网格:
load (Data.xyz)
X = Data(:,1);
Y = Data(:,2);
Z = Data(:,3);
xr = unique(X);
yr = unique(Y);
gz = zeros(length(yr),length(xr));
gz = griddata(X,Y,Z,xr,yr');
figure
mesh(xr,yr,gz);
hold on
contour3(xr,yr,gz,'k-');
hold off
现在我有几个问题,尽管从过去几天开始,我一直无法回答这些问题,并且日夜查看所有论坛和谷歌搜索。希望各位高手能给我一些建议。我的问题是:
上面的代码需要很多时间。同意南极洲的 DEM 尺寸大,代码响应时间慢并不一定意味着它不正确。但是,我完全无法在我的笔记本电脑(2.5 GHz/4GB)上运行这段代码——它太慢了。我想知道是否有其他方法可以更快、更高效地生成网格。
第二个问题是上面的“Data.xyz”包含来自所有南极洲的DEM数据。生成网格后,我想根据位置对其进行剪辑。例如,我想提取由 x1、y1、x2、y2、x3、y3 和 x4、y4 限制的区域的网格数据。我该怎么做呢?我在任何地方都找不到合适的功能或工具或任何用户脚本来允许我这样做。是否可以在matlab中切割网格?
我正在运行 Matlab 2012a,但我无权访问映射工具箱。有什么建议么???