0% found this document useful (0 votes)
36 views32 pages

4 Spline

The document describes the spline interpolation method. Spline interpolation involves fitting piecewise polynomial functions to data points to determine values between the points. Specifically, it discusses linear and quadratic spline interpolation. Linear splines connect data points with straight lines, while quadratic splines fit parabolic curves between points and ensure continuity of the first derivatives at interior points. The method provides examples to demonstrate how to use linear and quadratic splines to interpolate rocket velocity data at different time points.

Uploaded by

Dan Mark Bongaos
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views32 pages

4 Spline

The document describes the spline interpolation method. Spline interpolation involves fitting piecewise polynomial functions to data points to determine values between the points. Specifically, it discusses linear and quadratic spline interpolation. Linear splines connect data points with straight lines, while quadratic splines fit parabolic curves between points and ensure continuity of the first derivatives at interior points. The method provides examples to demonstrate how to use linear and quadratic splines to interpolate rocket velocity data at different time points.

Uploaded by

Dan Mark Bongaos
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Spline Interpolation Method

Major: All Engineering Majors

Authors: Autar Kaw, Jai Paul

http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates

http://numericalmethods.eng.usf.edu 1
Spline Method of
Interpolation

http://numericalmethods.eng.usf.edu
What is Interpolation ?
Given (x0,y0), (x1,y1), …… (xn,yn), find the
value of ‘y’ at a value of ‘x’ that is not given.

3 http://numericalmethods.eng.usf.edu
Interpolants
Polynomials are the most common
choice of interpolants because they
are easy to:

Evaluate
Differentiate, and
Integrate.

4 http://numericalmethods.eng.usf.edu
Rocket Example Results
t v Polynomial Velocity at Absolute Least
(s) (m/s) Order t=16 in Relative Number of
0 0 m/s Approximat Significant
10 227.04 e Error Digits
15 362.78 Correct
20 517.35 1 393.69 -------------
22.5 602.97 2 392.19 0.38% 2
30 901.67 3 392.05 0.036% 3
4 392.07 0.0051% 3
5 392.06 0.0026% 4

5 http://numericalmethods.eng.usf.edu
Why Splines ?
1
f ( x) 
1  25 x 2
Table : Six equidistantly spaced points in [-1, 1]
1
x y
1  25 x 2

-1.0 0.038461

-0.6 0.1

-0.2 0.5

0.2 0.5

0.6 0.1

1.0 0.038461 Figure : 5th order polynomial vs. exact function

6 http://numericalmethods.eng.usf.edu
Why Splines ?
1.2

0.8

0.4
y

0
-1 -0.5 0 0.5 1
-0.4

-0.8
x
19th Order Polynomial f (x) 5th Order Polynomial

Figure : Higher order polynomial interpolation is a bad idea


7 http://numericalmethods.eng.usf.edu
Linear Interpolation
Given  x0 , y0 , x1 , y1 ,......, x n 1 , y n1  x n , y n  , fit linear splines to the data. This simply involves
forming the consecutive data through straight lines. So if the above data is given in an ascending
order, the linear splines are given by  yi  f ( xi ) 
Figure : Linear splines

8 http://numericalmethods.eng.usf.edu
Linear Interpolation (contd)
f ( x1 )  f ( x 0 )
f ( x )  f ( x0 )  ( x  x 0 ), x 0  x  x1
x1  x 0

f ( x 2 )  f ( x1 )
 f ( x1 )  ( x  x1 ), x1  x  x 2
x2  x1
.
.
.
f ( x n )  f ( x n 1 )
 f ( x n 1 )  ( x  x n 1 ), x n 1  x  x n
x n  x n 1

Note the terms of


f ( xi )  f ( x i1 )
xi  x i 1

in the above function are simply slopes between xi 1 and x i .


9 http://numericalmethods.eng.usf.edu
Example
The upward velocity of a rocket is given as a
function of time in Table 1. Find the velocity at
t=16 seconds using linear splines.
Table Velocity as a
function of time

t (s) v(t ) (m/s)


0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67
Figure. Velocity vs. time data
for the rocket example
10 http://numericalmethods.eng.usf.edu
Linear Interpolation
t 0  15, v (t 0 )  362.78 550
517.35

t1  20, v (t1 )  517.35


500
v(t )  v (t 0 )
v (t )  v(t 0 )  1 (t  t 0 )
t1  t 0 ys

f ( range)
450
517.35  362.78 fx 
 362.78  (t  15) desired
20  15
400
v (t )  362.78  30.913( t  15)
At t  16, 362.78 350
10 12 14 16 18 20 22 24
v (16)  362.78  30.913(16  15) x s 10
0
x s  range x desired x s  10
1

 393.7 m/s

