generated from lance1416/Template-LectureNotes
70 lines
3.3 KiB
TeX
70 lines
3.3 KiB
TeX
\chapter*{Calculating Cubic Splines}
|
|
|
|
\begin{remark}[Problem]
|
|
Given a set of \( m \) data points \( \{ (t_i, y_i) \}_{i=1}^{m} \) or \( \{ (t_i, f(t_i)) \}_{i=1}^{m} \), determine a smooth apline function \( S(t) \) that interpolates the data, and where \( S(t) = S_i(t) \) when \( t \in [t_i, t_{i+1}] \).
|
|
\end{remark}
|
|
|
|
\section*{Calculating Cubic Splines}
|
|
|
|
Define \( S_i(t) = a_i + b_i(t - t_i) + c_i(t - t_i)^2 + d_i(t - t_i)^3 \) for \( i = 1, 2, \dots, m \).
|
|
|
|
\begin{note}
|
|
The polynomial \( S_m(t) \) is a ``fictitious'' piece that helps with the calculation of the polynomial coefficients.
|
|
\end{note}
|
|
|
|
\subsection*{Step 1 -- determine the step size \( \{ h_i \}_{i=1}^{m} \)}
|
|
|
|
Calculate \( h_i = t_{i + 1} - t_i \) for \( i = 1, 2, \dots, m - 1 \).
|
|
|
|
\subsection*{Step 2 -- Determine the coefficients \( \{ c_i \}_{i=1}^{m} \)}
|
|
|
|
We will have to set up and solve a dimension \( m \times m \) linear system \( \mathbf{M}\vec{C} = \vec{r} \). The system will depend on whether we are finding a \textbf{natural} spline, a \textbf{clamped} spline, or a \textbf{not-a-knot} spline. We only consider the first two cases here.
|
|
|
|
\subsubsection{Natural Splines}
|
|
|
|
In this case, the linear system has the form
|
|
% \[
|
|
% \begin{bmatrix}
|
|
% \mathbf{1} & & & & \\
|
|
% h_1 & 2(h_1 + h_2) & h_2 & & \\
|
|
% & h_2 & 2(h_2 + h_3) & h_3 & \\
|
|
% & & \ddots & \ddots & \ddots \\
|
|
% & & h_{m-2} & 2(h_{m-2} + h_{m-1}) & h_{m-1} \\
|
|
% & & & & \mathbf{1}
|
|
% \end{bmatrix} \begin{bmatrix}
|
|
% c_1 \\ c_2 \\ c_3 \\ \vdots \\ c_{m-1} \\ c_m
|
|
% \end{bmatrix} =
|
|
% \begin{bmatrix}
|
|
% \mathbf{0} \\
|
|
% \dfrac{3}{h_2}(y_3 - y_2) - \dfrac{3}{h_1}(y_2 - y_1) \\
|
|
% % \dfrac{3}{h_3}(y_4 - y_3) - \dfrac{3}{h_2}(y_3 - y_2) \\
|
|
% \vdots \\
|
|
% \dfrac{3}{h_{m-1}}(y_m - y_{m-1}) - \dfrac{3}{h_{m-2}}(y_{m-1} - y_{m-2}) \\
|
|
% \mathbf{0}
|
|
% \end{bmatrix}
|
|
% \]
|
|
|
|
\textbf{Solve} this linear system for \( \{ c_i \}_{i=1}^{m} \) using Gaussian Elimination.
|
|
|
|
\begin{note}
|
|
This can be reduced to a dimension \( (m - 2) \times (m - 2) \) system because the first and last equations tell us that \( c_1 = 0 \) and \( c_m = 0 \).
|
|
\end{note}
|
|
|
|
\subsubsection{Clamped Splines}
|
|
|
|
The first and last equations from the natural spline cause change to account for the different boundary conditions.
|
|
% TODO: Matrices
|
|
|
|
\textbf{Solve} this linear system for \( \{ c_i \}_{i=1}^{m} \) using Gaussian Elimination.
|
|
|
|
\subsection*{Step 3 -- Determine the coefficients \( \{ a_i \}_{i=1}^{m} \)}
|
|
|
|
Calculate \( a_i = y_i \), \( i = 1, 2, \dots, m - 1 \).
|
|
|
|
\subsection*{Step 4 -- Determine the coefficients \( \{ b_i \}_{i=1}^{m} \)}
|
|
|
|
Calculate \( b_i = \dfrac{y_{i+1} - y_i}{h_i} - \dfrac{h_i}{3}(2c_i + c_{i+1}) \), \( i = 1, 2, \dots, m - 1 \).
|
|
|
|
\subsection*{Step 5 -- Determine the coefficients \( \{ d_i \}_{i=1}^{m} \)}
|
|
|
|
Calculate \( d_i = \dfrac{c_{i+1} - c_i}{3h_i} \), \( i = 1, 2, \dots, m - 1 \). |