Interpolation by Newtons Divided Method
Interpolation by Newtons Divided Method
Interpolation by Newtons Divided Method
What is interpolation?
Many times, data is given only at discrete points such as x0 , y0 , x1 , y1 , ......, xn 1 , yn 1 ,
xn , yn . So, how then does one find the value of y at any other value of x ? Well, a
continuous function f x may be used to represent the n 1 data values with f x
passing through the n 1 points (Figure 1). Then one can find the value of y at any other
value of x . This is called interpolation.
Of course, if x falls outside the range of x for which the data is given, it is no longer
interpolation but instead is called extrapolation.
So what kind of function f x should one choose? A polynomial is a common
choice for an interpolating function because polynomials are easy to
(A) evaluate,
(B) differentiate, and
(C) integrate,
relative to other choices such as a trigonometric and exponential series.
Polynomial interpolation involves finding a polynomial of order n that passes
through the n 1 points. One of the methods of interpolation is called Newton’s divided
difference polynomial method. Other methods include the direct method and the
Lagrangian interpolation method. We will discuss Newton’s divided difference polynomial
method in this lecture.
1
Numerical Analysis MATH351/352
x3 , y3
x1, y1
f x
x2 , y2
x0 , y0
x
Figure 1 Interpolation of discrete data.
Linear Interpolation
Given ( x0 , y0 ) and ( x1 , y1 ), fit a linear interpolant through the data. Noting y f (x) and
y1 f ( x1 ) , assume the linear interpolant f1 ( x) is given by (Figure 2)
f1 ( x) b0 b1 ( x x0 )
Since at x x0 ,
f1 ( x0 ) f ( x0 ) b0 b1 ( x0 x0 ) b0
and at x x1 ,
f1 ( x1 ) f ( x1 ) b0 b1 ( x1 x0 )
f ( x0 ) b1 ( x1 x0 )
giving
f ( x1 ) f ( x0 )
b1
x1 x0
So
b0 f ( x0 )
f ( x1 ) f ( x0 )
b1
x1 x0
giving the linear interpolant as
f1 ( x) b0 b1 ( x x0 )
f ( x1 ) f ( x0 )
f 1 ( x) f ( x 0 ) ( x x0 )
x1 x0
2
Numerical Analysis Interpolation - Newton’s Divided Difference
x1 , y1
f1 x
x0 , y0
x
Figure 2 Linear interpolation.
Example 1
The upward velocity of a rocket is given as a function of time in Table 1 (Figure 3).
Determine the value of the velocity at t 16 seconds using first order polynomial
interpolation by Newton’s divided difference polynomial method.
Solution
For linear interpolation, the velocity is given by
v(t ) b0 b1 (t t0 )
Since we want to find the velocity at t 16 , and we are using a first order polynomial, we
need to choose the two data points that are closest to t 16 that also bracket t 16 to
evaluate it. The two points are t 15 and t 20 .
Then
t 0 15, v(t 0 ) 362.78
t1 20, v(t1 ) 517.35
gives
3
Numerical Analysis MATH351/352
b0 v(t 0 )
362.78
v(t ) v(t 0 )
b1 1
t1 t 0
517.35 362.78
20 15
30.914
Figure 3 Graph of velocity vs. time data for the rocket example.
Hence
v(t ) b0 b1 (t t 0 )
362.78 30.914(t 15), 15 t 20
At t 16,
v(16) 362.78 30.914(16 15)
393.69 m/s
If we expand
v(t ) 362.78 30.914(t 15), 15 t 20
we get
v(t ) 100.93 30.914t , 15 t 20
and this is the same expression as obtained in the direct method.
Quadratic Interpolation
Given ( x0 , y0 ), ( x1 , y1 ), and ( x2 , y 2 ), fit a quadratic interpolant through the data. Noting
y f (x), y0 f ( x0 ), y1 f ( x1 ), and y 2 f ( x2 ), assume the quadratic interpolant
f 2 ( x) is given by
4
Numerical Analysis Interpolation - Newton’s Divided Difference
f 2 ( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 )
At x x0 ,
f 2 ( x0 ) f ( x0 ) b0 b1 ( x0 x0 ) b2 ( x0 x0 )( x0 x1 )
b0
b0 f ( x0 )
At x x1
f 2 ( x1 ) f ( x1 ) b0 b1 ( x1 x0 ) b2 ( x1 x0 )( x1 x1 )
f ( x1 ) f ( x0 ) b1 ( x1 x0 )
giving
f ( x1 ) f ( x0 )
b1
x1 x0
At x x2
f 2 ( x2 ) f ( x2 ) b0 b1 ( x2 x0 ) b2 ( x2 x0 )( x2 x1 )
f ( x1 ) f ( x0 )
f ( x 2 ) f ( x0 ) ( x2 x0 ) b2 ( x2 x0 )( x2 x1 )
x1 x0
Giving
f ( x 2 ) f ( x1 ) f ( x1 ) f ( x0 )
x 2 x1 x1 x0
b2
x 2 x0
Hence the quadratic interpolant is given by
f 2 ( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 )
f ( x2 ) f ( x1 ) f ( x1 ) f ( x0 )
f ( x1 ) f ( x0 ) x2 x1 x1 x0
f ( x0 ) ( x x0 ) ( x x0 )( x x1 )
x1 x0 x2 x0
x1 , y1
x2 , y2
f 2 x
x0 , y0
x
5
Numerical Analysis MATH351/352
Example 2
The upward velocity of a rocket is given as a function of time in Table 2.
Determine the value of the velocity at t 16 seconds using second order polynomial
interpolation using Newton’s divided difference polynomial method.
Solution
For quadratic interpolation, the velocity is given by
v(t ) b0 b1 (t t 0 ) b2 (t t 0 )(t t1 )
Since we want to find the velocity at t 16, and we are using a second order polynomial,
we need to choose the three data points that are closest to t 16 that also bracket t 16
to evaluate it. The three points are t 0 10, t1 15, and t 2 20 .
Then
t 0 10, v(t 0 ) 227.04
t1 15, v(t1 ) 362.78
t 2 20, v(t 2 ) 517.35
gives
b0 v(t 0 )
227.04
v(t ) v(t 0 )
b1 1
t1 t 0
362.78 227.04
15 10
27.148
v(t 2 ) v(t1 ) v(t1 ) v(t 0 )
t 2 t1 t1 t 0
b2
t2 t0
6
Numerical Analysis Interpolation - Newton’s Divided Difference
7
Numerical Analysis MATH351/352
f ( x 2 ) f ( x1 ) f ( x1 ) f ( x0 )
x 2 x1 x1 x0
x 2 x0
where f [ x0 ], f [ x1 , x0 ], and f [ x2 , x1 , x0 ] are called bracketed functions of their variables
enclosed in square brackets.
Rewriting,
f 2 ( x) f [ x0 ] f [ x1 , x0 ]( x x0 ) f [ x2 , x1 , x0 ]( x x0 )( x x1 )
This leads us to writing the general form of the Newton’s divided difference polynomial for
n 1 data points, x0 , y0 , x1 , y1 ,......, xn1 , y n1 , xn , yn , as
f n ( x) b0 b1 ( x x0 ) .... bn ( x x0 )( x x1 )...( x xn1 )
where
b0 f [ x0 ]
b1 f [ x1 , x0 ]
b2 f [ x2 , x1 , x0 ]
bn1 f [ xn1 , xn2 ,...., x0 ]
bn f [ xn , xn1 ,...., x0 ]
where the definition of the m th divided difference is
bm f [ xm ,........, x0 ]
f [ xm ,........, x1 ] f [ xm 1,........, x0 ]
xm x0
From the above definition, it can be seen that the divided differences are calculated
recursively.
For an example of a third order polynomial, given ( x0 , y0 ), ( x1 , y1 ), ( x2 , y 2 ), and ( x3 , y3 ),
f 3 ( x) f [ x0 ] f [ x1 , x0 ]( x x0 ) f [ x2 , x1 , x0 ]( x x0 )( x x1 )
f [ x3 , x2 , x1 , x0 ]( x x0 )( x x1 )( x x2 )
b0
b1
b2
x0 f x0
f x1 , x0
b3
f x2 , x1 , x0
x1 f x1
f x2 , x1 f x3 , x2 , x1, x0
x2 f x2 f x3 , x2 , x1
f x3 , x2
x3 f x3
8
Numerical Analysis Interpolation - Newton’s Divided Difference
Example 3
The upward velocity of a rocket is given as a function of time in Table 3.
a) Determine the value of the velocity at t 16 seconds with third order polynomial
interpolation using Newton’s divided difference polynomial method.
b) Using the third order polynomial interpolant for velocity, find the distance covered by the
rocket from t 11 s to t 16 s .
c) Using the third order polynomial interpolant for velocity, find the acceleration of the
rocket at t 16 s .
Solution
a) For a third order polynomial, the velocity is given by
v(t ) b0 b1 (t t 0 ) b2 (t t 0 )(t t1 ) b3 (t t 0 )(t t1 )(t t 2 )
Since we want to find the velocity at t 16, and we are using a third order polynomial, we
need to choose the four data points that are closest to t 16 that also bracket t 16 to
evaluate it. The four data points are t 0 10, t1 15, t 2 20, and t 3 22.5 .
Then
t 0 10, v(t 0 ) 227.04
t1 15, v(t1 ) 362.78
t 2 20, v(t 2 ) 517.35
t 3 22.5, v(t 3 ) 602.97
gives
b0 v[t 0 ]
v(t0 )
227.04
b1 v[t1 , t0 ]
v(t1 ) v(t 0 )
t1 t 0
9
Numerical Analysis MATH351/352
362.78 227.04
15 10
27.148
b2 v[t 2 , t1 , t 0 ]
v[t 2 , t1 ] v[t1 , t 0 ]
t2 t0
v(t ) v(t1 )
v[t 2 , t1 ] 2
t 2 t1
517.35 362.78
20 15
30.914
v[t1 , t 0 ] 27.148
v[t , t ] v[t1 , t 0 ]
b2 2 1
t2 t0
30.914 27.148
20 10
0.37660
b3 v[t3 , t 2 , t1 , t 0 ]
v[t , t , t ] v[t2 , t1 , t0 ]
3 2 1
t3 t0
v[t , t ] v[t 2 , t1 ]
v[t 3 , t 2 , t1 ] 3 2
t 3 t1
v(t ) v(t 2 )
v[t3 , t 2 ] 3
t3 t 2
602.97 517.35
22.5 20
34.248
v(t ) v(t1 )
v[t 2 , t1 ] 2
t 2 t1
517.35 362.78
20 15
30.914
v[t , t ] v[t 2 , t1 ]
v[t 3 , t 2 , t1 ] 3 2
t 3 t1
34.248 30.914
22.5 15
0.44453
v[t 2 , t1 , t 0 ] 0.37660
10
Numerical Analysis Interpolation - Newton’s Divided Difference
v[t3 , t2 , t1 ] v[t2 , t1 , t0 ]
b3
t3 t0
0.44453 0.37660
22.5 10
5.4347 103
Hence
v(t ) b0 b1 (t t 0 ) b2 (t t 0 )(t t1 ) b3 (t t 0 )(t t1 )(t t 2 )
227.04 27.148(t 10) 0.37660(t 10)(t 15)
5.5347 103 (t 10)(t 15)(t 20)
At t 16,
v(16) 227.04 27.148(16 10) 0.37660(16 10)(16 15)
5.5347 103 (16 10)(16 15)(16 20)
392.06 m/s
b) The distance covered by the rocket between t 11 s and t 16 s can be calculated from
the interpolating polynomial
v(t ) 227.04 27.148(t 10) 0.37660(t 10)(t 15)
5.5347 103 (t 10)(t 15)(t 20)
4.2541 21.265t 0.13204t 2 0.0054347t 3 , 10 t 22.5
Note that the polynomial is valid between t 10 and t 22.5 and hence includes the limits
of t 11 and t 16 .
So
16
s16 s11 vt dt
11
16
( 4.2541 21.265t 0.13204t 2 0.0054347t 3 )dt
11
16
t2 t3 t4
4.2541t 21.265 0.13204 0.0054347
2 3 4 11
1605 m
c) The acceleration at t 16 is given by
d
a(16) v(t ) t 16
dt
d
a(t ) v(t )
dt
4.2541 21.265t 0.13204t 2 0.0054347t 3
d
dt
21.265 0.26408t 0.016304t 2
a(16) 21.265 0.26408(16) 0.016304(16) 2
29.664 m/s 2
11