0

我试图理解TriScatteredInterpMatlab 中的。我按照帮助文件中的示例程序进行操作。

x = rand(100,1)*4-2;
y = rand(100,1)*4-2;
z = x.*exp(-x.^2-y.^2);   
Construct the interpolant:
F = TriScatteredInterp(x,y,z);

我观察到 FX 与 x 和 y 相同,FV 与 z 相同;

ti = -2:.25:2;
[qx,qy] = meshgrid(ti,ti);
qz = F(qx,qy); 

我认为线性插值是在qz = F(qx,qy);. 它如何用于线性插值?谢谢

4

1 回答 1

0

现在我了解了 TriScatteredInterp 在 Matlab 中的工作原理。我们有 NX 3 维的 x,y,z 点。所有这些点,我们都需要在 C++ 中实现 Delaunay 三角形。这很容易。然后,对于您想要的所有网格点 x', y',请搜索您的 x',y' 所在的三角形。然后在三角形中进行重心插值,如链接所示。对于这些 x',y',您将得到 z'。这就是我们需要在 C++ 中为 TriScatteredInterp 做的所有事情。祝你好运!

于 2013-09-06T03:23:59.670 回答