nm2012s-lecture17-polynomial interpolation.ppt...

24
Polynomial Interpolation Berlin Chen Department of Computer Science & Information Engineering National Taiwan Normal University Reference: 1. Applied Numerical Methods with MATLAB for Engineers, Chapter 17 & Teaching material

Upload: others

Post on 18-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Polynomial Interpolation

Berlin ChenDepartment of Computer Science & Information Engineering

National Taiwan Normal University

Reference:1. Applied Numerical Methods with MATLAB for Engineers, Chapter 17 & Teaching material

Page 2: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Chapter Objectives (1/2)

• Recognizing that evaluating polynomial coefficients with simultaneous equations is an ill-conditioned problem

• Knowing how to evaluate polynomial coefficients and interpolate with MATLAB’s polyfit and polyval functions

• Knowing how to perform an interpolation with Newton’s polynomial

• Knowing how to perform an interpolation with a Lagrange polynomial

NM – Berlin Chen 2

Page 3: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Chapter Objectives (2/2)

• Knowing how to solve an inverse interpolation problem by recasting it as a roots problem

• Appreciating the dangers of extrapolation• Recognizing that higher-order polynomials can manifest

large oscillations

NM – Berlin Chen 3

Page 4: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Polynomial Interpolation

• You will frequently have occasions to estimate intermediate values between precise data points

• The function you use to interpolate must pass through the actual data points - this makes interpolation more restrictive than fitting

• The most common method for this purpose is polynomial interpolation, where an (n-1)th order polynomial is solved that passes through n data points:

NM – Berlin Chen 4

f (x) a1 a2x a3x2 anx

n1

MATLAB version :f (x) p1x

n1 p2xn2 pn1x pn

Page 5: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Determining Coefficients

• Since polynomial interpolation provides as many basis functions as there are data points (n), the polynomial coefficients can be found exactly using linear algebra– For n data points, there is one and only one polynomial of order

(n-1) that passes through all the points

• MATLAB’s built in polyfit and polyval commands can also be used - all that is required is making sure the order of the fit for n data points is n-1

NM – Berlin Chen 5

Page 6: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Polynomial Interpolation Problems

• One problem that can occur with solving for the coefficients of a polynomial is that the system to be inverted is in the form:

• Matrices such as that on the left are known as Vandermonde matrices, and they are very ill-conditioned - meaning their solutions are very sensitive to round-off errors

• The issue can be minimized by scaling and shifting the data

NM – Berlin Chen 6

x1n1 x1

n2 x1 1x2n1 x2

n2 x2 1 xn1n1 xn1

n2 xn1 1xnn1 xn

n2 xn 1

p1p2pn1pn

f x1 f x2

f xn1 f xn

Page 7: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Newton Interpolating Polynomials

• Another way to express a polynomial interpolation is to use Newton’s interpolating polynomial

• The differences between a simple polynomial and Newton’s interpolating polynomial for first and second order interpolations are:

NM – Berlin Chen 7

Order Simple Newton1st f1(x) a1 a2x f1(x) b1 b2(x x1)2nd f2 (x) a1 a2x a3x

2 f2 (x) b1 b2(x x1)b3(x x1)(x x2 )

12

122

