Interpolation and Polynomial Approximation
Total Page:16
File Type:pdf, Size:1020Kb

Chapter 3
Interpolation and Polynomial Approximation
3.1 Interpolation and the Lagrange Polynomial
3.1.1 Lagrangian Form
Consider a polynomial of degree (n 1):
n-1 n-2 P(x) = a1x + a2x +... + an-1x + an where the ai are constants. The polynomial can be written in Lagrangian form:
P(x) = c1(x 2) (x 3)... (x n) + c2(x 1) (x 3)... (x n) + ...
ci(x 1) (x 2) ... (x i-1) (x i+1) ... (x n) + ...
cn(x 1) (x 2)... (x n-1)
where i, i = 1, 2, ..., n are arbitrary scalars, while the constants ci are related to the constants ai.
Example 3.1-1 ______
Write the polynomial P(x) = x 2 4x + 3 in the Lagrangian form.
Solution
The Lagrangian form for P(x) = x 2 4x + 3 is
P(x) = c1(x 2) (x 3) + c2(x 1) (x 3) + c3(x 1) (x 2)
where i, i = 1, 2, 3 are arbitrary scalars. Let 1 = 1, 2 = 2, 3 = 3, then
P(x) = c1(x 2) (x 3) + c2(x 1) (x 3) + c3(x 1) (x 2)
The constants c1 can be evaluated from the above relation by substituting x = 1 = 1
P(x = 1) = 1 4 + 3 = c1(1 2) (1 3) c1 = 0
For x = 2 = 2
P(x = 2) = 4 8 + 3 = c2(2 1) (2 3) c2 = 1
For x = 3 = 3
P(x = 3) = 9 12 + 3 = c3(3 1) (3 2) c3 = 0
1 The Lagrangian form for the polynomial is
P(x) = (x 1)(x 3)
Let 1 = 2, 2 = 1, 3 = 2, then
P(x) = c1(x + 1) (x 2) + c2(x + 2) (x 2) + c3(x + 2) (x + 1)
The constants ci can be evaluated to obtain: c1 = 3.7500, c2 = -2.6667, and c3 = -0.0833. The Lagrangian form for the polynomial is
P(x) = 3.7500 (x + 1) (x 2) 2.6667 (x + 2) (x 2) 0.0833 (x + 2) (x + 1)
A short form notation for P(x) is
n n (x ) P(x) = ci k i1 k1,#i
n where (x k ) denotes product of all terms (x k), for k varying from 1 to n except i. k1,#i
Let x = i then
P(i) = ci(i 1) (i 2) ... (i i-1) (i i+1) ... (i n)
The constant ci can be expressed as
P(i ) n ci = (i k ) k1,#i
3.1.2 Polynomial Approximation
Consider a function f(x) that passes through the two distinct points (x0, f(x0)) and (x1, f(x1)) as shown in Figure 3.1-1. The first order polynomial that approximates the function between these two points can be expressed as
P(x) = a + bx where a and b are constants. P(x) can also be written in Lagrangian form as
P(x) = c0(x x1) + c1(x x0)
2 f(x1 ) f(x2 ) f(x) f(x) f(x1 )
f(x0 ) f(x0 )
x0 x1 x x0 x1 x2 x Figure 3.1-1 First and second order polynomial approximation. where
P(xi ) n ci = (xi xk ) k0,#i or
P(x0 ) f (x0 ) P(x1 ) f (x1 ) c0 = = , and c1 = = (x0 x1 ) (x0 x1 ) (x1 x0 ) (x1 x0 )
The approximating polynomial is finally
(x x1 ) (x x0 ) P(x) = f(x0) + f(x1) (x0 x1 ) (x1 x0 )
The first order polynomial basis function L0(x) is defined as
(x x1 ) 1 at x x0 L0(x) = = (x0 x1 ) 0 at x x1
Similarly, the first order polynomial basis function L1(x) is defined as
(x x0 ) 1 at x x1 L1(x) = = (x1 x0 ) 0 at x x0
In terms of the basis function, P(x) can be written as
P(x) = L0(x) f(x0) + L1(x) f(x1)
If a second order polynomial is used to approximate the function using three points (x0, f(x0)), (x1, f(x1)), and (x2, f(x2)) then
3 (x x1 )(x x2 ) (x x0 )(x x2 ) (x x0 )(x x1 ) P(x) = f(x0) + f(x1) + f(x2) (x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x2 x0 )(x2 x1 )
P(x) can also be written in terms of the second order polynomial basis function L2,k(x)
P(x) = L2,0(x) f(x0) + L2,1(x)f(x1) + L2,2(x)f(x2)
(x x1 )(x x2 ) 1 at x x0 where L2,0(x) = = (x0 x1 )(x0 x2 ) 0 at x x1 and at x x2
In general: L2,k(xk) = 1 at node k, L2,k(xi) = 0 at other nodes.
We now seek a polynomial P(x) of degree n that interpolates a given function f(x) between the node xi of the grid for which there are n+1 nodes x0, x1, , xn and
P(xk) = f(xk) for each k = 1, 2, , n
The polynomial is given by
n P(x) = Ln,0(x) f(x0) + Ln,1(x) f(x1) + + Ln,n(x)f(xn) = Ln,k (x) f(xk) k0
n (x xi ) where Ln,k(x) = ; Ln,k(xi) = 0 and Ln,k(xk) = 1 i0,k (xk xi )
Polynomial approximation constitutes the foundation upon which we shall build the various numerical methods. The approximation P(x) to f(x) is known as a Lagrange interpolation polynomial, and the function Ln,k(x) is called a Lagrange basis polynomial.
Example 3.1-2 ______
Find the Lagrange interpolation polynomial that takes the values prescribed below
xk 0 1 2 4 f(xk) 1 1 2 5
Solution 3 P(x) = L3,k (x) f(xk) k0
(x 1)(x 2)(x 4) (x 0)(x 2)(x 4) P(x) = (1) + (1) (0 1)(0 2)(0 4) (1 0)(1 2)(1 4)
(x 0)(x 1)(x 4) (x 0)(x 1)(x 2) + (2) + (5) (2 0)(2 1)(2 4) (4 0)(4 1)(4 2)
4 When working with grids having large numbers of intervals one typically assigns a set of low degree (n = 1, 2, or 3) basis functions to each adjacent set of n+1 = 2, 3, or 4 nodes.
Example 3.1-3 ______
Use global interpolation by one polynomial and piecewise polynomial interpolation with quadratic for the following nodes.
xk 0 1 2 4 5 f(xk) 0 16 48 88 0
Solution
4 Global interpolation by one polynomial: P(x) = L4,k (x) f(xk) k0
(x 1)(x 2)(x 4)(x 5) (x 0)(x 2)(x 4)(x 5) P(x) = (0) + (16) (0 1)(0 2)(0 4)(0 5) (1 0)(1 2)(1 4)(1 5)
(x 0)(x 1)(x 4)(x 5) (x 0)(x 1)(x 2)(x 5) + (48) + (88) + 0 (2 0)(2 1)(2 4)(2 5) (4 0)(4 1)(4 3)(4 5)
Piecewise polynomial interpolation with quadratic
(x 1)(x 2) (x 0)(x 2) (x 0)(x 1) P(x) = (0) + (16) + (48); 0 x 2 (0 1)(0 2) (1 0)(1 2) (2 0)(2 1)
(x 4)(x 5) (x 2)(x 5) (x 2)(x 4) P(x) = (48) + (88) + (0); 2 x 5 (2 4)(2 5) (4 2)(4 5) (5 2)(5 4)
The error En(x) associated with the interpolation of f(x) by Pn(x) over the interval [x0, xn] can be estimated as
n1 Wn (x) d f En(x) = f(x) Pn(x) = () (n 1)! dx n1
where is some number lying in the open interval (x0, xn) and
Wn(x) = (x x0)(x x1) (x xn)
When the spacial increments are uniform
xk+1 xk = h, k = 0, 1, 2, , n-1
Let x = x0 + h, since 5 x1 = x0 + h x x1 = ( 1)h
xn = x0 + nh x xn = ( n)h
Wn(x) = (x x0)(x x1) (x xn) = (h)[( 1)h] [( n)h]
The error associated with interpolation is then
n1 n1 Wn (x) d f 1 d f En(x) = () = (h)[( 1)h] [( n)h] () (n 1)! dx n1 (n 1)! dx n1
The only variable in the above expression is h the spacing of the nodes, therefore
n+1 En(x) = Ch , x0 < < xn where C is a coefficient independent of h.
n+1 n+1 We can therefore write En(x) = O(h ) meaning that the ratio En(x)/ h is bounded by a constant as h 0. As the increment h decreases, so also will the interpolation error En.
Example 3.1-4 ______
For the function f(x) = ln(x + 1), construct interpolation polynomials of degree one and two to approximate f(0.45) from the given nodes. Find the error bound and the actual error.
xk 0 0.6 0.9 ln(x + 1) 1 0.47000 0.64185
Solution
First degree polynomial
x 0.6 x 0 P (x) = (0) + (0.47) = 0.78334x 1 0 0.6 0.6 0
P1(0.45) = 0.3525
1 d n1 f Error bound: En(x) = (x x0)(x x1) (x xn) () (n 1)! dx n1
f "( ) E (x) = | (x x )(x x )| 1 2! 0 1
1 1 1 f(x) = ln(x + 1) f’(x) = f”(x) = f””(x) = x 1 (x 1)2 (x 1)3
6 1 1 E (x) = | (0.45 0)(0.45 0.6)| = 3.37510-2 1 (0 1)2 2
-2 Actual error = |ln(1 + 0.45) P1(0.45)| = 1.90610
Second degree polynomial
(x 0.6)(x 0.9) (x 0)(x 0.9) P (x) = (0) + (0.47) 2 (0 0.6)(0 0.9) (0.6 0)(0.6 0.9) (x 0)(x 0.6) + (0.64185) (0.9 0.6)(0.9 0.6)
P2(0.45) = 0.36829
f "'( ) Error bound: E (x) = | (x x )(x x )(x x )| 2 3! 0 1 2
1 1 E (x) = | (0.45 0)(0.45 0.6)(0.45 0.9)| = 1.012510-2 2 (0 1)2 6
-3 Actual error = |ln(1 + 0.45) P2(0.45)| = 3.272910
7