有没有人知道如何将方格上已知的解传递给三角形网格?我一直在使用tri2grid命令将我的解决方案从一个三角形网格传递到一个方形网格,所以现在我正在寻找类似于"grid2grid“函数的东西,以便将我的解决方案从一个网格传递到另一个网格。有人知道怎么做吗?
假设我知道在正方形网格上的点的解,它看起来像:

我想要的是在下面的网格上插入这个解:

考虑到坐标和我所得到的解是矩阵形式的,在插值之后,我希望它们再次以矩阵的形式出现。
发布于 2014-06-30 16:06:43
您的解决方案是使用网格数据(不是Matlab建议的)或scatteredInterpolant (建议)。
由于我总是使用网格数据(它从来没有任何问题),我会给你一个答案。
X=-12:0;
Y=-1:2/11:1;
[X,Y]=ndgrid(X,Y);%size(X) = size(Y)
Z=yourfunc(X,Y);%whatever are your original Z values.
TriX = trianglefunc(Y);%size(TriX)=size(X)=size(Y)
TriZ = griddata(X,Y,Z,TriX,Y);不过,你需要定义自己是如何形成三角形的。我注意到只有x轴值在变化,而y轴值保持不变。这就是为什么没有“TriY”的原因。此外,如果您的'TriX‘值在'X’之外,如果我还记得的话,该函数将返回外推法值的NaNs。如果您需要推断,正如Ander所提到的,您将需要使用scatteredInterpolant类。
https://stackoverflow.com/questions/24488736
复制相似问题