There is also an approach due to Newton for solving
polynomial interpolation problems by using ``divided differences''.
The method will be explained here for the case , without
proof, but it works the same for every
.
Suppose, then, that times
are given along
with data points
. As usual, we want a
polynomial curve of degree at most
with
for each
.
Step 1. Compute quantities
,
,
.
Step 2. Compute quantities
,
.
Step 3. Compute the quantity
.
Step 4.
Let
.
(For general there would be steps 1 through
.)
The quantities
are called divided
differences. They can be thought of as making a triangular
table, as shown. A column of
-values has been added for
convenience. The boxes indicate the entries actually used in the
last step. (The other entries aren't wasted, as they have been
used in computing the boxed entries.)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|||
![]() |
||||
![]() |
![]() |
![]() |
||
![]() |
![]() |
|||
![]() |
![]() |
![]() |
||
![]() |
||||
![]() |
![]() |
As you see, each entry
with more than one
subscript is obtained as a quotient, where the numerator is the
difference of the entries immediately to the left (
), and the denominator is the difference of the
-values for the outer subscripts (
).
This method is often easier to do by hand than the blending-function method, and it is also easier to program, but it is less helpful in understanding other computer graphics methods for curves.
Example: The second curve in Figure
has data points
,
,
, and
.
The table of divided differences is as follows. (The
denominators of
come from
and
and the
comes from
.)
![]() |
![]() |
![]() |
![]() |
![]() |
0 | ![]() |
|||
![]() |
||||
![]() |
![]() |
![]() |
||
![]() |
![]() |
|||
![]() |
![]() |
![]() |
||
![]() |
||||
![]() |
![]() |
Thus the curve is
.