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

これで、Matlab で TriScatteredInterp がどのように機能するかがわかりました。NX 3 次元の x、y、z ポイントがあります。これらすべての点で、C++ で Delaunay 三角形を実装する必要があります。それは簡単だ。次に、必要なすべてのグリッド ポイント x'、y' について、x'、y' が配置されている三角形を検索してください。次に、リンクに示されているように、三角形で重心補間を行います。これらの x',y' に対して z' が得られます。TriScatteredInterp のために C++ で行う必要があるのはこれだけです。幸運を!

于 2013-09-06T03:23:59.670 に答える