Beruflich Dokumente
Kultur Dokumente
Interpolation
(c)AL-AMER2006 1
Numerical Methods
Lecture 14:
Introduction to Interpolation
Introduction
Interpolation problem
Existence and uniqueness
Linear and Quadratic interpolation
Newton’s Divided Difference method
Properties of Divided Differences
SE301_Topic5 (c)AL-AMER2006 2
1
Introduction
Interpolation was used for x sin(x)
long time to provide an
0 0.0000
estimate of a tabulated
function at values that are 0.1 0.0998
not available in the table.
0.2 0.1987
SE301_Topic5 (c)AL-AMER2006 4
2
Example
Temperature Viscosity
An experiment is used to determine (degree)
the viscosity of water as a
function of temperature. The
0 1.792
following table is generated
5 1.519
10 1.308
Problem: Estimate the viscosity
when the temperature is 8 degrees.
15 1.140
SE301_Topic5 (c)AL-AMER2006 5
Interpolation Problem
Find a polynomial that fit the data points
exactly.
V : viscosity
n
V(T) = ∑ ak T k T : Temperature
k =0 ak : polynomial
Vi = V(Ti ) coefficients
Linear Interpolation V(T)= 1.73 − 0.0422 T
V(8)= 1.3924
SE301_Topic5 (c)AL-AMER2006 6
3
Existence and Uniqueness
Given a set of n+1 points
(x0 , f ( x0 ) ), (x1, f ( x1 )), ...., (xn , f ( xn ) )
Assumption x0 , x1 ,..., xn are distinct
Theorem:
There is a unique polynomial fn(x) of order ≤ n
such that
f n ( xi ) = f ( xi ) for i = 0,1,..., n
SE301_Topic5 (c)AL-AMER2006 7
SE301_Topic5 (c)AL-AMER2006 8
4
475
Linear Interpolation
Given any two points, ( x0 , f ( x0 ) ), ( x1 , f ( x1 ) )
4−2
f1 ( x ) = 2 + (x − 1) = 2 x
2 −1
SE301_Topic5 (c)AL-AMER2006 9
477
Quadratic Interpolation
Given any three points, ( x0 , f ( x0 ) ), ( x1, f ( x1 ) )and ( x2 , f ( x2 ) )
The polynomial that interpolates the three points is
f 2 ( x) = b0 + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 )
where
b0 = f ( x0 )
f ( x1 ) − f ( x0 )
b1 = f [ x0 , x1 ] =
x1 − x0
f ( x2 ) − f ( x1 ) f ( x1 ) − f ( x0 )
−
x2 − x1 x1 − x0
b2 = f [ x0 , x1 , x2 ] =
x2 − x0
SE301_Topic5 (c)AL-AMER2006 10
5
General nth order Interpolation
Given any n+1 points, (x0 , f ( x0 ) ), (x1, f ( x1 )),..., (xn , f ( xn ))
The polynomial that interpolates all points is
f n ( x ) = b0 + b1 ( x − x0 ) + b2 ( x − x0 )( x − x1 ) + ... + bn ( x − x0 )...( x − xn −1 )
b0 = f ( x0 )
b1 = f [ x0 , x1 ]
....
bn = f [ x0 , x1 , ... , xn ]
SE301_Topic5 (c)AL-AMER2006 11
Divided Differences
f [ xk ] = f ( xk ) zeroth order DD
f [ x1 ] − f [ x0 ]
f [ x0 , x1 ] = first order DD
x1 − x0
f [ x1 , x2 ] − f [ x0 , x1 ]
f [ x0 , x1 , x2 ] = Second order DD
x2 − x0
............
f [ x1 , x2 ,..., xk ] − f [ x0 , x1 ,..., xk −1 ]
f [ x0 , x1 ,..., xk ] =
xk − x0
SE301_Topic5 (c)AL-AMER2006 12
6
Divided Difference Table
x F[ ] F[ , ] F[ , , ] F[ , , ,]
x0 F[x0] F[x0,x1] F[x0,x1,x2] F[x0,x1,x2,x3]
x1 F[x1] F[x1,x2] F[x1,x2,x3]
x2 F[x2] F[x2,x3]
x3 F[x3]
n i −1
f n ( x) = ∑ F [ x0 , x1 ,..., xi ] ∏ (x − x ) j
i =0 j =0
SE301_Topic5 (c)AL-AMER2006 13
SE301_Topic5 (c)AL-AMER2006 14
7
Divided Difference Table
x F[ ] F[ , ] F[ , , ] xi f(xi)
0 -5 2 -4 0 -5
1 -3 6 1 -3
-1 -15 -1 -15
SE301_Topic5 (c)AL-AMER2006 16
8
Divided Difference Table
x F[ ] F[ , ] F[ , , ] xi yi
0 -5 2 -4 0 -5
1 -3 6
-1 -15 1 -3
-1 -15
− 15 − (−3)
=6
−1 −1
f [ x2 ] − f [ x1 ]
f [ x1 , x2 ] =
x2 − x1
SE301_Topic5 (c)AL-AMER2006 17
6 − ( 2)
= −4
− 1 − (0)
f [ x1 , x2 ] − f [ x0 , x1 ]
f [ x0 , x1 , x2 ] =
x2 − x0
SE301_Topic5 (c)AL-AMER2006 18
9
Divided Difference Table
x F[ ] F[ , ] F[ , , ] xi yi
0 -5 2 -4 0 -5
1 -3 6
-1 -15 1 -3
-1 -15
f 2 ( x ) = −5 + 2( x − 0) − 4( x − 0)( x − 1)
Two Examples
Obtain the interpolating polynomials for the two examples
x y x y
1 0 2 3
2 3 1 0
3 8 3 8
SE301_Topic5 (c)AL-AMER2006 20
10
Two Examples
x Y
x Y
1 0 3 1 2 3 3 1
2 3 5 1 0 4
3 8 3 8
P2 ( x ) = 0 + 3( x − 1) + 1( x − 1)( x − 2) P2 ( x) = 3 + 3( x − 2) + 1( x − 2)( x − 1)
= x 2 −1 = x2 −1
SE301_Topic5 (c)AL-AMER2006 21
f [ x0 , x1 , x2 ] = f [ x1 , x2 , x0 ] = f [ x2 , x1 , x0 ]
SE301_Topic5 (c)AL-AMER2006 22
11
Example
Find a polynomial to x f(x)
interpolate the data.
2 3
4 5
5 1
6 6
7 9
SE301_Topic5 (c)AL-AMER2006 23
Example
x f(x) f[ , ] f[ , , ] f[ , , , ] f[ , , , , ]
2 3 1 -1.6667 1.5417 -0.6750
4 5 -4 4.5 -1.8333
5 1 5 -1
6 6 3
7 9
f 4 = 3 + 1( x − 2) − 1.6667( x − 2)( x − 4) + 1.5417( x − 2)( x − 4)( x − 5)
− 0.6750( x − 2)( x − 4)( x − 5)( x − 6)
SE301_Topic5 (c)AL-AMER2006 24
12
Summary
Interpolating Condition : f ( xi ) = f n ( xi ) for i = 0,1,2,..., n
* The interpolating Polynomial is unique.
* Different methods can be used to obtain it
- Newton Divided Difference [Section 18.1 ]
- Lagrange Interpolation [Section 18. 2]
- Other methods
SE301_Topic5 (c)AL-AMER2006 25
Numerical Methods
Lagrange Interpolation
SE301_Topic5 (c)AL-AMER2006 26
13
The interpolation Problem
Given a set of n+1 points,
SE301_Topic5 (c)AL-AMER2006 27
486
Lagrange Interpolation
Problem: xi x0 ….
x1 xn
Given
yi y0 y1 …. yn
f n ( xi ) = f ( xi ) for i = 0,1,..., n
n
Lagrange Interpolation Formula f n ( x) = ∑ f ( xi ) l i ( x)
i =0
(x − x )
n
∏ (x − x )
j
l i ( x) =
j =0, j ≠i i j
SE301_Topic5 (c)AL-AMER2006 28
14
Lagrange Interpolation
SE301_Topic5 (c)AL-AMER2006 29
l 0 ( x) =
( x − x1 ) (x − x2 ) = (x − 1 / 4) (x − 1) y 2 -1 7
(x0 − x1 ) ( x0 − x2 ) (1 / 3 − 1 / 4) (1 / 3 − 1)
l 1 ( x) =
(x − x0 ) (x − x2 ) = (x − 1 / 3) ( x − 1)
(x1 − x0 ) (x1 − x2 ) (1 / 4 − 1 / 3) (1 / 4 − 1)
l 2 ( x) =
(x − x0 ) ( x − x1 ) = (x − 1 / 3) (x − 1 / 4)
( x2 − x0 ) (x2 − x1 ) (1 − 1 / 3) (1 − 1 / 4)
P2 ( x) = 2{− 18( x − 1 / 4)( x − 1)}− 1{16( x − 1 / 3)( x − 1)}
+ 7{2( x − 1 / 3)( x − 1 / 4)}
SE301_Topic5 (c)AL-AMER2006 30
15
Example
find a polynomial to interpolate x y
0 1
both Newton’s
interpolation method 1 3
and Lagrange
2 2
interpolation method
must give the same 3 5
answer
4 4
SE301_Topic5 (c)AL-AMER2006 31
1 3 -1 2 -4/3
2 2 3 -2
3 5 -1
4 4
SE301_Topic5 (c)AL-AMER2006 32
16
Interpolating Polynomial
3 7
f 4 ( x ) = 1 + 2( x ) − x( x − 1) + x ( x − 1)( x − 2)
2 6
5
− x( x − 1)( x − 2)( x − 3)
8
SE301_Topic5 (c)AL-AMER2006 33
17
Numerical Methods
Inverse interpolation
Error in polynomial interpolation
SE301_Topic5 (c)AL-AMER2006 35
491
Inverse Interpolation
xi x0 x1 …. xn
Problem :
Given the table and y g yi y0 y1 …. yn
Find xg such that f ( xg ) = y g
One approach:
Use polynomial interpolation to obtain fn(x) to interpolate the
data then use Newton’s method to find a solution to
fn (x g ) = y g
SE301_Topic5 (c)AL-AMER2006 36
18
Inverse Interpolation
Alternative Approach
Inverse interpolation: xi x0 x1 …. xn
1. Exchange the roles
yi y0 y1 …. yn
of x and y
2. Perform polynomial
Interpolation on the yi y0 y1 …. yn
new table.
xi x0 x1 …. xn
3. Evaluate
fn ( y g )
SE301_Topic5 (c)AL-AMER2006 37
Inverse Interpolation
x
y
x y
SE301_Topic5 (c)AL-AMER2006 38
19
Inverse Interpolation
Question:
SE301_Topic5 (c)AL-AMER2006 39
Inverse Interpolation
Example
x 1 2 3
Problem : y 3.2 2.0 1.6
Given the table. Find xg such that f ( xg ) = 2.5
20
10 th order Polynomial Interpolation
2
0.5
true function
-0.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
SE301_Topic5 (c)AL-AMER2006 41
SE301_Topic5 (c)AL-AMER2006 42
21
Errors in polynomial Interpolation
Theorem
Let f(x) be a function such that
f (n +1) (x) is continuous on [a, b], f ( n +1) ≤ M
Let P(x) be any polynomial of degree ≤ n
that interpolates f at n + 1 equally spaced points
in [a, b] (including the end points). Then
n +1
M b−a
f(x) - P(x) ≤
4( n + 1) n
SE301_Topic5 (c)AL-AMER2006 43
Example 1
f(x) = sin(x)
We want to use 9 th order polynomial to interpolat e f(x)
(using 10 equally spaced points) in the interval [0,1.6875]
22
Interpolation Error
If f n (x) is the polynomial of degree n that interpolates
the function f(x) at the nodes x0 , x1 ,..., xn then for any x
not a node
n
f(x) − f n ( x) = f [ x0 , x1 ,..., xn , x] ∏ (x − xi )
i =0
n
f(x) − f n ( x ) ≈ f [ x0 , x1 ,..., xn , xn +1 ] ∏ ( x − xi )
i =0
SE301_Topic5 (c)AL-AMER2006 46
23
Divided Difference Theorem
If f ( n ) is continuous on [a, b] and if x0 , x1 ,..., xn
are any n + 1 distinct points in [a, b] then for some ξ ∈ [a, b]
1
f [ x0 , x1 ,..., xn ] = f ( n ) (ξ )
n!
If f ( x) is a polynomial of order n 1 4 1 0 0
then 2 5 1 0
3 6 1
f [ x0 , x1 ,..., xi ] = 0 ∀i ≥ n + 1
4 7
f ( x) = 3 + x
SE301_Topic5 (c)AL-AMER2006 47
Summary
The interpolating polynomial is unique
Different methods can be used to obtain it
Newton’s Divided difference
Lagrange interpolation
others
Polynomial interpolation can be sensitive
to data.
BE CAREFUL when high order
polynomials are used
SE301_Topic5 (c)AL-AMER2006 48
24