我有一个问题,我必须经常对4D数据d = f(a, b, c)
进行插值,因为插值发生在优化例程中。现在,首先,我使用Matlab的interpn函数对此进行了编程。但是,程序显然变得很慢,因为三次样条必须在优化过程中的每次迭代中构建。
我已经读过有关2D spline interpolation的内容,基本上我正在寻找其4D等效物:pp = spline(a,b,c,d)
。另外,我发现了scatteredInterpolant函数(我的网格不均匀),但是此函数仅给我提供'linear', 'nearest'
或'natural'
的选项,而没有给我'spline'
的选项我在找。
我可以想象Matlab的功能可以在可用的interpn函数下面,但是我似乎找不到。有谁知道这样的函数可以为4D插值(最好是Matlab-original)返回分段多项式或其他形式的样条函数?
P.s。我也研究了一种解决方法;键入edit interpn
,我尝试复制Matlab函数interpn
,以不同的方式命名和编辑它,使其返回F
而不是插值函数Vq
。但是,这样做表示无法识别methodandextrapval
函数,这是它遇到的第一个嵌套Matlab。