Interpolation: Constructing Continuous Functions from Discrete Data, Study notes of Mathematical Methods for Numerical Analysis and Optimization

Interpolation, a special case of data fitting in which the goal is to find a linear combination of known functions to fit a set of data exactly. The document focuses on polynomial interpolation and algorithms for computing the unique polynomial that satisfies the given data points. It also covers the interpolation error and methods for minimizing it.

Typology: Study notes

Pre 2010

Uploaded on 09/17/2009

koofers-user-fv3
koofers-user-fv3 🇺🇸

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Jim Lambers
Math 105A
Summer Session I 2003-04
Lecture 8 Notes
These notes correspond to Section 3.1 in the text.
Interpolation
Calculus provides many tools that can be used to understand the behavior of functions, but in most
cases it is necessary for these functions to be continuous or differentiable. This presents a problem
in most “real” applications, in which functions are used to model relationships between quantities,
but our only knowledge of these functions consists of a set of discrete data points, where the data
is obtained from measurements. Therefore, we need to be able to construct continuous functions
based on discrete data.
The problem of constructing such a continuous function is called data fitting. In this lecture,
we discuss a special case of data fitting known as interpolation, in which the goal is to find a
linear combination of nknown functions to fit a set of data that imposes nconstraints, thus
guaranteeing a unique solution that fits the data exactly, rather than approximately. The broader
term “constraints” is used, rather than simply “data points”, since the description of the data may
include additional information such as rates of change or requirements that the fitting function
have a certain number of continuous derivatives.
When it comes to the study of functions using calculus, polynomials are particularly simple to
work with. Therefore, in this course we will focus on the problem of constructing a polynomial
that, in some sense, fits given data. We first discuss some algorithms for computing the unique
polynomial pn(x) of degree nthat satisfies pn(xi) = yi,i= 0, . . . , n, where the points (xi, yi) are
given. The points x0, x1, . . . , xnare called interpolation points. The polynomial pn(x) is called the
interpolating polynomial of the data (x0, y0), (x1, y1), . . ., (xn, yn). At first, we will assume that the
interpolation points are all distinct; this assumption will be relaxed in a later lecture.
Computing the Interpolating Polynomial
If the interpolation points x0, . . . , xnare distinct, then the process of finding a polynomial that
passes through the points (xi, yi), i= 0, . . . , n, is equivalent to solving a system of linear equations
Ax=bthat has a unique solution. However, different algorithms for computing the interpolating
polynomial use a different A, since they each use a different basis for the space of polynomials of
degree n.
The most straightforward method of computing the interpolation polynomial is to form the
system Ax=bwhere bi=yi,i= 0, . . . , n, and the entries of Aare defined by aij =pj(xi),
i, j = 0, . . . , n, where x0, x1, . . . , xnare the points at which the data y0, y1, . . . , ynare obtained, and
1
pf3
pf4

Partial preview of the text

Download Interpolation: Constructing Continuous Functions from Discrete Data and more Study notes Mathematical Methods for Numerical Analysis and Optimization in PDF only on Docsity!

Jim Lambers Math 105A Summer Session I 2003- Lecture 8 Notes

These notes correspond to Section 3.1 in the text.

Interpolation

Calculus provides many tools that can be used to understand the behavior of functions, but in most cases it is necessary for these functions to be continuous or differentiable. This presents a problem in most “real” applications, in which functions are used to model relationships between quantities, but our only knowledge of these functions consists of a set of discrete data points, where the data is obtained from measurements. Therefore, we need to be able to construct continuous functions based on discrete data. The problem of constructing such a continuous function is called data fitting. In this lecture, we discuss a special case of data fitting known as interpolation, in which the goal is to find a linear combination of n known functions to fit a set of data that imposes n constraints, thus guaranteeing a unique solution that fits the data exactly, rather than approximately. The broader term “constraints” is used, rather than simply “data points”, since the description of the data may include additional information such as rates of change or requirements that the fitting function have a certain number of continuous derivatives. When it comes to the study of functions using calculus, polynomials are particularly simple to work with. Therefore, in this course we will focus on the problem of constructing a polynomial that, in some sense, fits given data. We first discuss some algorithms for computing the unique polynomial pn(x) of degree n that satisfies pn(xi) = yi, i = 0,... , n, where the points (xi, yi) are given. The points x 0 , x 1 ,... , xn are called interpolation points. The polynomial pn(x) is called the interpolating polynomial of the data (x 0 , y 0 ), (x 1 , y 1 ),.. ., (xn, yn). At first, we will assume that the interpolation points are all distinct; this assumption will be relaxed in a later lecture.

Computing the Interpolating Polynomial

