我们做了很多全场3D数值模拟(CFD,FEA等)。解决方案需要很长时间才能运行。我们经常从解决方案中插入而不是重新运行每个案例。我们还在多个解之间进行插值,这导致更高维的插值(如添加时间,因此x,y,z,t,v)。
Matlab在使用griddata,scatterdInterpolan和/或TriScatteredInterp从X,Y,Z坐标的不规则网格读取数据V并从V进行插值方面做得很好。出于各种原因,我已经切换到R.这仍然是我找不到好的R等价物的一个关键领域。 '阿克玛'只有x,y,V(不是x,y,z,V,甚至更高的尺寸,如x,y,z,t,v)。
我发现的最好的事情就是“克里格尔”。但是krigging的行为更像是模型拟合和投影,并且在不规则网格点之间通常表现不佳。因此,它不像简单的直接线性插值那样稳健。
Matlab已有几十年的网格数据。很难相信R在那里没有相应的东西。有什么建议?或者至少有一种方法可以使用krigging有效地产生与直接线性插值相同的结果吗?
乔纳森
答案 0 :(得分:2)
你可以先看一下“tripack”包进行Delaunay三角测量,这样就可以让你在复制scatInterpolant()时迈出第一步。
答案 1 :(得分:0)
R interpp()
等同于MATLAB scatteredInterpolant()
。