Is there a Multivariate PCHIP?

14 visualizzazioni (ultimi 30 giorni)
Adri
Adri il 17 Mag 2021
Modificato: Adri il 17 Mag 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.

Risposta accettata

Matt J
Matt J il 17 Mag 2021
It will be somewhat faster to use griddedInterpolant() rather than interpn().
  1 Commento
Adri
Adri il 17 Mag 2021
Modificato: Adri il 17 Mag 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()

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by