11 http://numericalmethods.eng.usf.edu
Quadratic Interpolation
Given  x0 , y0 ,  x1 , y1 ,......, x n 1 , y n 1 ,  x n , y n  , fit quadratic splines through the data. The splines
are given by
f ( x )  a1 x 2  b1 x  c1 , x 0  x  x1

 a 2 x 2  b2 x  c2 , x1  x  x 2
.
.
.
 a n x 2  bn x  cn , x n1  x  x n

Find a i , bi , ci , i  1, 2, …, n

12 http://numericalmethods.eng.usf.edu
Quadratic Interpolation (contd)
Each quadratic spline goes through two consecutive data points
2
a1 x 0  b1 x 0  c1  f ( x0 )
2
a1 x1  b1 x1  c1  f ( x1 ) .
.
.
2
a i xi 1  bi xi 1  ci  f ( xi 1 )
2
a i xi  bi xi  c i  f ( xi ) .
.
.
2
a n x n 1  bn x n1  c n  f ( xn 1 )
2
a n x n  bn xn  cn  f ( x n )

This condition gives 2n equations


13 http://numericalmethods.eng.usf.edu
Quadratic Splines (contd)
The first derivatives of two quadratic splines are continuous at the interior points.
For example, the derivative of the first spline
a1 x 2  b1 x  c1 is 2 a1 x  b1
The derivative of the second spline
a 2 x 2  b2 x  c 2 is 2 a2 x  b2
and the two are equal at x  x1 giving
2 a1 x1  b1  2a 2 x1  b2
2 a1 x1  b1  2a 2 x1  b2  0

14 http://numericalmethods.eng.usf.edu
Quadratic Splines (contd)
Similarly at the other interior points,
2a 2 x 2  b2  2a3 x 2  b3  0
.
.
.
2ai xi  bi  2ai 1 xi  bi 1  0
.
.
.
2a n 1 x n 1  bn 1  2a n x n1  bn  0

We have (n-1) such equations. The total number of equations is (2n)  (n  1)  (3n  1) .
We can assume that the first spline is linear, that is a1  0

15 http://numericalmethods.eng.usf.edu
Quadratic Splines (contd)
This gives us ‘3n’ equations and ‘3n’ unknowns. Once we find the ‘3n’ constants,
we can find the function at any value of ‘x’ using the splines,

f ( x)  a1 x 2  b1 x  c1 , x0  x  x1

 a 2 x 2  b2 x  c 2 , x1  x  x 2
.
.
.
 a n x 2  bn x  c n , x n 1  x  x n

16 http://numericalmethods.eng.usf.edu
Quadratic Spline Example
The upward velocity of a rocket is given as a function of time.
Using quadratic splines
a) Find the velocity at t=16 seconds

b) Find the acceleration at t=16 seconds

c) Find the distance covered between t=11 and t=16 seconds

Table Velocity as a
function of time

t (s) v(t ) (m/s)


0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67 Figure. Velocity vs. time data
for the rocket example

17 http://numericalmethods.eng.usf.edu
Solution
2
v(t )  a1t  b1t  c1 , 0  t  10
2
 a 2 t  b2 t  c 2 , 10  t  15
2
 a3t  b3t  c3 , 15  t  20
2
 a 4 t  b4 t  c 4 , 20  t  22.5
2
 a5 t  b5 t  c5 , 22.5  t  30
Let us set up the equations
18 http://numericalmethods.eng.usf.edu
Each Spline Goes Through
Two Consecutive Data Points
2
v(t )  a1t  b1t  c1 , 0  t  10
2
a1 (0)  b1 (0)  c1  0
2
a1 (10)  b1 (10)  c1  227.04

19 http://numericalmethods.eng.usf.edu
Each Spline Goes Through
Two Consecutive Data Points
a 2 (10) 2  b2 (10)  c 2  227.04
t v(t)
a 2 (15) 2  b2 (15)  c 2  362.78
s m/s
2
0 0 a3 (15)  b3 (15)  c3  362.78
2
10 227.04 a3 (20)  b3 (20)  c3  517.35
15 362.78 2
a4 (20)  b4 (20)  c4  517.35
20 517.35
a4 (22.5) 2  b4 (22.5)  c4  602.97
22.5 602.97
2
30 901.67 a5 (22.5)  b5 (22.5)  c5  602.97
a5 (30) 2  b5 (30)  c5  901.67
20 http://numericalmethods.eng.usf.edu
Derivatives are Continuous at
Interior
2
Data Points
v(t )  a1t  b1t  c1 , 0  t  10
2
 a 2 t  b2 t  c 2 ,10  t  15
d d
dt
 2
a1t  b1t  c1  
dt
 2
a2t  b2t  c2 
t 10 t 10

