MATLAB XYZ 到网格

标签 matlab grid interpolation raster geometry-surface

我有一个制表符分隔的 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 (参见下面的命令)。我不断得到如下所示的结果(不过它似乎得到了我的一些表面): enter image description here

有什么想法会导致这个结果吗?我认为问题出在 meshgrid 命令上,尽管我不确定问题出在哪里(或为什么)。我目前正在输入以下一组命令来计算上图(我的 X 和 Y 列以米为单位,并且我知道我的网格大小是 8m,因此 ti/tj 在 8 秒内增加):

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^

最佳答案

我想你想要 griddata功能。请参阅Interpolating Scattered Data在 MATLAB 帮助中。

关于MATLAB XYZ 到网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8258881/

相关文章:

c++ - 将 Visual Studio 2012 附加到 Matlab 2014a(32 位): tbb. dll

Matlab --- 将向量拆分为函数调用的参数

html - Bootstrap.js - 使根列在嵌套列之前中断

html - Bootstrap 网格偏移问题

matlab如何遍历工作区中的所有对象

matlab - 在matlab中求解欠定方程组

javascript - 用于产品概览电子商务的动态 CSS 网格

css - sass中类名的动态变量

python - 用 Python 进行样条插值

c++ - 流体模拟边界和平流