Is there a Multivariate PCHIP?

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 日

1 投票

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 件)

カテゴリ

ヘルプ センター および File ExchangeInterpolation についてさらに検索

製品

リリース

R2020a

質問済み:

2021 年 5 月 17 日

編集済み:

2021 年 5 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by