我有一个制表符分隔的 XYZ 文件,其中包含 3 列,例如
586231.8 2525785.4 15.11
586215.1 2525785.8 14.6
586164.7 2525941 14.58
586199.4 2525857.8 15.22
586219.8 2525731 14.6
586242.2 2525829.2 14.41
第 1 列和第 2 列是 X 和 Y 坐标(以 UTM 米为单位),第 3 列是点 X、Y 处的相关 Z 值;例如,某点的高程 (z) 为z(x,y)
dlmread()
我可以使用在工作区中获取 3 个变量来读取此文件,例如X = 41322x1 double
,但我想(m x n)
使用这些变量创建一个大小的表面。我该怎么办?
根据下面的评论,我尝试使用TriScatteredInterp(请参见下面的命令)。我不断得到如下所示的结果(虽然它似乎得到了我的一些表面):
有什么想法会导致这个结果吗?我认为问题出在meshgrid
命令上,尽管我不确定在哪里(或为什么)。我目前正在输入以下一组命令来计算上图(我的 X 和 Y 列以米为单位,我知道我的网格大小是 8m,因此 ti/tj 在 8s 内上升):
F = TriScatteredInterp(x,y,z,'nearest');
ti = ((min(x)):8:(max(x)));
tj = ((min(y)):8:(max(y)));
[qx,qy] = meshgrid(ti,tj);
qz = F(qx,qy);
imagesc(qz) %produces the above figure^