Clear Filters
Clear Filters

Is there a Multivariate PCHIP?

10 views (last 30 days)
Adri
Adri on 17 May 2021
Edited: Adri on 17 May 2021
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.

Accepted Answer

Matt J
Matt J on 17 May 2021
It will be somewhat faster to use griddedInterpolant() rather than interpn().
  1 Comment
Adri
Adri on 17 May 2021
Edited: Adri on 17 May 2021
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()

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!