If the interpolation points x 0 ,... , xn are distinct, then the process of finding a polynomial that passes through the points (xi, yi), i = 0,... , n, is equivalent to solving a system of linear equations Ax = b that has a unique solution. However, different algorithms for computing the interpolating polynomial use a different A, since they each use a different basis for the space of polynomials of degree ≤ n. The most straightforward method of computing the interpolation polynomial is to form the system Ax = b where bi = yi, i = 0,... , n, and the entries of A are defined by aij = pj (xi), i, j = 0,... , n, where x 0 , x 1 ,... , xn are the points at which the data y 0 , y 1 ,... , yn are obtained, and

pj (x) = xj^ , j = 0, 1 ,... , n. The basis { 1 , x,... , xn} of the space of polynomials of degree n + 1 is called the monomial basis, and the corresponding matrix A is called the Vandermonde matrix for the points x 0 , x 1 ,... , xn. Unfortunately, this matrix can be ill-conditioned, especially when interpolation points are close together. In Lagrange interpolation, the matrix A is simply the identity matrix, by virtue of the fact that the interpolating polynomial is written in the form

pn(x) =

∑^ n

j=

yj Ln,j (x),

where the polynomials {Ln,j }nj=0 have the property that

Ln,j (xi) =

1 if i = j 0 if i 6 = j

The polynomials {Ln,j }, j = 0,... , n, are called the Lagrange polynomials for the interpolation points x 0 , x 1 ,.. ., xn. They are defined by

Ln,j (x) =

∏^ n

k=0,k 6 =j

x − xk xj − xk

As the following result indicates, the problem of polynomial interpolation can be solved using Lagrange polynomials.

Theorem Let x 0 , x 1 ,... , xn be n + 1 distinct numbers, and let f (x) be a function defined on a domain containing these numbers. Then the polynomial defined by

pn(x) =

∑^ n

j=

f (xj )Ln,j

is the unique polynomial of degree n that satisfies

pn(xj ) = f (xj ), j = 0, 1 ,... , n.

The polynomial pn(x) is called the interpolating polynomial of f (x). We say that pn(x) interpolates f (x) at the points x 0 , x 1 ,... , xn.

Interpolation Error

In some applications, the interpolating polynomial pn(x) is used to fit a known function f (x) at the points x 0 ,... , xn, usually because f (x) is not feasible for tasks such as differentiation or integration

To address these issues, we consider the problem of computing the interpolating polynomial recursively. More precisely, let k > 0, and let pk(x) be the polynomial of degree k that interpolates the function f (x) at the points x 0 , x 1 ,... , xk. Ideally, we would like to be able to obtain pk(x) from polynomials of degree k − 1 that interpolate f (x) at points chosen from among x 0 , x 1 ,... , xk. The following result shows that this is possible.

Theorem Let n be a positive integer, and let f (x) be a function defined on a domain containing the n + 1 distinct points x 0 , x 1 ,... , xn, and let pn(x) be the polynomial of degree n that interpolates f (x) at the points x 0 , x 1 ,... , xn. For each i = 0, 1 ,... , n, we define pn− 1 ,i(x) to be the polynomial of degree n − 1 that interpolates f (x) at the points x 0 , x 1 ,... , xi− 1 , xi+1,... , xn. If i and j are distinct nonnegative integers not exceeding n, then

pn(x) =

(x − xj )pn− 1 ,j (x) − (x − xi)pn− 1 ,i(x) xi − xj

This result leads to an algorithm called Neville’s Method that computes the value of pn(x) at a given point using the values of lower-degree interpolating polynomials at x. We now describe this algorithm in detail.

Algorithm Let x 0 , x 1 ,... , xn be distinct numbers, and let f (x) be a function defined on a domain containing these numbers. Given a number x∗, the following algorithm computes y∗^ = pn(x∗), where pn(x) is the nth interpolating polynomial of f (x) that interpolates f (x) at the points x 0 , x 1 ,... , xn.

for j = 0 to n do Qj = f (xj ) end for j = 1 to n do for k = n to j do Qk = [(x − xk)Qk − (x − xk−j )Qk− 1 ]/(xk−j − xk) end end y∗^ = Qn

At the jth iteration of the outer loop, the number Qk, for k = n, n − 1 ,... , j, represents the value at x of the polynomial that interpolates f (x) at the points xk, xk− 1 ,... , xk−j. In the next lecture, we will use the preceding theorem to compute the polynomial pn(x) itself, rather than its value at a given point. This will yield an alternative method of constructing the interpolating polynomial that is more suitable for tasks such as differentiation, integration, and inclusion of additional interpolation points.