1
$\begingroup$

I was studying cubic spline interpolation and then I stumbled upon "Cubic runout spline". The idea behind it is that you set the boundary conditions for second derivatives to be:

$f_1''(x_0) = 2f_1''(x_1) - f_2''(x_2)$

$f_n''(x_n) = 2f_n''(x_{n-1}) - f_{n-1}''(x_{n-2})$

As a result, the first two and last two points have their own single curve.

Now, I've figured out the natural, clamped, periodic, not-a-knot type splines and their ideas and proofs, but this one for some reason confused me.


I want to try prove that $M_0 = 2M_1 - M_2$ <=> first 2 curves are the same. I wrote a system of equations for $M_0, M_1$ and $M_2$, where $M_i$ - is a second derivative of our function at point i. I ended up with this:

$S_i(x) = \alpha_i + \beta_i (x - x_i) + \gamma_i (x - x_i)^2 + \delta_i (x - x_i)^3$

$M_0 = 2 \gamma_0$

$M_1 = 2 \gamma_1 = 2 \gamma_0 + 6\delta_0 h_1$

$M_2 = 2 \gamma_1 + 6 \delta_1 h_2$

$h$ is the difference between adjacent x-values

Now, I decided to split the solution into 2 parts: first one is where $h_1 = h_2 = h$ and the second is where they are different.

  1. for the first part: solving this from right to left (i.e. same curves => equation holds) yielded $\delta_0 = \delta_1 = 0$, which then gave me $M_0 = M_1 = M_2$, which gives me the final equation. Now, the opposite (left to right) proof kinda stopped me. I managed to derive the equality of delta but for gamma I failed to proceed further.

Could anyone give me a hint regarding the proper approach towards this?

$\endgroup$
  • $\begingroup$ One approach you might want to try to prove that the first two curves are the same is to check if the left and right third (why?) derivatives at the second point are the same. (The procedure is analogous for the last two curves and the penultimate point.) For inspiration, you might want to see this previous answer. $\endgroup$ – J. M. is a poor mathematician Mar 7 at 2:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.