why does not "pchip" requires derivative values as input

In my understanding, Piecewise Cubic Hermite polynomials requires both values and derivative values at each point.
Matlab "pchip", https://www.mathworks.com/help/matlab/ref/pchip.html, is exactly Piecewise Cubic Hermite polynomials, but does not require derivatives.
So why no derivatives values are needed as inputs for "pchip"

답변 (1개)

Bruno Luong
Bruno Luong 2023년 10월 20일
편집: Bruno Luong 2023년 10월 20일

0 개 추천

Since the derivatives are computed internally as with general polynomial picewise functions.
It satisfies :
  • interpolation on data point
  • The derivative inside the interval does not change sign (hermit specific), but this constraints are enforced internally
If user imposes the derivarive at the break points then it might not be able to satifsfy the second condition.

댓글 수: 4

Hi Bruno,
Many thanks for your explanation. I am not sure i entirely get it.
A follow-up question, could you point me to the more detailed documentation on pchip's internal procedure of computing derivatives?
Bruno Luong
Bruno Luong 2023년 10월 20일
편집: Bruno Luong 2023년 10월 20일
Beside my link to Wikipedia, you have 2 references in the MATLAB doc page (the first refence is also cited by wikipedia page)
References
[1] Fritsch, F. N. and R. E. Carlson. "Monotone Piecewise Cubic Interpolation." SIAM Journal on Numerical Analysis. Vol. 17, 1980, pp.238–246.
[2] Kahaner, David, Cleve Moler, Stephen Nash. Numerical Methods and Software. Upper Saddle River, NJ: Prentice Hall, 1988.
Hi Bruno,
Many thanks for your help. Now I get the idea of internally calculated derivatives, which is by imposing monotonicity.
Bruno Luong
Bruno Luong 2023년 10월 20일
편집: Bruno Luong 2023년 10월 20일
"... which is by imposing monotonicity. "
Exactly

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Interpolation에 대해 자세히 알아보기

제품

릴리스

R2022a

태그

질문:

2023년 10월 20일

편집:

2023년 10월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by