11

)()()(

xxxfxfb

xfb

13

12

12

23

23

3

)()()()(

xxxxxfxf

xxxfxf

b

Page 8: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Newton Interpolating Polynomials (1/3)

• The first-order Newton interpolating polynomial may be obtained from linear interpolation and similar triangles, as shown

• The resulting formula based on known points x1and x2 and the values of the dependent function at those points is:

NM – Berlin Chen 8

112

1211

1211

xxxxxfxfxfxf

xxbbxf

12

12

1

11

xxxfxf

xxxfxf

designate a first‐order polynomial

Page 9: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Linear Interpolation: An Example

NM – Berlin Chen 9

The smaller the interval between thedata points, the better the approximation. 

Example 17.2

Page 10: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Newton Interpolating Polynomials (2/3)

• The second-order Newton interpolating polynomial introduces some curvature to the line connecting the points, but still goes through the first two points

• The resulting formula based on known points x1, x2, and x3 and the values of the dependent function at those points is:

NM – Berlin Chen 10

2113

12

12

23

23

112

1212

2131212

xxxxxx

xxxfxf

xxxfxf

xxxxxfxfxfxf

xxxxbxxbbxf

Page 11: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Quadratic Interpolation: An Example

NM – Berlin Chen 11

Example 17.3

Page 12: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Newton Interpolating Polynomials (3/3)

• In general, an (n-1)th Newton interpolating polynomial has all the terms of the (n-2)th polynomial plus one extra

• The general formula is:

where

and the f[…] represent divided differences

NM – Berlin Chen 12

fn1 x b1 b2 x x1 bn x x1 x x2 x xn1

b1 f x1 b2 f x2, x1 b3 f x3, x2, x1

bn f xn, xn1,, x2 , x1

Page 13: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Divided Differences

• Divided difference are calculated as follows:

• Divided differences are calculated using divided difference of a smaller number of terms:

NM – Berlin Chen 13

f xi , x j f xi f x j xi xj

f xi , x j , xk f xi , xj f x j , xk

xi xk

f xn, xn1,, x2, x1 f xn, xn1,, x2 f xn1, xn2,, x1 xn x1

Page 14: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

MATLAB Implementation

NM – Berlin Chen 14

Page 15: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Lagrange Interpolating Polynomials (1/3)

• Another method that uses shifted values to express an interpolating polynomial is the Lagrange interpolating polynomial

• The differences between a simply polynomial and Lagrange interpolating polynomials for first and second order polynomials is:

– where the are weighting coefficients of the j th polynomial, which are functions of x

NM – Berlin Chen 15

3

332

321

312

23212

2221

211211

)()(2)()(1

LagrangeSimpleOrder

xfLxfLxfLxfxaxaaxfndxfLxfLxfxaaxfst

niL

))(())((,

))(())((,

))(())((

2313

2133

3212

3132

3121

3231 xxxx

xxxxLxxxxxxxxL

xxxxxxxxL

12

122

21

221 ,

xxxxL

xxxxL

Page 16: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Lagrange Interpolating Polynomials (2/3)• The first-order Lagrange

interpolating polynomial may be obtained from a weighted combination of two linear interpolations, as shown

• The resulting formula based on known points x1 and x2and the values of the dependent function at those points is:

NM – Berlin Chen 16

212

11

21

21

12

122

21

221

2221

211

)(

,

)(

xfxxxxxf

xxxxxf

xxxxL

xxxxL

xfLxfLxf

Page 17: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Lagrange Interpolating Polynomials (3/3)

• In general, the Lagrange polynomial interpolation for npoints is:

– where is given by:

NM – Berlin Chen 17

niL

n

ii

niin xfxLxf

11

n

ijj ji

jni xx

xxxL

1

Page 18: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Lagrange Interpolating Polynomial: An Example

NM – Berlin Chen 18

Page 19: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

MATLAB Implementation

NM – Berlin Chen 19

Page 20: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Inverse Interpolation (1/2)

• Interpolation general means finding some value f(x) for some x that is between given independent data points

• Sometimes, it will be useful to find the x for which f(x) is a certain value - this is inverse interpolation

NM – Berlin Chen 20

Some adjacent points of f(x) are bunched together and others spread out widely. This would lead to oscillations in the resulting polynomial.

Page 21: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Inverse Interpolation (2/2)

• Rather than finding an interpolation of x as a function of f(x), it may be useful to find an equation for f(x) as a function of x using interpolation and then solve the corresponding roots problem:f(x)-fdesired=0 for x

NM – Berlin Chen 21

Page 22: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Extrapolation

• Extrapolation is the process of estimating a value of f(x) that lies outside the range of the known base points x1, x2, …, xn

• Extrapolation represents a step into the unknown, and extreme care should be exercised when extrapolating!

NM – Berlin Chen 22

Page 23: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Extrapolation Hazards• The following shows the results of extrapolating a

seventh-order polynomial which is derived from the first 8 points (1920 to 1990) of the USA population data set:

NM – Berlin Chen 23

Page 24: NM2012S-Lecture17-Polynomial Interpolation.ppt [相容模式]berlin.csie.ntnu.edu.tw/Courses/Numerical Methods/Lectures2012S/… · Berlin Chen Department of Computer Science & Information

Oscillations

• Higher-order polynomials can not only lead to round-off errors due to ill-conditioning, but can also introduce oscillations to an interpolation or fit where they should not be

• In the figures below, the dashed line represents an function, the circles represent samples of the function, and the solid line represents the results of a polynomial interpolation:

NM – Berlin Chen 24

function) s(Runge' 2511

2xxf