# Constructing cubic spline interpolation polynomials

• bremenfallturm
bremenfallturm
Homework Statement
Given the following points:
(-5,1.561), (-4,2) and (-3, 2.56).
Construct cubic spline interpolation polynomials between them.
Relevant Equations
General equations for a third-degree / cubic polynomial:
##y=ax^3+bx^2+cx+d##
##\frac{dy}{dx}=3ax^2+2bx+c##
##\frac{d^2y}{dx^2}=6ax+2b##
My attempt at a solution: We have three points, hence we will have two polynomials ##p_1(x)## for ##x\in [-5,-4]## and ##p_2(x)## for ##x\in [-4,-3]##. Define: ##p_1(x)=c_1x^3+c_2x^2+c_3x+c_4## and ##p_2(x)=c_5x^3+c_6x^2+c_7x+c_8## where the ##c_n## stuff are coefficients for the polynomial.

I came up with the following equations:
1. For ##p_1##, it must pass through the first two points:
1. ##1,5610=c_1(-5)^3+c_2(-5)^2+c_3(-5)+c_4##
2. ##2=c_1(-4)^3+c_2(-4)^2+c_3(-4)+c_4##
2. For ##p_2##, it must pass through the middle point and the last point:
1. ##2=c_5(-4)^3+c_6(-4)^2+c_7(-4)+c_8##
2. ##2,56=c_1(-3)^3+c_2(-3)^2+c_3(-3)+c_8##
3. 1st and 2nd order derivatives of the polynomials should be equal at the middle point, i.e. ##(-4,2)##
1. ##3\cdot (-4^2)c_1+2\dot(-4)c_2+c_3-3\cdot (-4^2)c_5-2\cdot (-4)c_6-c_7=0##
2. ##6c_1\cdot (-4)+2c_2-6c_5\cdot (-4)-2c_6=0##
4. Finally I make the decision that the 2nd derivatives should be equal to 0 at the endpoints.
1. ##6c_1\cdot (-5)+2c_2=0##
2. ##6c_5\cdot (-3)+2_6 =0##
I turned all equations into matrix form and plugged it into an online matrix calculator. The matrix form is this:

The matrix calculator gave me the following solutions:

If I try to plot it, it looks *almost* right but it's certainly not what I expected.
I assume it's a calculation problem, maybe it's even trival but I can not find it.
The plots look like below by the way, and you can find them using this link.

Many thanks for help!

bremenfallturm said:
Many thanks for help!
Here's the 8x8 matrix I get in Mathematica using your method of solution:

Using this to solve your system results in the cubic-spline plot:

This looks correct to me.

bremenfallturm and FactChecker
Why not start with the acutal expression for a cubic bezier curve with control points $\mathbf{x}_i$, $$\mathbf{x}(t) = (1-t)^3\mathbf{x}_0 + 3(1-t)^2 \mathbf{x}_1 + 3(1-t)t\mathbf{x_2} + t^3\mathbf{x}_3$$ which has the properties that $\mathbf{x}(0) = \mathbf{x}_0$, $\mathbf{x}(1) = \mathbf{x}_3$, $\mathbf{x}'(0) = 3(\mathbf{x}_1 - \mathbf{x}_0)$ and $\mathbf{x}'(1) = 3(\mathbf{x}_3 - \mathbf{x}_2).$ Fitting two of these to the curve in question gives you eight unknowns; fixing the end points immediately determines four of them. Continuity of the derivative gives you a fifth equation. For the other three, we have only three points so we should fit them with a quadratic. The conditions therefore are that the coefficients of $t^3$ each vanish and the coefficients of $t^2$ are equal.

renormalize said:
Here's the 8x8 matrix I get in Mathematica using your method of solution:
View attachment 348354
Using this to solve your system results in the cubic-spline plot:
View attachment 348355
This looks correct to me.
Haha what I silly mistake I made, I forgot a parenthesis when feeding the equations into the matrix calculator. All worked out now, thank you!

renormalize
pasmith said:
Why not start with the acutal expression for a cubic bezier curve with control points $\mathbf{x}_i$, $$\mathbf{x}(t) = (1-t)^3\mathbf{x}_0 + 3(1-t)^2 \mathbf{x}_1 + 3(1-t)t\mathbf{x_2} + t^3\mathbf{x}_3$$ which has the properties that $\mathbf{x}(0) = \mathbf{x}_0$, $\mathbf{x}(1) = \mathbf{x}_3$, $\mathbf{x}'(0) = 3(\mathbf{x}_1 - \mathbf{x}_0)$ and $\mathbf{x}'(1) = 3(\mathbf{x}_3 - \mathbf{x}_2).$ Fitting two of these to the curve in question gives you eight unknowns; fixing the end points immediately determines four of them. Continuity of the derivative gives you a fifth equation. For the other three, we have only three points so we should fit them with a quadratic. The conditions therefore are that the coefficients of $t^3$ each vanish and the coefficients of $t^2$ are equal.
The reason I didn't start with that is because I didn't learn about it yet I am currently looking into more math regarding curve fitting so hopefully I will get there soon:)

• Calculus and Beyond Homework Help
Replies
1
Views
609
• Calculus and Beyond Homework Help
Replies
8
Views
506
• Calculus and Beyond Homework Help
Replies
11
Views
2K
• Calculus and Beyond Homework Help
Replies
5
Views
932
• Calculus and Beyond Homework Help
Replies
4
Views
2K
• Calculus
Replies
4
Views
1K
• Calculus and Beyond Homework Help
Replies
12
Views
3K
• Calculus and Beyond Homework Help
Replies
2
Views
762
• Calculus and Beyond Homework Help
Replies
5
Views
466