Is there a Multivariate PCHIP?

10 次查看(过去 30 天)
Adri
Adri 2021-5-17
编辑: Adri 2021-5-17
I am trying to create an interpolant on a higher dimensional data set similar to how pchip and ppval would work. Does anyone know if such a method is implemented in Matlab (multivariate piecewise cubic Hermite interpolating polynomial)? I would need something like pchip(x1,x2,x3,F) to return the piecewise polynomial form. The reason is that I want to gain speed by calculating the interpolation only once in the beginning and then only evaluating it. Right now I use interpn and works well but I need to make it faster. Should I try to use a neural network to approximate my hypersurface?
Any ideas or advices will be appreciated.

采纳的回答

Matt J
Matt J 2021-5-17
It will be somewhat faster to use griddedInterpolant() rather than interpn().
  1 个评论
Adri
Adri 2021-5-17
编辑:Adri 2021-5-17
Thank you so much! This is it! It's almost as fast the compiled mex file of the neural network regression I did.
Elapsed time is 1.968169 seconds. % interpn
Elapsed time is 0.036454 seconds. % mex file from neural network approximation
Elapsed time is 0.279966 seconds. % the neural network generated code
Elapsed time is 0.042881 seconds. % griddedInterpolant()

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by