2a1t  b1  t 10  2a2t  b2  t 10


2a1 10  b1  2a2 10  b2
20a1  b1  20a2  b2  0
21 http://numericalmethods.eng.usf.edu
Derivatives are continuous at
Interior Data Points
At t=10
2a1 (10)  b1  2a 2 (10)  b2  0
At t=15
2a 2 (15)  b2  2a3 (15)  b3  0
At t=20
2a3 (20)  b3  2a 4 (20)  b4  0
At t=22.5
2a 4 (22.5)  b4  2a5 (22.5)  b5  0
22 http://numericalmethods.eng.usf.edu
Last Equation

a1  0

23 http://numericalmethods.eng.usf.edu
Final Set of Equations
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0  a1   0 
100 10 1 0 0 0 0 0 0 0 0 0 0 0 0  b1  227.04
0 0 0 100 10 1 0 0 0 0 0 0 0 0
   227.04
0 c1
    
0 0 0 225 15 1 0 0 0 0 0 0 0 0 0  a2  362.78
0 0 0 0 0 0 225 15 1 0 0 0 0 0 0  b2  362.78
0 0 0 0 0 0 400 20 1 0 0 0 0 0 0 c2
  517.35
    
0 0 0 0 0 0 0 0 0 400 20 1 0 0 0  a3  517.35
0 0 0 0 0 0 0 0 0 506.25 22.5 1 0 0 0  b3   602.97
0 0 0 0 0 0 0 0 0 0 0 0 506.25 22.5 1   c3  602.97
    
0 0 0 0 0 0 0 0 0 0 0 0 900 30 1   a4  901.67
 20 1 0  20  1 0 0 0 0 0 0 0 0 0 0  b4   0 
0 0 0 30 1 0  30  1 0 0 0 0 0 0 0  c4   0 
    
0  a5 
0 0 0 0 0 0 40 1 0  40 1 0 0 0
  0

0 0 0 0 0 0 0 0 0 45 1 0  45  1 0  b5   0 
 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0  c5   0 

24 http://numericalmethods.eng.usf.edu
Coefficients of Spline
i ai bi ci
1 0 22.704 0
2 0.8888 4.928 88.88
3 −0.1356 35.66 −141.61
4 1.6048 −33.956 554.55
5 0.20889 28.86 −152.13

25 http://numericalmethods.eng.usf.edu
Quadratic Spline Interpolation
Part 2 of 2

http://numericalmethods.eng.usf.edu

26 http://numericalmethods.eng.usf.edu
Final Solution
v(t )  22.704t , 0  t  10
 0.8888t 2  4.928t  88.88, 10  t  15
 0.1356t 2  35.66t  141.61, 15  t  20
 1.6048t 2  33.956t  554.55, 20  t  22.5
 0.20889t 2  28.86t  152.13, 22.5  t  30

27 http://numericalmethods.eng.usf.edu
Velocity at a Particular Point
a) Velocity at t=16
v(t )  22.704t , 0  t  10
 0.8888t 2  4.928t  88.88, 10  t  15
 0.1356t 2  35.66t  141.61, 15  t  20
 1.6048t 2  33.956t  554.55, 20  t  22.5
 0.20889t 2  28.86t  152.13, 22.5  t  30

v16   0.135616  35.6616   141.61


2

 394.24 m/s

28 http://numericalmethods.eng.usf.edu
Acceleration from Velocity Profile
b) The quadratic spline valid at t=16 is
given by
d
a (16)  v(t ) t 16
dt
vt   0.1356t 2  35.66t  141.61, 15  t  20
d 2
a (t )  ( 0.1356t  35.66t  141.61)
dt
 0.2712t  35.66, 15  t  20
2
a (16)  0.2712(16)  35.66  31.321m/s

29 http://numericalmethods.eng.usf.edu
Distance from Velocity Profile
c) Find the distance covered by the rocket from t=11s to
t=16s.
16
S 16  S 11   v (t )dt
11

vt   0.8888t 2  4.928t  88.88, 10  t  15


 0.1356t 2  35.66t  141.61, 15  t  20
16 15 16
S 16   S 11   vt dt   vt dt   vt dt
11 11 15
15 16
  
  0.8888t 2  4.928t  88.88 dt    0.1356t 2  35.66t  141.61 dt 
11 15

 1595.9 m
30 http://numericalmethods.eng.usf.edu
Additional Resources
For all resources on this topic such as digital audiovisual
lectures, primers, textbook chapters, multiple-choice
tests, worksheets in MATLAB, MATHEMATICA, MathCad
and MAPLE, blogs, related physical problems, please
visit

http://numericalmethods.eng.usf.edu/topics/spline_met
hod.html
THE END

http://numericalmethods.eng.usf.edu

You might also like