Interpolation and Polynomial Approximation

Total Page:16

File Type:pdf, Size:1020Kb

Interpolation and Polynomial Approximation

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 i1 k1,#i

n where  (x  k ) denotes product of all terms (x  k), for k varying from 1 to n except i. k1,#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 ) k1,#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 ) k0,#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) k0

n (x  xi ) where Ln,k(x) =  ; Ln,k(xi) = 0 and Ln,k(xk) = 1 i0,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) k0

(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) k0

(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

n1 Wn (x) d f En(x) = f(x)  Pn(x) = () (n  1)! dx n1

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

n1 n1 Wn (x) d f 1 d f En(x) = () = (h)[(  1)h] [(  n)h] () (n  1)! dx n1 (n  1)! dx n1

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 n1 f Error bound: En(x) = (x  x0)(x  x1)  (x  xn) () (n  1)! dx n1

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.37510-2 1 (0 1)2 2

-2 Actual error = |ln(1 + 0.45)  P1(0.45)| = 1.90610

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.012510-2 2 (0 1)2 6

-3 Actual error = |ln(1 + 0.45)  P2(0.45)| = 3.272910

7

Recommended publications