2015-04-18 55 views
1

我们做了很多全场3D数值模拟(CFD,FEA等)。解决方案需要很长时间才能运行。我们通常从解决方案插入而不是重新运行每个案例。我们还在多个解之间进行插值,这导致更高维插值(如加入时间,所以x,y,z,t,v)。R相当于matlab griddata,scatteredInterpolant和/或TriScatteredInterp

Matlab在X,Y,Z坐标的不规则网格中读取数据V,使用griddata,scatterdInterpolan和/或TriScatteredInterp从V进行插值的功能非常出色。由于各种各样的原因,我已经转向R.这仍然是我无法找到的与R相当的关键领域。 'akima'只有x,y,V(不是,x,y,z,V,更不像x,y,z,t,v那样更高的尺寸)。

我发现的下一个最好的东西是'krigging'。但是krigging的行为更像是模型拟合和投影,并且在不规则的网格点之间往往表现不佳。所以它不如简单的直接线性插值那样稳健。

Matlab有几十年的griddata。很难相信R在那里没有相应的东西。有什么建议么?或者至少有一种方法可以使用krigging来有效地产生与直接线性插值相同的结果?

乔纳森

回答

2

你可以通过看包“tripack”做Delaunay三角,让您在复制scatteredInterpolant)的第一步(开始。