0% encontró este documento útil (0 votos)
190 vistas53 páginas

POLINOMIOS

1) El documento describe el proceso de interpolación polinomial, que permite estimar valores de una función en puntos intermedios basándose en los valores conocidos en algunos puntos de datos. 2) Se introduce el polinomio de Lagrange, que permite construir un polinomio de grado n que pasa exactamente por n+1 puntos de datos dados. 3) El polinomio de Lagrange se define como una suma ponderada de funciones Lnk(x) que valen 1 en el punto xk y 0 en los demás puntos, lo que garantiza que el polinom

Cargado por

?????
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
190 vistas53 páginas

POLINOMIOS

1) El documento describe el proceso de interpolación polinomial, que permite estimar valores de una función en puntos intermedios basándose en los valores conocidos en algunos puntos de datos. 2) Se introduce el polinomio de Lagrange, que permite construir un polinomio de grado n que pasa exactamente por n+1 puntos de datos dados. 3) El polinomio de Lagrange se define como una suma ponderada de funciones Lnk(x) que valen 1 en el punto xk y 0 en los demás puntos, lo que garantiza que el polinom

Cargado por

?????
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CAPÍTULO

3 Interpolación y aproximación
polinomial
Introducción
Se realiza un censo de la población de Estados Unidos cada 10 años. La siguiente tabla muestra la población, en miles
de personas, desde 1960 hasta 2010, y los datos también se representan en la figura.
Año 1960 1970 1980 1990 2000 2010
Población 179 323 203 302 226 542 249 633 281 422 308 746 (en miles)
P(t)
3 3 108
nóicalbo
2 3 108 P1 3 108

1960
1970 1980 1990 2000 2010
t Año
Al revisar estos datos, podríamos preguntar si se podrían usar para efectuar un cálculo razonable de la población,
digamos, en 1975 o incluso en el año 2020. Las predicciones de este tipo pueden obtenerse por medio de una función
que se ajuste a los datos proporcio- nados. Este proceso recibe el nombre de interpolación y es el tema de este
capítulo. Este problema de población se considera a lo largo del capítulo y en los ejercicios 19 de la sección 3.1, 17
de la sección 3.3 y 24 de la sección 3.5.
77
78 CAPÍTULO 3 Interpolación y aproximación polinomial

3.1 Interpolación y el polinomio de


Lagrange
ara todas las x en [a,b].

La prueba de este teorema se puede encontrar en


A menudo, se hace referencia a Karl e análisis real (consulte, por ejemplo, [Bart], pp. 1652172).
Weierstrass (1815–1897) como el
Otra razón importante para considerar la clase de
padre del análisis moderno debido a
su insistencia sobre el rigor en la funciones es que la derivada y la integral indefinida de un
demostración de resultados nar y también son polinomios. Por esta razón, a menudo se
matemáticos. Fue fundamental para el ciones continuas.
desarrollo de pruebas de convergencia
Los polinomios de Taylor se presentaron en la
de series y para determinar formas de
definir rigurosamente los números omo uno de los componentes básicos del análisis numérico.
irracionales. Fue el primero en ría esperar que la aproximación polinomial usará estas
demostrar que una función podría ser mbargo, éste no es el caso. Los polinomios de Taylor
continua en todas partes, pero n una función dada en un punto especifico, pero concentran
diferenciable en ninguna parte, un
buen polinomio de aproximación debe dar precisión relativa
resultado que escandalizó a algunos
de sus contemporáneos. eneral, los polinomios de Taylor no lo hacen. Por ejemplo,
Una de las clases más útiles y conoci
reales en sí mismo son los polinomio

Pn(x) = anxn + an−1xn−1 +···+ a1x + a0,


donde n es un entero positivo y a0, , an son constantes reales. Una razón de su importancia es
que se aproximan de manera uniforme a las funciones continuas. Con esto queremos decir que
dada una función, definida y continua sobre un intervalo cerrado y acotado, existe un polinomio
que está tan “cerca” de la función dada como se desee. Este resultado se expresa con precisión
en el teorema de aproximación de Weierstrass (consulte la figura 3.1).

Figura 3.1
y P(x) y 5 f(x) y 5
y 5 f(x) 1 y 5 f(x) 2

a b x Teorema 3.1 (Teorema de aproximación


de Weierstrass)

Suponga que f está definida y es continua en [a, b]. Para cada ε . 0, existe un polinomio P(x),
con la propiedad de que
3.1 Interpolación y el polinomio de Lagrange 79

primeros seis polinomios de f (x) son todas ex, de Taylor alrededor de x0 5 0 para f(x) 5 ex. Ya que las derivadas

que evaluadas en x0 5 0 dan 1, los polinomios de Taylor son


Se publicó muy poco del trabajo de Weierstrass durante su vida;
,P x +x ,
P0(x) = 1, P1(x) = 1 + x, P2(x) = 1 + x + x2 2 3(x) = 1 + x + 2 2 6 3 no obstante, sus conferencias, en especial sobre la
teoría de las funciones, influyeron de manera
+ x3 + x4, y P x2 + x3 + x+ x
P4(x) = 1 + x + x22 6 24 5(x) = 1 + x + 2 6 24 4 120 5
.

significativa en una generación completa de estudiantes.


Las gráficas de los polinomios se muestran en la figura 3.2 (observe que incluso para los polinomios de grado más
alto, el error empeora progresivamente conforme nos alejamos de cero).
Figura 3.2
y
20

y 5 ex
15
y 5 P5(x) y 5 P4(x) y 5 P3(x)
10y 5 P (x)
2

5y 5 P1(x)
y 5 P0(x) 21 1 2 3x
Aunque se obtienen mejores aproximaciones para f(x) 5 ex si se usan polinomios de Taylor, esto no es verdad para
todas las funciones. Considere, como un ejemplo extremo, usar la expansión en polinomios de Taylor de diferentes

grados para f(x) 5 1/x alrededor de x0 5 1 para aproximar f(3) 5 1/3. Puesto que
f (x) = x−1, f (x) = −x−2, f (x) = (−1)22 · x−3,
y, en general,
f (k)(x) = (−1)kk!x −k−1,
los polinomios de Taylor son

n Pn(x) =
k=0

Para aproximar f(3) 5 1/3 mediante Pn(3) para valores cada vez mayores de n, obtenemos los valores en la tabla 3.1

(¡un terrible fracaso!). Cuando aproximamos f(3) 5 1/3 mediante Pn(3) y para valores más grandes de n, la

aproximación se vuelve cada vez más imprecisa.


Tabla 3.1 n 0 1 2 3 4 5 6 7
Pn(3) 1 −1 3 −5 11 −21 43 −85
f (k)k! (1)
(x − 1)k
=
(−1)k
n k=0 (x − 1)k.
80 CAPÍTULO 3 Interpolación y aproximación polinomial

Para los polinomios de Taylor, toda la información que se usa en la aproximación se concentra en el único número x0,

por lo que, en general, éstos darán aproximaciones impre- cisas conforme nos alejamos de x0. Esto limita la

aproximación de polinomios de Taylor a situaciones en las que las aproximaciones sólo se necesitan en números
cercanos a x0. Para propósitos computacionales ordinarios, es más eficiente usar métodos que incluyan infor- mación
en varios puntos. Consideramos esto en el resto del capítulo. El uso principal de los polinomios de Taylor en el
análisis numérico no tiene propósitos de aproximación, sino la derivación de técnicas numéricas y el cálculo de
errores.
Polinomios de interpolación de Lagrange
El problema de determinar un polinomio de grado uno que pasa por diferentes puntos (x0, y0) y (x1, y1) es igual al de

aproximar una función f para la que f(x0) 5 y0 y f(x1) 5 y1 por medio de un polinomio de primer grado que se
interpola, o que coincida con los valores de f en los puntos determinados. El uso de estos polinomios para
aproximación dentro del intervalo determinado mediante puntos finales recibe el nombre de interpolación.

Defina las funcionesL0(x) = x − x1 x0 − x1 Ejemplo 1 Determine el polinomio de interpolación de Lagrange que pasa
por los puntos (2, 4) y (5, 1).
Solución en este caso, tenemos

y L1(x) = x − x0

x1 − x0 .

P(x) = L0(x) f (x0) + L1(x) f (x1) = x − x1 x0 − x1 El polinomio de interpolación de Lagrange lineal a través de (x0, y0)
y (x1, y1) es
f (x0) + x − x0

x1 − x0 f (x1).
Observe que

L0(x0) = 1, L0(x1) = 0, L1(x0) = 0, y L1(x1) = 1,


lo cual implica que

P(x0) = 1 · f (x0) + 0 · f (x1) = f (x0) = y0

yP(x1) = 0 · f (x0) + 1 · f (x1) = f (x1) = y1.

Por lo que P es el único polinomio de grado a lo más 1 que pasa por (x0, y0) y (x1, y1).
L0(x) = x 2 − − 5 5
= −1 (x − 5) y L x − 2
3 1(x) = 5 − 2
= 1 (x − 2),
3
1 (x − 2) · 1 = −4 x + 20 + 1 x − 2 = −x + 6.
por lo queP(x) = −13(x − 5) · 4 + 3 3 3 3 3
La gráfica de y 5 P(x) se muestra en la figura 3.3.
3.1 Interpolación y el polinomio de Lagrange 81
Figura 3.3
Figura 3.4
y
4

(2,4)
32
1y 5 P(x) = 2x 1 6
(5,1)
1
2345
x
Para generalizar el concepto de interpolación lineal, considere la construcción de un polinomio de grado n que pasa a
través de n 1 1 puntos

(x0, f (x0)), (x1, f (x1)),... ,(xn, f (xn)).


(Véase la figura 3.4.)
y
y 5 f(x)
y 5 P(x)

x0 x1 x2 xn x En este caso, primero construimos, para cada k 5 0, 1, , n, una función Ln,k(x) con la propiedad de que

Ln,k(xi) = 0 cuando i = k y Ln,k(xk) 5 1. Para satisfacer Ln,k(xi) = 0 para cada i = k se requiere que el numerador de

Ln,k(x) contenga el término

(x − x0)(x − x1)···(x − xk−1)(x − xk+1)···(x − xn).


Para satisfacer Ln,k(xk) 5 1, el denominador de Ln,k(x) debe ser el mismo término, pero evaluado en x 5 xk. Por lo

tanto,
Ln,k(x) = (x − x0)···(x − xk−1)(x − xk+1)··· (x (xk − x0)···(xk − xk−1)(xk − xk+1)···(x− k − xn)

xn).
Un bosquejo de la gráfica de una Ln,k (cuando n es par) se muestra en la figura 3.5.
82 CAPÍTULO 3 Interpolación y aproximación polinomial
Figura 3.5
Ln,k(x)1
x0 x1 . . .

xk21 xk xk11 . . . xn21 xn x El polinomio de interpolación se describe fácilmente una vez que se conoce la forma Ln,k. Este

polinomio, llamado enésimo polinomio de interpolación de Lagrange, se define en el siguiente teorema.Teorema


3.2 Si x0, x1, , xn son n 1 1 números distintos y f es una función cuyos valores están determi- nados en estos números,
entonces existe un único polinomio P(x) de grado a lo sumo n con La fórmula de interpolación nombrada por Joseph Louis
Lagrange (1736–1813)

f (xk) = P(xk), para cada k = 0,1,... ,n.


probablemente era conocida por Newton alrededor de 1675,
Este polinomio está determinado por
pero al parecer fue publicada por primera vez en 1779 por Edward Waring (1736–1798). Lagrange

P(x) = f (x0)Ln,0(x) +···+ f (xn)Ln,n(x) =


(3.1) escribió mucho sobre el tema de interpolación y su trabajo tuvo una influencia significativa sobre los matemáticos posteriores. Él publicó
este resultado en 1795.
(3.2)
El símbolo se usa para escribir productos de manera compacta y es similar al símbolo , que se utiliza para escribir sumas. Por ejemplo

3i=0 ai = a1 ∗ a2 ∗ a3.

Escribiremos Ln,k(x) simplemente como Lk(x) cuando no haya confusión en cuanto a su grado.
Ejemplo 2 a) Use los números (llamados nodos)

x0 5 2, x1 5 2.75 y x2 5 4 para encontrar el polinomio de interpolación de Lagrange de segundo grado para f(x) 5 1/x.
b) Use este polinomio para aproximar f(3) 5 1/3.

Solución a) Primero determinamos los coeficientes polinómicos L0(x), L1(x) y L2(x). En forma anidada, estos son
n
k=0

f (xk)Ln,k(x),
donde, para cada k = 0,1,... ,n,

Ln,k(x) = (x − x0)(x − x1) ··· (x − xk−1)(x − xk+1)···(x − xn)

(xk − x0)(xk − x1) ··· (xk − xk−1)(xk − xk+1)··· (xk − xn)


n=

i=k i=0 (x (xk − − xxi)


i).

L0(x) = (x (2 − − 2.75)(x 2.75)(2 − − 4) 4)


= 2 (x − 2.75)(x − 4),
3 L1(x) = (2.75 (x − − 2)(x 2)(2.75 − 4)
= −16 (x − 2)(x − 4),
− 4) 15
y

L2(x) = (x (4 − − 2)(x 2)(4 − − 2.75) 2.75)


= 2 (x − 2)(x − 2.75).
5
3.1 Interpolación y el polinomio de Lagrange 83
Figura 3.6

Teorema 3.3 Suponga x0,x1,... , xn son números distintos en el intervalo [a, b] y f ∈ Cn+1[a,b]. Enton- ces, para

cada x en [a, b], existe un número ξ(x) (generalmente no conocido) entre mín {x0, x1, , xn} y máx{x0, x1, , xn} y, por lo

tanto, en (a, b), con


Existen otras formas de expresar el término de error para el polinomio de Lagrange, pero ésta puede ser la forma más útil y la que concuerda más
estrechamente con la forma de error del polinomio estándar de Taylor.
Además, que

f (x0) = f (2) = 1/2, f (x1) = f (2.75) = 4/11, y f (x2) = f (4) = 1/4, por lo
2 P(x) =
k=0

f (xk)Lk(x)
1 (x − 2.75)(x − 4) − 64
= 3 165
(x − 2)(x − 4) + 1(x − 2)(x − 2.75) 1 x2 35 x + 49 .
10 = 22 − 88 44
b) Una aproximación para f (3) = 1/3 (véase la figura 3.6) es
9 − 105
f (3) ≈ P(3) = 22
+ 49 = 29 ≈ 0.32955.
88 44 88
Recuerde que en la sección de apertura de este capítulo (consulte la tabla 3.1), encontramos que ninguna expansión en

polinomios de Taylor alrededor de x0 5 1 se puede usar para aproximar razonablemente f(x) 5 1/x en x 5 3.
4
y
3
2y 5 f(x)

1y 5 P(x)
1234
5x
El siguiente paso es calcular un residuo o cota para el error involucrado en la aproxima- ción de una función mediante
un polinomio de interpolación.
f
f (x) = P(x) + (n+1)(ξ(x))
(x − x
(n + 1)! 0)(x − x1)···(x − xn),
(3.3)
donde P(x) es el polinomio de interpolación determinado en la ecuación (3.1).

Demostración Primero observe que si x 5 xk para cualquier k 5 0, 1, , n, entonces f(xk) 5 P(xk) y al elegir ξ (xk)de

manera arbitraria en (a, b) se obtiene la ecuación (3.3).


84 CAPÍTULO 3 Interpolación y aproximación polinomial

Si x = xk, para todas las k = 0,1,... ,n defina la función g para t en [a, b] mediante
(t − x
g(t) = f (t) − P(t) − [ f (x) − P(x)] (x − x 0)(x 0)(t − − Puesto que f ∈ Cn+1[a,b], y P ∈ C∞[a,b], se sigue que g ∈

Cn+1[a,b]. Para t = xk, tenemos


Además,

(3.4) x1)···(t x1)···(x − xn) − xn) n = f (t) − P(t) − [ f (x) − P(x)]


i=0

(t (x − − xxi)

i).

n g(xk) = f (xk) − P(xk) − [ f (x) − P(x)]


i=0

(xk − xi) (x − xi) = 0 − [ f (x) − P(x)] · 0 = 0.


n g(x)= f (x) − P(x) −[ f (x) − P(x)]
i=0

(x (x − − xxi)

i) = f (x)− P(x)− [ f (x)− P(x)] = 0.

Por lo tanto, g ∈ Cn+1[a,b], y g se anula en los n 1 2 números distintos x, x0,x1,... ,xn. Por el teorema generalizado de
Rolle 1.10, existe un número ξ en (a, b) para el que g(n+1)(ξ) = 0.Por lo que,
d
0= g(n +1)(ξ)= f (n+1)(ξ)− P(n+1)(ξ)−[ f (x)− P(x)] dt n+1 n+1
n
i=0

Sin embargo, P(x) es un polinomio de grado a lo sumo n, por lo que la derivada (n 1 1), P(n+1)(x), es cero. Además lo
[(t − x
queni=0 i)/(x − xi)] es un polinomio de grado (n 1 1), por

La fórmula de error en el teorema 3.3 es un resultado teórico importante porque los polinomios de Lagrange se usan
ampliamente para deducir la diferenciación numérica y los métodos de integración. Las cotas de error para estas
técnicas se obtienen a partir de la fórmula del error de Lagrange.
Observe que la forma del error para el polinomio de Lagrange es bastante similar a la del polinomio de Taylor. El

enésimo polinomio de Taylor alrededor de x0 concentra toda la información conocida en x0 y tiene un término de error

de la forma
(t − xi) (x − xi) t=ξ.
n
i=0
(t (x − − xxi)
1
i) =

ni=0(x − xi) t n+1 + (términos de menor grado en t),


y
dn+1 dtn+1
n
i=0

(t (x − − xxi)
(n + 1)!
i) = ni=0 (x

− xi).
Ahora, la ecuación (3.4) se convierte en
(n + 1)!
0 = f (n+1)(ξ) − 0 − [ f (x) − P(x)] ni=0 (x

− xi),
y, después de resolver f (x), tenemos
f
f (x) = P(x) + (n+1)(ξ) (n + 1)!
(x − x
n i=0 i).
(n+1)
f (ξ(x))
(x − x n+1
(n + 1)! 0) .
3.1 Interpolación y el polinomio de Lagrange 85

El polinomio de Lagrange de grado n utiliza información en los distintos , xn y, en lugar de (x 2 x0)n su fórmula de

error utiliza el producto de los Ejemplo 3 En el ejemplo 2 encontramos el segundo polinomio de Lagrange para f(x)
5 1/x en [2, 4] usando los nodos x0 5 2, x1 5 2.75 y x2 = 4. Determine la forma del error para este polinomio y el error
máximo cuando el polinomio se usa para aproximar f(x) para x ∈ [2, 4].
−1
Solución Como f (x) = x , tenemos
Ejemplo 4 Suponga que se va a preparar una tabla para la función f (x) = ex, para x en [0,1]. Imagine que el número
de lugares decimales proporcionado por entrada es d $ 8 y que h, el tamaño del paso es la diferencia entre valores
adyacentes x. ¿Qué tamaño de paso h garantizará que la interpolación lineal proporcione un error absoluto a lo
máximo de 10–6 para todas las x en [0, 1]?

Solución Sean x0, x1, los números en los que se evalúa f y x está en [0, 1] y suponga que j satisface xj # x # xj11. La

ecuación (3.3) implica que el error en la interpolación lineal es


números x0, x1, n 1 1 términos (x − x0), (x − x1),... ,(x − xn):
(n+1)
f (ξ(x))
(x − x
(n + 1)! 0)(x − x1)···(x − xn).

f (x) = −x−2, f (x) = 2x−3, y f (x) = −6x−4.


En consecuencia, el segundo polinomio de Lagrange tiene el error de la forma
f (ξ(x))
(x− x
3! 0)(x− x1)(x− x2)= − (ξ(x))−4(x−2)(x−2.75)(x−4), para ξ(x)en(2,4).

El valor máximo de (ξ(x))−4 en el intervalo es 2−4 = 1/16. Ahora necesitamos determinar el valor máximo en este
intervalo del valor absoluto del polinomio
35 x 49 x − 22.
g(x) = (x − 2)(x − 2.75)(x − 4) = x3 − 4 2 + 2 Como
49 x − 22 = 3x2 35 x + 49 = 1 (3x − 7)(2x − 7),
Dx x3 − 354 x2 + 2 − 2 2 2
los puntos críticos se presentan en
7 , con g 7 = 25
x= 3 3
, y x = 7 , con g 7 = − 9.
108 2 2 16
Por lo tanto, el error máximo es
f (ξ(x))
|(x − x 9= 9≈ 0.03515625.
3! 0)(x − x1)(x − x2)| ≤ 16 1− 16 256
El siguiente ejemplo ilustra cómo se puede usar la fórmula del error para preparar una tabla de datos que garantizará
un error de interpolación dentro de una cota establecida.
f
| f (x) − P(x)| = (2)2! (ξ)
(x − x
j)(x − x j+1) = | f (2)2 (ξ)|
|(x − x
j)||(x − x j+1)|.

Como el tamaño del paso es h, entonces x j = jh, x j+1 = (j + 1)h, y


| f (2)
| f (x) − P(x)| ≤ 2! (ξ)|
|(x − jh)(x − ( j + 1)h)|.

86 CAPÍTULO 3 Interpolación y aproximación polinomial


máx ξ
| f (x) − P(x)| ≤ ξ∈[0,1] 2 e

máx e máx
x j≤x≤x j+1 |(x − jh)(x − (j + 1)h)| ≤ 2 x j≤x≤x j+1 Por lo tanto,

|(x − jh)(x − ( j + 1)h)|.


Considere la función g(x) = (x − jh)(x −(j +1)h), para jh ≤ x ≤ (j +1)h. Luego
h ,
g (x) = (x − ( j + 1)h) + (x − jh) = 2 x − jh − 2
el único punto crítico para g se encuentra en x = jh + h/2, con g(jh + h/2) = (h/2)2 = h2/4.
Puesto que g(jh) = 0 y g(( j +1)h) = 0, el valor máximo de |g (x)| en [jh,(j +1)h] se debe presentar en el punto crítico,
lo cual implica que (véase el ejercicio 21)
e máx e · h2 = eh 2.
| f (x) − P(x)| ≤ 2 x j≤x≤x j+1 |g(x)| ≤ 2 4 8
Por consiguiente, para garantizar que el error en la interpolación lineal está acotado por 1026, es suficiente elegir h de
tal forma que
≤ 10−6
eh28 . Esto implica que h < 1.72 × 10−3.
Puesto que n 5 (1 2 0)/h debe ser un entero, una selección razonable para el tamaño del paso es h 5 0.001.
La sección Conjunto de ejercicios 3.1 está disponible en línea. Encuentre la ruta de acceso en las páginas
preliminares.
3.2 Aproximación de datos y método de Neville
En la sección anterior encontramos una representación explícita para los polinomios de La- grange y su error cuando
se aproxima una función sobre un intervalo. El uso frecuente de estos polinomios implica la interpolación de datos
tabulados. En este caso, una represen- tación explícita del polinomio podría no ser necesaria, sólo los valores del
polinomio en puntos especificos. En esta situación, seria posible que la función subyacente a los datos no se conozca,
por lo que la forma explícita del error no se puede usar. Ahora, ilustraremos una aplicación práctica de interpolación
en dicha situación.
Ilustración La tabla 3.2 lista los valores de una función f en diferentes puntos. Las aproximaciones para f(1.5)
obtenidas con distintos polinomios de Lagrange que usan estos datos se comparará para probar y determinar la
precisión de la aproximación.
Tabla 3.2

El polinomio lineal más apropiado usa x0 5 1.3 y x1 5 1.6 porque 1.5 se encuentra entre 1.3 x f (x)
y 1.6. El valor del polinomio de interpolación en 1.5 es
1.0 0.7651977 1.3 0.6200860 1.6 0.4554022 1.9 0.2818186 2.2 0.1103623

P1(1.5) = (1.5 − 1.6)


f (1.3) + (1.5 − 1.3)
(1.3 − 1.6)
f (1.6) (1.5 − 1.6)
(1.6 − 1.3) = (1.3 −
(0.6200860) + (1.5 − 1.3)
1.6) (1.6 −
(0.4554022) = 0.5102968.
1.3)
3.2 Aproximación de datos y método de Neville 87

Es posible usar razonablemente dos polinomios de grado dos, uno con x0 5 1.3, x1 5 1.6 y x2 5 1.9, lo cual nos da

P2(1.5) = (1.5 (1.3 Definición 3.4 Sea f una función definida en x0, x1, x2,... ,xn y suponga que m1, m2, ..., mk son k

enteros diferentes, con en los puntos k 0 xm≤ 1, mxmi 2≤ ,... n para cada i. El , xmk se denota polinomio de Lagrange que

concuerda con f(x)


Pm1,m2,... ,mk(x). − − 1.6)(1.5 1.6)(1.3 − − 1.9)
(0.6200860) + (1.5 − 1.3)(1.5 − 1.9)
1.9) (1.6 − 1.3)(1.6 −
(0.4554022) (1.5 − 1.3)(1.5 − 1.6)
1.9) + (1.9 − 1.3)(1.9 −
(0.2818186) = 0.5112857,
1.6)

y uno con x0 5 1.0, x1 5 1.3 y x2 5 1.6, lo cual nos da Pˆ2(1.5) = 0.5124715.

En el caso de tercer grado, también hay dos opciones razonables para el polinomio, una con x0 5 1.3, x1 5 1.6, x2 5 1.9
ˆ
y x3 5 2.2, lo cual nos da P3(1.5) 5 0.5118302. La segunda aproximación de nos da P 3(1.5) = tercer grado se obtiene
con x0 51.0, x1 5 1.3, x2 5 1.6 y x3 5 1.9, lo cual

0.5118127. El polinomio de Lagrange de cuarto grado usa todas las entradas en la tabla. Con x0 5 Puesto 1.0, x1 que 5

1.3, P3(1.5), x2 = 1.6, Pˆ3(1.5) x3 5 y 1.9 P4(1.5) y x4 5 concuerdan 2.2, la aproximación con una exactitud es P4(1.5)
de 2 = 3 0.5118200.

1025 unida- des, esperamos este grado de precisión para estas aproximaciones. También esperamos que P4(1.5) sea la

aproximación más precisa ya que usa la mayor parte de los datos proporcio- nados.La función que estamos

aproximando es, en realidad, la función de Bessel de primera clase de orden cero, cuyo valor en 1.5 se conoce como
0.5118277. Por lo tanto, las verdade- ras precisiones de las aproximaciones son las siguientes:

|P1(1.5) − f (1.5)| ≈ 1.53 × 10−3,


ˆ
|P2(1.5) − f (1.5)| ≈ 5.42 × 10−4, | P 2(1.5) − f (1.5)| ≈ 6.44 × 10−4,
ˆ
|P3(1.5) − f (1.5)| ≈ 2.5 × 10−6, | P 3(1.5) − f (1.5)| ≈ 1.50 × 10−5,

|P4(1.5) − f (1.5)| ≈ 7.7 × 10−6.

Aunque P3(1.5) es la aproximación más precisa, si no conocemos el valor real de f(1.5), aceptaríamos P4(1.5) como la

mejor aproximación ya que incluye la mayor cantidad de da- tos sobre la función. El término del error de Lagrange
derivado del teorema 3.3 no se puede aplicar aquí porque no conocemos la cuarta derivada de f. Por desgracia, este
casi siempre es el caso.
Método de Neville
Una dificultad práctica con la interpolación de Lagrange es que el término del error es dificil de aplicar, por lo que el
grado del polinomio que se necesita para la precisión deseada en general se desconoce hasta que se realizan los
cálculos. Una práctica común es calcular los resultados dados a partir de diferentes polinomios hasta que se obtiene el
acuerdo apropia- do, como se hizo en la ilustración anterior. Sin embargo, el trabajo efectuado al calcular la
aproximación con el segundo polinomio no disminuye el trabajo necesario para calcular la tercera aproximación, ni la
cuarta aproximación es fácil de obtener una vez que se conoce la tercera aproximación y así sucesivamente. Ahora,
derivaremos estos polinomios de aproxi- mación de una manera que use los cálculos previos para una mayor ventaja.
88 CAPÍTULO 3 Interpolación y aproximación polinomial

Ejemplo 1 Suponga que x0 5 1, x1 5 2, x2 5 3, x3 5 4, x4 5 6 y f(x) = ex. Determine el polinomio de interpolación que

se denota P1,2,4(x) y use este polinomio para aproximar f(5).

Solución Éste es el polinomio de Lagrange que concuerda con f(x) en x1 5 2, x2 5 3 y x4 5 6. Por lo tanto,

P1,2,4(x) = (x (2 Teorema 3.5 Sea f definida en x0, x1, , xk y sean xj y xi dos números distintos en este conjunto.

Entonces
ˆ
Demostración j−1, j+1,... ,k. Para la Puesto que facilidad de Q(x) y Q(x) la notación, sea Q ≡ P0,1,... ,i−1,i+1,... ,k y Q ˆ≡

P0,1,... , son polinomios de grado k 2 1 o menos, P(x) es de grado máximo k.


ˆ
Primero, observe que Q(x i) = f (xi) implica que
− − 3)(x 3)(2 − − 6) 6)
e2 (x − 2)(x − 6)
+ (3 − 2)(3 − 6)
e3 (x − 2)(x − 3)
+ (6 − 2)(6 − 3)
e6
.
por lo que,
(5 − 3)(5 − 6)
f (5) ≈ P(5) = (2 − 3)(2 −
e (5 − 2)(5 − 6)
6) 2 + (3 − 2)(3 −
e (5 − 2)(5 − 3)
6) 3 + (6 − 2)(6 −
e 1 e 1 e
3) 6 = − 2 2 + e3 + 2 6 ≈ 218.105.
El siguiente resultado describe un método para generar de forma recursiva las aproxima- ciones del polinomio de
Lagrange.
(x − x
P(x) = j)P0,1,... ,j−1, j+1,... ,k(x) − (x − xi)P0,1,... ,i−1,i+1,... ,k(x)

(xi − x j)

es el k-ésimo polinomio de Lagrange que interpola f en los puntos k 1 1 x0, x1, , xk.

P(xi) = (xi − x j) Q(xˆi) − (xi − xi)Q(xi)


(x
xi − x j = i (xi − x j)

− x j) f (xi) = f (xi).
Similarmente, como Q(x j) = f (x j), tenemos que P(x j) = Además, si 0 ≤ r ≤ k y r no es i ni j, entonces Q(xr) = Q(xf

ˆ(x j).

r) = f (xr). Por lo tanto,


P(xr) = (xr − x j) Q(xˆr) − (xr − xi)Q(xr)
(x
xi − x j = i− x j)

(xi − x j) f (xr) = f (xr).

P0,1 = 1 x1 − x0 Pero, por definición P0,1,... ,k(x) es el único polinomio de grado máximo k que concuerda con f en x0,

x1,... , xk. Por lo tanto P ≡ P0,1,... ,k.


El teorema 3.5 implica que los polinomios de interpolación pueden generarse de manera recursiva. Por ejemplo,
tenemos

[(x − x0)P1 + (x − x1)P0], P1,2 = 1

x2 − x1[(x − x1)P2 + (x − x2)P1], P0,1,2 = 1

x2 − x0[(x − x0)P1,2 + (x − x2)P0,1],


y así sucesivamente. Estos se generan de la manera que se muestra en la tabla 3.3, donde cada fila se completa antes
de que las filas sucesivas comiencen.
3.2 Aproximación de datos y método de Neville 89

Tabla 3.3 x0 P0

x1 P1 P0,1 x2 P2 P1,2 P0,1,2 x3 P3 P2,3 P1,2,3 P0,1,2,3 x4 P4 P3,4 P2,3,4 P1,2,3,4 P0,1,2,3,4
El procedimiento que usa el resultado del teorema 3.5 para generar recursivamente las aproximaciones de polinomios
de interpolación recibe el nombre de método de Neville. La notación P que se usa en la tabla 3.3 es pesada debido al
número de subíndices que se utilizan para representar las entradas. Observe, sin embargo, que mientras se construye
un arreglo, sólo se necesitan dos subíndices. El procedimiento hacia abajo en la tabla corresponde al uso consecutivo
de los puntos corresponde al incremento del Tabla 3.4 x0 P0 = Q0,0 x1 P1 = Q1,0 P0,1 = Q1,1 x2 P2 = Q2,0 P1,2 = Q2,1 P0,1,2 = Q2,2

x3 P3 = Q3,0 P2,3 = Q3,1 P1,2,3 = Q3,2 P0,1,2,3 = Q3,3 x4 P4 = Q4,0 P3,4 = Q4,1 P2,3,4 = Q4,2 P1,2,3,4 = Q4,3 P0,1,2,3,4 = Q4,4
Ejemplo 2 Los valores de diferentes polinomios de interpolación en x 5 1.5 se obtuvieron en la ilus- tración al inicio
de esta sección usando los datos que se muestran en la tabla 3.5. Aplique el método de Neville a los datos mediante la

construcción de una tabla recursiva de la forma que se observa en la tabla 3.4. Solución Sea x0 5 1.0, x1 5 5 f(1.3),

Q2,0 5 f(1.6), Q3,0 5 xgrado i con una del 1.3, f(1.9) x2 y 5 Q1.6, 4,0 5 x3 f(2.2). 5 1.9 Estos y x4 = son 2.2, los entonces

cinco polinomios Q0,0 5 f(1.0), de grado Q1,0


cero (constantes) que aproximan f(1.5) y son iguales a los datos que se proporcionan en la tabla 3.5.

Al calcular la aproximación de primer grado Q1,1 (1.5) obtenemos


i más grande, y el procedimiento hacia la derecha polinomio de interpolación. Puesto que los puntos
Eric Harold Neville (1889–1961) aportó esta modificación de la fórmula de Lagrange en un articulo publicado en 1932. [N]
aparecen de manera consecutiva en cada entrada, necesitamos describir sólo un punto de inicio y el número de puntos

adicionales que se usan en la construcción de la aproximación. Para evitar los múltiples índices, dejamos que Qi,j (x)

para 0 ≤ j ≤ i, denote el polinomio de interpolación de grado j en los números (j + 1) xi−j, xi−j+1,... , xi−1, xi; es decir
Qi, j = Pi− j,i−j+1,... ,i−1,i.
Usando esta notación obtenemos el arreglo de notación Q en la tabla 3.4.

Q1,1(1.5) = (x − x0)Q1,0 − (x − x1)Q0,0


(1.5 − 1.0)Q
x1 − x0 = 1.3 1,0 − − (1.5 1.0
− 1.3)Q0,0
0.5(0.6200860) − 0.2(0.7651977)
= 0.3
= 0.5233449.

De igual forma, Q2,1(1.5) = (1.5 − 1.3)(0.4554022) 1.6 − − (1.5 1.3 Tabla 3.5 x f (x)
1.0 0.7651977 1.3 0.6200860 1.6 0.4554022 1.9 0.2818186 2.2 0.1103623
− 1.6)(0.6200860)
= 0.5102968,

Q3,1(1.5) = 0.5132634, y Q4,1(1.5) = 0.5104270.


90 CAPÍTULO 3 Interpolación y aproximación polinomial
Tabla 3.6 1.0 0.7651977
1.3 0.6200860 0.5233449 1.6 0.4554022 0.5102968 0.5124715 1.9 0.2818186 0.5132634 0.5112857 0.5118127 2.2 0.1103623
0.5104270 0.5137361 0.5118302 0.5118200
Tabla 3.7
i xi ln xi
0 2.0 0.6931 1 2.2 0.7885 2 2.3 0.8329
Se espera que la mejor aproximación lineal sea Q2,1 porque 1.5 se encuentra entre x1 5 1.3 y x2 5 1.6.
De manera similar, las aproximaciones usando polinomios de grado superior están dadas por

Q2,2(1.5) = (1.5 − 1.0)(0.5102968) 1.6 − − (1.5 1.0 − 1.6)(0.5233449)


= 0.5124715,

Q3,2(1.5) = 0.5112857, y Q4,2(1.5) = 0.5137361.


Las aproximaciones de grado superior se generan de una manera similar y se muestran en la tabla 3.6.

Si la última aproximación Q4,4 no fue suficientemente precisa, seria posible seleccionar otro nodo x5 y axadir otra fila

a la tabla:
x5 Q5,0 Q5,1 Q5,2 Q5,3 Q5,4 Q5,5.

Entonces Q4,4, Q5,4 y Q5,5 podrían compararse para determinar la precisión posterior.
La función en el ejemplo 2 es la función de Bessel de primera clase de orden cero, cuyo valor en 2.5 es 20.0483838, y
la siguiente fila de aproximaciones para f(1.5) es
2.5 − 0.0483838 0.4807699 0.5301984 0.5119070 0.5118430 0.5118277.
La última nueva entrada, 0.5118277, es correcta para siete lugares decimales.
Ejemplo 3 La tabla 3.7 lista los valores de f(x) 5 ln x precisos para los lugares dados. Use el método de Neville y la
aritmética de redondeo de cuatro dígitos para aproximar f(2.1) 5 ln 2.1 al completar la tabla de Neville.

Solución Puesto que x 2 x0 5 0.1, x 2 x1 5 20.1 y x 2 x2 5 20.2, tenemos Q0,0 5 0.6931, Q1,0 5 0.7885 y Q2,0 5 0.8329,
0.1482
Q1,1 = 0.2 1[(0.1)0.7885 − (−0.1)0.6931] =
= 0.7410
0.2 y
0.07441
Q2,1 = 0.1 1[(−0.1)0.8329 − (−0.2)0.7885] =
= 0.7441.
0.1 La aproximación final que podemos obtener a partir de estos datos es
0.2276
Q2,1 = 0.3 1[(0.1)0.7441 − (−0.2)0.7410] =
= 0.7420.
0.3
Estos valores se muestran en la tabla 3.8.
Tabla 3.8 i xi x − xi Qi0 Qi1 Qi2
0 2.0 0.1 0.6931 1 2.2 −0.1 0.7885 0.7410 2 2.3 −0.2 0.8329 0.7441 0.7420
ALGORITMO 3.1
3.3 Diferencias divididas
La interpolación iterada se usó en la sección previa para generar sucesivamente aproxima- ciones polinomiales de
grado superior en un punto especifico. Los métodos de diferencia dividida que se presentan en esta sección se usan
para generar sucesivamente los polinomios en sí mismos.
Diferencias divididas
Suponga que Pn(x) es el enésimo polinomio de interpolación que concuerda con la función f en los diferentes

números x0, x1, , xn. A pesar de que este polinomio es único, existen re-
En el ejemplo anterior, tenemos f(2.1) 5 ln 2.1 5 0.7419 para cuatro lugares decimales, por lo que el error absoluto es
| f (2.1) − P2(2.1)|=|0.7419 − 0.7420| = 10−4.

| f (2.1) − P2(2.1)| = f (ξ(2.1))


(x − x
3! 0)(x − x1)(x − x2)
1
=
(0.1)(−0.1)(−0.2) ≤ 0.002
3(ξ(2.1))3
= 8.3 × 10−5
3(2)3 .

ENTRADA números x, x0,x1,... , xn; valores f (x0), f (x1),... , f (xn) como la primera

columna Q 0,0, Q1,0,... , Qn,0 de Q. SALIDA la tabla Q con P(x) = Qn,n.


Paso 1 Para i = 1,2,... ,n
para j = 1,2,... ,i

haga Qi, j = (x − xi−j)Qi,j−1 − (x − xi)Qi−1,j−1 xi − xi−j Sin embargo, f (x) = 1/x, f (x) = −1/x2,y f (x) = 2/x3, por lo que la
fórmula de error de Lagrange (3.3) en el teorema 3.3 nos da la cota del de error
Observe que el error real, 1024, excede la cota del error, 8.3 × 10−5. Esta aparente con- tradicción es una consecuencia
de los cálculos de digitos finitos. Nosotros usamos la arit- mética de redondeo de cuatro dígitos, y la fórmula del error
de Lagrange (3.3) supone la aritmética de digitos infinitos. Esto causó que nuestros errores reales excedieran el
cálculo de error teórico.
• Recuerde: No puede esperar mayor precisión de la proporcionada por la aritmética.
El algoritmo 3.1 construye por filas las entradas en el método de Neville.
Interpolación iterada de Neville
Para evaluar el polinomio de interpolación P en los diferentes números n 1 1, x0, , xn en el número x para la función f :
.
Paso 2 SALIDA (Q);
PARE.
La sección Conjunto de ejercicios 3.2 está disponible en línea. Encuentre la ruta de acceso en las páginas
preliminares.
3.3 Diferencias divididas 91
92 CAPÍTULO 3 Interpolación y aproximación polinomial
Como en muchas áreas, Isaac Newton es prominente en el estudio de ecuaciones de diferencia. Desarrolló fórmulas de interpolación desde 1675,
usando su notación en tablas de diferencias. Adoptó un enfoque muy general hacia las fórmulas de diferencias, por lo que los ejemplos explícitos
que produjo, incluyendo las fórmulas de Lagrange, a menudo son conocidas con otros nombres.

presentaciones algebraicas que son útiles en ciertas situaciones. Las diferencias divididas de f respecto a x0, x1, , xn se

usan para expresar Pn(x) en la forma


Pn(x) = a0 + a1(x − x0) + a2(x − x0)(x − x1) +···+ an(x − x0) ··· (x − xn−1),

a0 = Pn(x0) = f (x0).

f (x0) + a1(x1 − x0) = Pn(x1) = f (x1);


por lo que

a1 = f (x1) − f (x0)
x1 − x0 .
(3.5)

para constantes apropiadas a0, a1, , an. Para determinar la primera de estas constantes, a0, observe que si Pn(x) se

escribe en la forma de la ecuación (3.5), entonces evaluando Pn(x) en x0 queda sólo el término constante a0; es decir,
Similarmente, cuando P(x) se evalúa en x1, los únicos términos diferentes de cero en la evaluación de Pn(x1) son los

términos constante y lineal,


(3.6)
Ahora presentaremos la notación de diferencias divididas, que se relaciona con la no- tación 2 de Aitkens que se usó

en la sección 2.5. La ceroésima diferencia dividida de la función f respecto a xi, denotada f[xi], es simplemente el

valor de f en xi:
f [xi] = f (xi).
(3.7)

Las diferencias divididas restantes se definen de manera recursiva; la primera diferencia dividida de f respecto a xi y

xi+1 se denota f [xi, xi+1] y se define como


f [xi, xi+1] = f [xi+1] xi+1 − f − xi [xi]
.
(3.8)

La segunda diferencia dividida, f [xi,xi+1,xi+2], se define como

f [xi, xi+1, xi+2] = f [xi+1, xi+2] xi+2 − − xf i [xi, xi+1]


.
De igual forma, después de que las (k 21) -ésimas diferencias divididas,

f [xi, xi+1, xi+2,... , xi+k−1] y f [xi+1,xi+2,... ,xi+k−1,xi+k],

se han determinado, la k-ésima diferencia dividida relativa a xi,xi+1,xi+2,... ,xi+k es

f [xi,xi+1,... ,xi+k−1,xi+k]= f [xi+1,xi+2,... ,xi+k]− f [xxi+k − xi (3.9)

i,xi+1,...
,xi+k−1]
.
El proceso termina con la única enésima diferencia dividida,

f [x0, x1,..., xn] = f [x1,x2,...,xn] − f [xxn − x0 0, x1,..., xn−1]


.

Debido a la ecuación presar como a0 = (3.6), f (x0) podemos escribir a1 = f [x0, x1], justo cuando a0 se puede ex- = f

[x0]. Por lo tanto, el polinomio de interpolación en la ecuación (3.5) es


Pn(x) = f [x0] + f [x0,x1](x − x0) + a2(x − x0)(x − x1)

+···+ an(x − x0)(x − x1)··· (x − xn−1).


Como se puede esperar a partir de la evaluación de a0 y a1, las constantes requeridas son

para cada k 5 0, 1, , n. Por lo que Pn(x), se puede reescribir en una forma llamada dife- rencias divididas de Newton:

El valor de f [x0, x1, , xk] es independiente del orden de los números x0, x1, , xk, como se muestra en el ejercicio 23.
La generación de las diferencias divididas se describe en la tabla 3.9. A partir de estos datos, también se pueden
determinar dos cuartas y una quinta diferencia.
Tabla 3.9
Terceras Segundas Primeras x f (x) diferencias divididas diferencias divididas diferencias divididas

x0 f [x0]

f [x0, x1] = f [x1] − f [x0]


f [x
x1 − x0 x1 f [x1] f [x0, x1, x2] = 1, x2] − f [x0, x1]
x2 − x0 f [x1, x2] = f [x2] − f [x1]

x2 − x1 f [x0, x1, x2, x3] = f [x1, x2, x3] − f [x0, x1, x2]

x3 − x0 x2 f [x2] f [x1, x2, x3] = f [x2, x3] − f [x1, x2]

x3 − x1 f [x2, x3] = f [x3] − f [x2]

x3 − x2 f [x1, x2, x3, x4] = f [x2, x3, x4] − f [x1, x2, x3]

x4 − x1 x3 f [x3] f [x2, x3, x4] = f [x3, x4] − f [x2, x3]


f [x
x4 − x2 f [x3, x4] = 4] − f [x3]
f [x
x4 − x3 f [x2, x3, x4, x5] = 3, x4, x5] − f [x2, x3, x4]
x5 − x2 x4 f [x4] f [x3, x4, x5] = f [x4, x5] − f [x3, x4]

x5 − x3 f [x4, x5] = f [x5] − f [x4] x5 − x4 x5 f [x5]


Fórmula ALGORITMO
de las diferencias divididas de Newton 3.2
Para obtener los coeficientes de las diferencias divididas del polinomio de interpolación P en los (n 1 1) números

distintos x0, x1, , xn para la función f:

ENTRADA los números x0, x1,... , xn; valoresf (x0), f (x1),... , f (xn) conforme

F0,0, F1,0,... , Fn,0. SALIDA los números F0,0, F1,1,... , Fn,n donde

n Pn(x) = F0,0 +
i=1
La forma de la salida en el algoritmo 3.2 se puede modificar para producir todas las diferencias divididas, como se
muestra en el ejemplo 1.
i−1
(x − x
j). (Fi,i is f [x0,x1,... , xi].) j=0Paso 1 Para i = 1,2,... ,n
Para j = 1,2,... ,i

haga Fi,j = Fi, j−1 − Fi−1,j−1

xi − xi−j . (Fi,j = f [xi− j,... ,xi].) Paso 2 SALIDA (F0,0, F1,1,... , Fn,n);
PARE.
Fi,i
3.3 Diferencias divididas 93

ak = f [x0,x1, x2,... , xk],

n Pn(x) = f [x0] +
(3.10)
k=1

f [x0, x1,... , xk](x − x0)···(x − xk−1).


94 CAPÍTULO 3 Interpolación y aproximación polinomial
Ejemplo 1 Complete la tabla de diferencias divididas para los datos utilizados en el ejemplo 1 de la

Tabla 3.10
sección 3.2 y reproducidos en la tabla 3.10, y construya el polinomio de interpolación que usa todos estos datos. x f (x)
1.0 0.7651977

Solución La primera diferencia dividida relacionada con x0 y x1 es


1.3 0.6200860 1.6 0.4554022 1.9 0.2818186

f [x0, x1] = f [x1] − f [x0] x1 − x0 2.2 0.1103623Tabla 3.11 i xi f [xi] f [xi−1, xi] f [xi−2, xi−1, xi] f [xi−3,... , xi] f [xi−4,... , xi]
0 1.0 0.7651977
−0.4837057 1 1.3 0.6200860 −0.1087339
− 0649845.0 4878560.0 2 1.6 0.4554022 − 3344940.0
1528100.0 − 0216875.0 5860860.0 3 1.9 0.2818186 0.0118183
−0.5715210 4 2.2 0.1103623
0.6200860 − 0.7651977
= 1.3 −
= −0.4837057.
1.0
Las restantes primeras diferencias divididas se calculan de la misma forma y se muestran en la cuarta columna en la
tabla 3.11

La segunda diferencia divida relacionada con x0, x1 y x2 es

f [x0, x1, x2] = f [x1, x2] − f [x0,x1]


−0.5489460 − (−0.4837057)
x2 − x0 = 1.6 −
= −0.1087339.
1.0

f [x0, x1, x2,x3] = f [x1, x2, x3] − f [x0, x1,x2] x3 − x0 Las restantes segundas diferencias divididas se muestran en la

quinta columna de la tabla 3.11. La tercera diferencia dividida relacionada con x0, x1, x2 y x3 y la cuarta diferencia

divi- dida relacionada con todos los puntos de datos son, respectivamente,
−0.0494433 − (−0.1087339)
= 1.9 −
1.0
= 0.0658784,
y

f [x0, x1, x2,x3, x4] = f [x1, x2,x3, x4] − f [x0,x1, x2, x3]
0.0680685 − 0.0658784
x4 − x0 = 2.2 −
1.0
= 0.0018251.
Todas las entradas se dan en la tabla 3.11.
Los coeficientes de la forma de diferencias divididas hacia adelante de Newton del po- linomio interpolante se
encuentran a lo largo de la diagonal en la tabla. Este polinomio es

P4(x) = 0.7651977 − 0.4837057(x − 1.0) − 0.1087339(x − 1.0)(x − 1.3)


+ 0.0658784(x − 1.0)(x − 1.3)(x − 1.6)
+ 0.0018251(x − 1.0)(x − 1.3)(x − 1.6)(x − 1.9).

Observe que el valor P4(1.5) 5 0.5118200 concuerda con el resultado en la tabla 3.6 para el ejemplo 2 de la sección
3.2, ya que los polinomios son los mismos.
3.3 Diferencias divididas 95
El teorema de valor medio 1.8 aplicado a la ecuación (3.8) cuando i 5 0,

Teorema 3.6 Suponga que f ∈ Cn[a,b]y x0, x1,... ,xn son números distintos en [a, b]. Entonces existe
un número ξ en (a, b) con
Demostración Sea

g(x) = f (x) − Pn(x).

Puesto que f (xi) = Pn(xi) para cadai = 0,1,... ,n, la función g tiene n + 1 ceros distin- tos en [a, b]. El teorema
generalizado de Rolle 1.10 implica que existe un número ξ en (a, b) con g(n)(ξ) = 0, por lo que
(ξ).
0 = f (n)(ξ) − Pn (n)

Puesto quePn(x) es un polinomio de grado n cuyo coeficiente principal es f [x0,x1,... ,xn],


(x) = n! f [x
Pn (n) 0,x1,...
, xn],
para todos los valores de x. En consecuencia,

f [x0, x1,... , xn] = f (n)n! (ξ)


.

Pn(x) = Pn(x0 + sh) = f [x0] + shf [x0, x1] + s(s − 1)h2 f [x0,x1, x2] +···+ s(s − 1)···(s − n + 1)hn f [x0,x1,... , xn]

= f [x0] +

f [x0, x1] = f (x1) − f (x0)

x1 − x0 ,

implica que cuando existe f , f [x0, x1] = f (ξ) para algún número ξ entre x0 y x1. El siguiente teorema generaliza este
resultado.

f [x0, x1,... , xn] = f (n)n! (ξ)


.

La fórmula de las diferencias divididas de Newton se puede expresar en forma simplifi- cada cuando los nodos se

ordenan de manera consecutiva con igual espaciado. En este caso, introducimos la notación h = xi+1 −xi, para cada i =

0,1,... ,n−1 y sea x = x0 +sh. Entonces la diferencia x 2 xi es x 2 xi 5 (s 2 i)h. Por lo que la ecuación (3.10) se
convierte en
n

s(s − 1) ··· (s − k + 1)hk f [x0, x1,... , xk]. k=1


Usando la notación de coeficiente binomial,
s(s − 1)···(s − k + 1)
sk = k!
,

podemos expresar Pn(x) de manera compacta como

n Pn(x) = Pn(x0 + sh) = f [x0] +


(3.11) k=1

sk k!hk f [x0, xi,... , xk].


96 CAPÍTULO 3 Interpolación y aproximación polinomial
Diferencias hacia adelante
La fórmula de diferencias hacia adelante de Newton se construye al usar la notación de diferencias hacia adelante
que se presentó en el método 2 de Aitken. Con esta notación,

f [x0, x1] = f (x1) − f (x0) x1 − x0 Fórmula de diferencias hacia adelante de Newton

Pn(x) = f (x0) +
1( f (x
Definición 3.7 Dada la sucesión {pn}∞n=0, defina la diferencia hacia atrás ∇ pn (lea nabla pn) con = h 1) − f

(x0)) = 1h f (x0) f [x0, x1, x2] = 12h

f (x1) − h f (x0)
=1 2
2h

2f (x0),
y, en general,

f [x0, x1,... , xk] = 1


k!hk

kf (x0).
Puesto que f [x0] = f (x0), la ecuación (3.11) tiene la siguiente forma.
n
(3.12)
k=1

sk

kf (x0)
Diferencias hacia atrás
Si los nodos de interpolación se reordenan desde el último hasta el primero como xn, xn−1,... , x0 podemos escribir la

fórmula de interpolación como


Pn(x) = f [xn] + f [xn,xn−1](x − xn) + f [xn, xn−1, xn−2](x − xn)(x − xn−1)

+···+ f [xn,... , x0](x − xn)(x − xn−1) ··· (x − x1).

Si, además, los nodos tienen el mismo espaciado con x = xn +sh y x = xi +(s+n−i)h, entonces

Pn(x) = Pn(xn + sh)

= f [xn] + shf [xn, xn−1] + s(s + 1)h2 f [xn, xn−1, xn−2] +···

+ s(s + 1)···(s + n − 1)hn f [xn,... , x0].


Esto se usa para deducir una fórmula comúnmente aplicada conocida como fórmula de diferencias hacia atrás de
Newton. Para analizar esta fórmula, necesitamos la siguiente definición.

∇ pn = pn − pn−1, para n ≥ 1.
Las potencias superiores se definen de manera recursiva con

∇k pn = ∇(∇k−1pn), para k ≥ 2.
La definición 3.7 implica que

f [xn, xn−1] = h1∇ f (xn), f [xn, xn−1, xn−2] = 2h12 2 f (xn), y, en general,

f [xn,xn−1,... ,xn−k] = k!h1


k ∇k
f (xn).
3.3 Diferencias divididas 97
Por consiguiente,

Pn(x) = f [xn] + s∇ f (xn) + s(s 2 +1)


∇2
f (xn) +···+ s(s + 1)···(s n! + n −1)
∇n
f (xn).
Si extendemos la notación del coeficiente binomial para incluir todos los valores reales de s al tomar
−s(−s − 1)···(−s − k + 1)
−sk = k!
= (−1)k s(s + 1) ··· (s + k − 1)
k!
,

entonces
−s ∇ f (x 2 −s ∇2 −s ∇
Pn(x) = f [xn]+(−1)1 1 n)+(−1) 2 f (xn)+···+(−1)n n nf (xn).
Esto nos da el siguiente resultado.
Fórmula de diferencias hacia adelante de Newton
n Pn(x)= f [xn] +
(−1)k −s ∇k
k=1 k f (xn)
(3.13)
Ilustración La tabla 3.12 de diferencias divididas corresponde a los datos en el ejemplo 1.
Tabla 3.12 Primeras
Segundas diferencias
diferencias divididas
divididas
Solamente un polinomio de interpolación de grado, a lo sumo, cuatro, usa estos cinco puntos de datos, pero nosotros
organizaremos los nodos para obtener mejores aproximaciones de interpolación de grados uno, dos y tres. Esto nos
dará un sentido de precisión para la aproxi- mación de cuarto grado para el valor dado de x. Si se requiere una

aproximación para f(1.1), la opción razonable para los nodos sería x0 5 los 1.0, puntos x1 5 de 1.3, datos x2 más 5 1.6,

cercanos x3 5 1.9 y x4 5 2.2, puesto que esta opción usa lo antes posible a x 5 1.1 y también usa la cuarta diferencia
1 , por lo que la fórmula de diferencias dividas hacia adelante de
dividida. Esto implica que h 5 0.3 y s 5 3 Newton se
utiliza con las diferencias divididas que tienen un subrayado sólido (___) en la tabla 3.12:

P4(1.1) = P4(1.0 + 13(0.3))


1 (0.3)(−0.4837057) + 1 −2 (0.3)2
= 0.7651977 + 3 3 3 (−0.1087339)
1 −2 −5 (0.3)3
+ 3 3 3 (0.0658784)
Terceras diferencias divididas
Cuartas diferencias divididas
1.0 0.7651977
−0.4837057 1.3 0.6200860 −0.1087339
−0. 0649845 0 .0658784 1.6 0.4554022 −0.0494433 0.0018251
−0.5786120 0.0680685 1.9 0.2818186 0.0118183
−0.5715210 2.2 0.1103623
98 CAPÍTULO 3 Interpolación y aproximación polinomial
Tabla 3.13
x f (x)
x−2 f [x−2]

f [x−2, x−1] x−1 f [x−1] f [x−2, x−1, x0]

f [x−1, x0] f [x−2, x−1, x0, x1] x0 f [x0] f [x−1, x0, x1] f [x−2, x−1, x0, x1, x2]

f [x0, x1] f [x−1, x0, x1, x2] x1 f [x1] f [x0, x1, x2] f [x1, x2] x2 f [x2]
1 −2 −5 −8 (0.3)4
+ 3 3 3 3 (0.0018251)
= 0.7196460.
Para aproximar un valor cuando x está cerca del final de los valores tabulados, digamos, x 5 2.0, de nuevo nos
gustaría usar lo antes posible los puntos de datos diferencias divididas en la tabla 3.12 que tienen un subrayado
y las
ondulado ( con ). s Observe = − 23 que
la cuarta diferencia dividida se usa en ambas fórmulas:

P4(2.0) = P4 2.2 − 23(0.3)


2 (0.3)(−0.5715210) − 2
= 0.1103623 − 3 3

13 (0.3)2(0.0118183)
2
− 3

13
2
43 (0.3)3(0.0680685) − 3
Diferencias centradas
Las fórmulas de diferencias hacia adelante y hacia atrás de Newton no son adecuadas para aproximar f(x) cuando x se

encuentra cerca del centro de la tabla porque ninguna permitirá que la diferencia de orden superior tenga x0 cerca de

x. Existen varias fórmulas de diferen- cias divididas para este caso, cada una de las cuales incluye situaciones en las
que se pueden usar para una máxima ventaja. Estos métodos reciben el nombre de fórmulas de diferencias
centradas. Nosotros sólo consideraremos una fórmula de diferencias centradas, el método de Stirling.

Para las fórmulas de diferencias centradas seleccionamos x0 cerca del punto que se va a aproximar y etiquetamos los

nodos directamente bajo x0 como x1, x2, y aquellos directa- mente arriba como x21, x22, ... Con esta convención la

fórmula de Stirling está dada por


si n 5 2m 1 1 es impar. Si n 5 2m es par, usamos la misma fórmula pero borramos la última línea. Las entradas
utilizadas para esta fórmula están subrayadas en la tabla 3.13.

13

43

73 (0.3)4(0.0018251)
= 0.2238754.

Pn(x) = P2m+1(x) = f [x0] + sh2 ( f [x−1, x0] + f [x0, x1]) + s2h2 f [x−1, x0,x1]
(3.14)
s(s
+ 2 − 2 1)h3
f [x
−2,x−1,x0, x1] + f [x−1, x0,x1,x2])
James Stirling (1692–1770) publicó ésta y muchas otras fórmulas en Methodus

+···+ s2(s2 − 1)(s2 − 4) ··· (s2 − (m − 1)2)h2m f [x−m,... , xm]


s(s2
+ − 1)···(s2 2 − m2)h2m+1
( f [x
−m−1,... , xm] + f [x−m,... , xm+1]), Differentialis en 1720. En este trabajo se incluyen las técnicas para acelerar la convergencia de
diferentes series.
Primeras diferencias divididas
Segundas diferencias divididas
Terceras diferencias divididas
Cuartas diferencias divididas
3.4 Interpolación de Hermite
Cuando la palabra latina osculum, literalmente “boca pequeña” o “beso”, se aplica a una curva, indica que sólo la toca y tiene la misma forma. La
interpolación de Hermite tiene esta propiedad osculante. Corresponde a una curva dada y su derivada obliga a que la curva de interpolación “bese”
a la curva dada
3.4 Interpolación de Hermite 99
Ejemplo 2 Considere la tabla de datos dada en los ejemplos anteriores. Use la fórmula de Stirling para

aproximar f(1.5) con x0 5 1.6.


Solución Para aplicar la fórmula de Stirling, usamos las entradas subrayadas en la tabla de diferencias 3.14.
Tabla 3.14
x f (x)
1.0 0.7651977
−0.4837057 1.3 0.6200860 −0.1087339
−0.5489460 0.0658784 1.6 0.4554022 −0.0494433 0.0018251
−0.5786120 0.0680685 9.1
6818182.0 3818110.0 −0.5715210 2.2 0.1103623
Primeras diferencias divididas
Segundas diferencias divididas
Terceras diferencias divididas
Cuartas diferencias divididas

La fórmula con, h = 0.3, x0 = 1.6 y s = − 13, se convierte en

f (1.5) ≈ P4 1.6 + −13 (0.3)


1
= 0.4554022 + − 3

0.32 ((−0.5489460) + (−0.5786120))


1
+− 3
2

(0.3)2(−0.0494433)
1 −1 −1
+ 2 3 3
2

− 1 (0.3)3(0.0658784 + 0.0680685)
1
+− 3
2
1
− 3
2

− 1 (0.3)4(0.0018251) = 0.5118200.
Muchos textos sobre análisis numérico, escritos antes del uso generalizado de las compu- tadoras, incluyen amplios
tratamientos de los métodos de diferencias divididas. Si se necesita un tratamiento más exhaustivo de este tema, el
libro de Hildebrand [Hild] es una referencia especialmente buena.
La sección Conjunto de ejercicios 3.3 está disponible en línea. Encuentre la ruta de acceso en las páginas
preliminares.
Los polinomios osculantes generalizan tanto los polinomios de Taylor como los polinomios de Lagrange. Suponga

que tenemos n + 1 números distintos x0, x1, , xn en [a, b] y enteros no negativos m0,m1,... ,mn, y m = máx{m0,m1,...
m
,mn}. El polinomio osculante que aproxima una función f ∈ C [a,b] en xi, para cada i 5 0, , n, es el polinomio de

grado mínimo que tiene los mismos valores que la función f y todas sus derivadas de orden menor que o igual que mi

en cada xi. El grado de este polinomio osculante es el máximo


M=
n
i=0

mi + n
100 CAPÍTULO 3 Interpolación y aproximación polinomial
Ya que el número de condiciones que se satisfacen es de grado M tiene M 1 1 coeficientes que se pueden usar
Definición 3.8 Sean x
0, x1, , xn n 1 1 números entero no negativo. Suponga que distintos en [a, b] y para cada i 5 0,
m
1, f ∈ C [a,b], donde m = máx0≤i≤n mi.

, n, sea mi un
Charles Hermite (1822– 1901) realizó importantes
El polinomio osculante que se aproxima a f es el polinomio P(x) de menor grado, tal que
descubrimientos matemáticos a lo largo de su vida en áreas como el análisis complejo y la teoría numérica, especialmente en relación con la teoría
de las ecuaciones. Es, tal vez, mejor conocido por probar, en 1873, que e es trascendental; es decir, no es la solución para cualquier ecuación
algebraica que tenga coeficientes enteros. Esto condujo, en 1882, a la prueba de Lindemann que establece que › también es trascendental, lo cual
demostró que es imposible utilizar las herramientas de la geometría estándar de Euclides para construir un cuadrado que tenga la misma área que

un círculo unitario.Teorema 3.9 Si f ∈ C1[a,b] y x0,... , xn ∈ [a,b] son distintos, el único polinomio de menor grado

que concuerda con f y f9 en x0, , xn es el polinomio de Hermite de grado a lo sumo 2n 1 1 dado por
En 1878, Hermite dio una descripción de un polinomio osculante general en una carta para Carl W. Borchardt, a quien regularmente enviaba sus
resultados nuevos. Su demostración es una aplicación interesante del uso de técnicas complejas de integración para resolver un problema de valor
real.
Demostración Primero, recuerde que
n m
para i=0 i satisfacer + (n + 1) y un polinomio
estas condiciones.

dkP(xi)
= dk
dxk f (xdxk i)
, para cada i = 0,1,... ,n y k = 0,1,... ,m
i.

Observe que cuando n 5 0, el polinomio osculante polinomio de Taylor para f en x0. Cuando mi 5 0 para que se cada i,

aproxima a el polinomio f es el osculante m0-ésimo es el enésimo polinomio de Lagrange que interpola f en x0, x1, , xn.
Polinomios de Hermite
Cuando mi 5 1, para cada i 5 0, 1, , n, nos da los polinomios de Hermite. Para una fun- ción f determinada, estos

polinomios concuerdan con f en x0, x1, sus primeras derivadas concuerdan con las de f, tienen la misma , “forma” xn.

Además, que puesto que la función en (xi, f(xi)), en el sentido en el que las rectas tangentes al polinomio y la función

concuerdan. Nosotros limitaremos nuestro estudio de los polinomios osculantes a esta situación y prime- ro
consideraremos un teorema que describe de manera precisa la forma de los polinomios de Hermite.

n H2n+1(x) =
j=0

nf (x j)Hn,j(x) +

f (x j) Hˆn, j(x), j=0

Donde cada Ln, j(x) denota el j ésimo coeficiente del polinomio de Lagrange de grado n, y
ˆ
Hn,j(x) = [1 − 2(x − x j)Ln,j(x j)]L2n,j(x) y H n,j(x) = (x − x j)L2n,j(x).
Además, si f ∈ C2n+2[a,b], entonces
f (x) = H2n+1(x) + (x − x0)(2n 2 ...(x + 2)! − xn)2
f (2n+2)
(ξ(x)),
para algunos (en general desconocidos) ξ(x) en el intervalo (a, b).

Ln,j(xi) = 0, si i = j, 1, si i = j.
Por lo tanto, cuando i = j,

Hn,j(xi) = 0 y Hˆn,j(xi) = 0,
Mientras que, para cada i,

Hn,i(xi) = [1 − 2(xi − xi)Ln,i(xi)] · 1 = 1 y Hˆn,i(xi) = (xi − xi) · 12 = 0.


3.4 Interpolación de Hermite 101
Por consiguiente,

n H2n+1(xi) =
j=0 j=i

Ejemplo 1 Use el polinomio de Hermite que concuerda con los datos listados en la tabla 3.5 para encon-
trar una aproximación de f(1.5).
Tabla 3.15 k xk f (xk) f (xk)
0 1.3 0.6200860 −0.5220232 1 1.6 0.4554022 −0.5698959 2 1.9 0.2818186 −0.5811571

nf (x j) · 0 + f (xi) · 1 +

f (x j) · 0 = f (xi), j=0

de modo que H2n+1 concuerda con f en x0, x1,... , xn.

Para mostrar es un factor de mos Ln,i(xi) = la concordancia H1, n,jpor (x), lo por que

lo que de HHn, 2n+1 j(xi) con = f en los nodos, 0 cuando i = primero observe que Ln,j(x) j Además, cuando i 5 j, tene-

Hn,i(xi) = −2Ln,i(xi) · L2n,i(xi) + [1 − 2(xi − xi)Ln,i(xi)]2Ln,i(xi)Ln,i(xi)

= −2Ln,i(xi) + 2Ln,i(xi) = 0.
Por lo tanto, Finalmente,

Hn, j(xi) = 0 para todas las i y j.

Hˆn,j(xi) = L2n,j(xi) + (xi − x j)2Ln,j(xi)Ln,j(xi)


= Ln,j(xi)[Ln,j(xi) + 2(xi − x j)Ln,j(xi)],
ˆ
por lo que H n, j(xi) = 0 si i = j y Hˆn,i(xi) = 1. Al combinar estos hechos, tenemos

n H2n+1(xi) =
j=0

nf (x j) · 0 +

f (x j) · 0 + f (xi) · 1 = f (xi). j=0 j=i

Por lo tanto, H2n+1 concuerda con f y H2n+1 con f en x0, x1,... , xn.
La unicidad de este polinomio y la deducción de la fórmula del error se consideran en el ejercicio 11.
Solución Primero calculamos los polinomios de Lagrange y sus derivadas. Esto nos da

L2,0(x) = (x − x1)(x − x2)


50 x2 175 x + 152 , L (x) = 100 x − 175 ;
(x0 − x1)(x0 − x2) = 9 − 9 9 2,0 9 9 L2,1(x) = (x − x0)(x − x2)
−100
(x1 − x0)(x1 − x2) =
x2 320 x − 247 , L (x) = −200
9 + 9 9 2,1
x + 320 ;
9 9
y

L2,2 = (x − x0)(x − x1)


50 x2 145 x + 104 , L (x) = 100 x − 145 .
(x2 − x0)(x2 − x1) = 9 − 9 9 2,2 9 9
102 CAPÍTULO 3 Interpolación y aproximación polinomial

Los polinomios H2, j(x) y Hˆ2,j(x) son entonces


175 x + 152
H2,0(x) = [1 − 2(x − 1.3)(−5)] 509 x2 − 9 9
un resultado que es apropiado para los lugares enumerados.
A pesar de que el teorema 3.9 proporciona una descripción completa de los polinomios de Hermite, a partir del
ejemplo 1 es claro que la necesidad de determinar y evaluar los poli- nomios de Lagrange y sus derivadas hace que el

procedimientos sea tedioso para los valores pequeños de n.Pn(x) = f [x0] +


2
50 x2 175 x + 152
= (10x − 12) 9 − 9 9
2
,

H2,1(x) = 1 · −100
x2 320 x − 247
9 + 9 9
2
,
145 x + 104
H2,2(x) = 10(2 − x) 509 x2 − 9 9
2
,
2 175 x + 152
Hˆ2,0(x) = (x − 1.3) 509 x − 9 9
2
,

Hˆ2,1(x) = (x − 1.6) −100


x 320 x − 247
9 2+ 9 9
2
,
y
2 145 x + 104
Hˆ2,2(x) = (x − 1.9) 509 x − 9 9
2
.
Finalmente,

H5(x) = 0.6200860H2,0(x) + 0.4554022H2,1(x) + 0.2818186H2,2(x)


ˆ
− 0.5220232 H 2,0(x) − 0.5698959 Hˆ2,1(x) − 0.5811571 Hˆ2,2(x)
64 + 0.2818186 5
yH5(1.5) = 0.6200860 427 + 0.4554022 81 81
4 − 0.5698959 −32
− 0.5220232 405
− 0.5811571 −2
405
= 0.5118277,
405
Polinomios de Hermite usando diferencias divididas
Existe un método alterno para generar aproximaciones de Hermite que tiene sus bases en la fórmula de diferencias

divididas de interpolación de Newton (3.10) en x0, x1, , xn; esto es,


n

f [x0,x1,... , xk](x − x0) ··· (x − xk−1). k=1


El método alterno utiliza la conexión entre la enésima diferencia dividida y la enésima deri- vada de f, como se
describe en el teorema 3.6 en la sección 3.3.

Suponga que los diferentes números x0, x1, , xn están dados junto con los valores de f y f9 en estos números. Defina

una nueva sucesión z0, z1, ..., z2n11 mediante

z2i = z2i+1 = xi, para cada i = 0,1,... ,n,


3.4 Interpolación de Hermite 103

y construya la tabla de diferencias divididas en la forma de la tabla 3.9 que usa z0, z1, ..., z2n11. Puesto que z2i = z2i+1 =

xi para cada i, no podemos definir f [z2i,z2i+1] con la fórmu- la de diferencias divididas. Sin embargo, si suponemos,
con base en el teorema 3.6, que la sustitución razonable en estas situaciones es f [z2i,z2i+1] = f (z2i) = f (xi), podemos

usar las entradas


f (x0), f (x1),... , f (xn)
en lugar de las primeras diferencias divididas no definidas

f [z0,z1], f [z2,z3],... , f [z2n,z2n+1].


Las diferencias divididas restantes se producen de la manera común y las diferencias dividi- das adecuadas se usan en
la fórmula de diferencias divididas de interpolación de Newton. La tabla 3.16 muestra las entradas que se utilizan

para las primeras tres columnas de diferencias divididas al determinar el polinomio de Hermite H5(x) para x0, x1 y x2.

Las entradas restantes se generan de la manera que se muestra en la tabla 3.9. El polinomio de Hermite está dado por
2n+1 H2n+1(x) = f [z0] +
k=1

Tabla 3.16 Primeras diferencias


divididas
f [z0,... ,zk](x − z0)(x − z1)··· (x − zk−1).
Una prueba de este hecho puede encontrarse en [Pow], p. 56
Segundas diferencias z f (z) divididas z0 = x0 f [z0] = f (x0)

f [z0, z1] = f (x0) z1 = x0 f [z1] = f (x0) f [z1, z2] = f [z2] − f [z1]

z2 − z1 z2 = x1 f [z2] = f (x1) f [z2, z3] = f (x1) z3 = x1 f [z3] = f (x1) f [z3, z4] = f [z4] − f [z3]

z4 − z3 z4 = x2 f [z4] = f (x2) f [z4, z5] = f (x2)

f [z0, z1, z2] = f [z1, z2] − f [z0, z1]


z2 − z0

f [z1, z2, z3] = f [z2, z3] − f [z1, z2] z3 − z1 f [z2, z3, z4] = f [z3, z4] − f [z2, z3]
z4 − z2

f [z3, z4, z5] = f [z4, z5] − f [z3, z4] z5 − z3 z5 = x2 f [z5] = f (x2)


Ejemplo 2 Use los datos que se proporcionan en el ejemplo 1 y el método de diferencias divididas para
determinar la aproximación polinomial de Hermite en x 5 1.5.
Solución Las entradas subrayadas en las primeras tres columnas de la tabla 3.17 son los datos que se proporcionaron
en el ejemplo 1. Las entradas restantes en esta tabla se generan con la fórmula de diferencias divididas estándar (3.9).
Por ejemplo, para la segunda entrada en la tercera columna usamos la segunda entrada 1.3 en la segunda columna y la
primera entrada 1.6 en esa columna para obtener
0.4554022 − 0.6200860
= −0.5489460.
1.6 − 1.3
104 CAPÍTULO 3 Interpolación y aproximación polinomial
Tabla 3.17 1.3 0.6200860
−0.5220232 1.3 0.6200860 −0.0897427
−0.5489460 0.0663657 1.6 0.4554022 −0.0698330 0.0026663
−0.5698959 0.0679655 −0.0027738 1.6 0.4554022 −0.0290537 0.0010020
−0.5786120 0.0685667 1.9 0.2818186 −0.0084837
−0.5811571 1.9 0.2818186
ALGORITMO 3.3
Para la primera entrada en la cuarta columna, usamos la primera entrada 1.3 en la tercera columna y la primera
entrada 1.6 en esa columna para obtener
−0.5489460 − (−0.5220232)
= −0.0897427.
1.6 − 1.3
El valor del polinomio de Hermite en 1.5 es

H5(1.5) = f [1.3] + f (1.3)(1.5 − 1.3) + f [1.3,1.3,1.6](1.5 − 1.3)2


+ f [1.3,1.3,1.6,1.6](1.5 − 1.3)2(1.5 − 1.6)
+ f [1.3,1.3,1.6,1.6,1.9](1.5 − 1.3)2(1.5 − 1.6)2
+ f [1.3,1.3,1.6,1.6,1.9,1.9](1.5 − 1.3)2(1.5 − 1.6)2(1.5 − 1.9)
= 0.6200860 + (−0.5220232)(0.2) + (−0.0897427)(0.2)2
+ 0.0663657(0.2)2(−0.1) + 0.0026663(0.2)2(−0.1)2
+ (−0.0027738)(0.2)2(−0.1)2(−0.4)
= 0.5118277.
La técnica que se usa en el algoritmo 3.3 se puede ampliar para su uso en la determina- ción de otros polinomios
osculantes. Es posible encontrar un análisis conciso de los proce- dimientos en [Pow], pp. 53257.
Interpolación de Hermite
Para obtener los coeficientes del polinomio de interpolación de Hermite H(x) en los (n 1 1) números distintos x0, , xn

para la función f :
ENTRADA números x0,x1,... , xn; valores f (x0),... , f (xn) y f (x0), ..., f (xn).

SALIDA los números Q0,0, Q1,1,... , Q2n+1,2n+1 donde

H(x) = Q0,0 + Q1,1(x − x0) + Q2,2(x − x0)2 + Q3,3(x − x0)2(x − x1)

+ Q4,4(x − x0)2(x − x1)2 +··· + Q2n+1,2n+1(x − x0)2(x − x1)2 ···(x − xn−1)2(x − xn).
Paso 1 Para i = 0,1,... ,n haga los pasos 2 y 3.

Paso 2 Haga z2i = xi;

z2i+1 = xi; Q2i,0 = f (xi); Q2i+1,0 = f (xi); Q2i+1,1 = f (xi).

3.5 Interpolación de spline cúbico1


Las secciones previas se preocuparon por la aproximación de las funciones arbitrarias en intervalos cerrados usando
un polinomio individual. Sin embargo, los polinomios de orden superior pueden oscilar erráticamente; es decir, una
fluctuación menor sobre una pequexa parte del intervalo puede inducir fluctuaciones grandes sobre todo el rango.
Observaremos un buen ejemplo de esto en la figura 3.14 al final de esta sección.
Un enfoque alternativo es dividir el intervalo de aproximación en un conjunto de subin- tervalos y construir (en
general) un polinomio de aproximación diferente en cada subinter- valo. Esto se llama aproximación polinomial por
tramos.
Aproximación de polinomio por tramos
La aproximación polinomial por tramos más simple es la interpolación lineal por tramos, la cual consiste en unir un
conjunto de puntos de datos

{(x0, f (x0)), (x1, f (x1)),... ,(xn, f (xn))}


mediante una serie de lineas rectas, como se muestra en la figura 3.7.
Figura 3.7
y
y 5 f(x)
x0 x1 x2 . . . xj xj11 xj12 . . .
xn21 xn x
Una desventaja de la aproximación mediante funciones lineales es que probablemen- te no existe diferenciabilidad en
los extremos de los subintervalos, lo que, en un contexto
Las pruebas de los teoremas en esta sección dependen de los resultados en el capítulo 6.
1

Paso 3 Si i = 0 entonces haga

Q2i,1 = Q2i,0 − Q2i−1,0

z2i − z2i−1 . Paso 4 Para i = 2,3,... ,2n + 1

para j = 2,3,... ,i haga Qi, j = Qi,j−1 − Qi−1, j−1


zi − zi−j . Paso 5 SALIDA (Q0,0, Q1,1,... , Q2n+1,2n+1);
PARE.
3.5 Interpolación de spline cúbico 105
106 CAPÍTULO 3 Interpolación y aproximación polinomial
geométrico, significa que la función de interpolación no es ́suaveμ. A menudo es claro, a partir de las condiciones
físicas, que se requiere suavidad, por lo que la función de aproxi- mación debe ser continuamente diferenciable.
Un procedimiento alterno es usar un polinomio por tramos de tipo Hermite. Por ejemplo, si se conocen los valores de

f y de f 9 en cada uno de los puntos x0 , x1 , , xn, se puede usar un polinomio cúbico de Hermite en cada uno de los

subintervalos [x0, x1], [x1, x2],... ,[xn−1,xn] para obtener una función que tiene una derivada continua en un intervalo
[x0, xn].
Determinar el polinomio cúbico de Hermite adecuado en un intervalo dado es simple- mente cuestión de calcular

H3(x) para ese intervalo. Los polinomios de interpolación de Lagrange necesarios para determinar H3, son de primer

grado, por lo que esto se puede lograr sin mayor dificultad. Sin embargo, para usar los polinomios por tramos de
Hermite para la
Isaac Jacob Schoenberg (1903–
interpolación general, necesitamos conocer la derivada de la función que se va a aproximar 1990) desarrolló su trabajo
y esto con frecuencia no está disponible. sobre splines durante la Segunda Guerra Mundial mientras estaba de licencia en la Universidad
de Pennsylvania para trabajar en
El resto de esta sección considera que la aproximación usa polinomios por tramos que no requieren información
especifica sobre la derivada excepto, tal vez, en los extremos del intervalo en el que la función se aproxima. el ArmyΓs
Ballistic Research
El tipo más simple de función polinomial por tramos diferenciable en un intervalo com- Laboratory (Laboratorio de
Investigación de Balistica del Ejército) en Aberdeen, Maryland. Su trabajo original implicaba

pleto [x0, x1] es la función obtenida al ajustar un polinomio cuadrático entre cada par su- cesivo de nodos. Esto se

hace al construir una cuadrática en [x0, x1] que concuerda con la función en x0 y x1, otra cuadrática en [x1, x2] que

concuerda con la función en x1 y x2, y así procedimientos numéricos


sucesivamente. Un polinomio cuadrático general tiene tres constantes arbitrarias: el término para resolver ecuaciones
diferenciales. La aplicación mucho más amplia de los splines en las áreas de ajuste de datos
constante, el coeficiente de x y el coeficiente de x2, y sólo se requieren dos condiciones para ajustar los datos en los
extremos de cada subintervalo. Por lo tanto, existe flexibilidad que permite seleccionar las cuadráticas de tal forma
que el interpolante tenga una derivada conti- y diseño de geometría asistida por computador se volvieron evidentes con la
disponibilidad generalizada de las computadoras

nua en [x0, xn]. La dificultad surge porque generalmente necesitamos especificar condiciones sobre la derivada del

interpolante en los extremos x0 y xn. No hay un número suficiente de constantes para garantizar que las condiciones se
satisfagan (consulte el ejercicio 34).
en la década de 1960.
La raíz de la palabra “spline”
Splines cúbicos
es la misma que la de “splint”. Originalmente, era una tira pequeña de madera que se puede utilizar para unir dos tablas. Más
La aproximación polinomial por tramos más común usa polinomios cúbicos entre cada par sucesivo de nodos y recibe
el nombre de interpolación de spline cúbico. Un polinomio cúbico general implica cuatro constantes, por lo que
existe suficiente flexibilidad en el proce- adelante, la palabra se usó para dibujar curvas suaves y continuas al forzar que la tira pasara a
través de puntos especificos y siguiera a lo largo de la curva.
dimiento de spline cúbico para garantizar que el interpolante no sólo es continuamente dife- renciable en el intervalo,
sino también tiene una segunda derivada continua. Sin embargo, la construcción del spline cúbico no supone que las
derivadas del interpolante concuerdan con las de la función en su aproximación, incluso en los nodos (consulte la
figura 3.8.)
Figura 3.8
S(x)
Sn22

S1 Sj Sj11
Sn21
S0
Sj(xj11) 5 f(xj11) 5 Sj11(xj11) S9 j(xj11) 5 S9 j11(xj11) 0Sj(xj11) 5 Sj110 (xj11) x0 x1 x2 . . . xj xj11 xj12 . . .
xn22
xn21 xn x
3.5 Interpolación de spline cúbico 107

Definición 3.10 Dada una función f definida en [a, b] y un conjunto de nodos a = x0 < x1 < ··· < xn = b,
un interpolante de spline cúbico S para f es una función que satisface las siguientes condi- ciones:
Un spline natural no tiene condiciones impuestas para la

a) S(x) es un polinomio cúbico, que se denota Sj(x), en el subintervalo [x j,x j+1] para
cada j = 0 ,1,... ,n − 1;
dirección en sus extremos, por lo que la curva toma la forma de una línea recta después de pasar

b) c) Sj(x j) = f (x j) y Sj(x j+1) = f (x j+1) para cada j = 0,1,... ,n − 1;

Sj+1(x j+1) = Sj(x j+1) para cada j = 0,1,... ,n − 2; (implícito en b).) por los puntos de interpolación más cercanos a sus extremos.

d) Sj+1(x j+1) = Sj(x j+1) para cada j = 0,1,... ,n − 2; El nombre deriva del hecho de que ésta es la forma natural que

e) Sj+1(x j+1) = Sj(x j+1) para cada j = 0,1,... ,n − 2; asume una tira flexible, si es
f) Uno de los siguientes conjuntos de condiciones de frontera se satisface: forzada a pasar por los puntos de interpolación

especificos sin restricciones adicionales (consulte la figura 3.9.)i) S (x0) = S (xn) = 0 (frontera natural ) (o libre) ;

ii) S (x0) = f (x0) y S (xn) = f (xn) (frontera condicionada).


Aunque los splines cúbicos se definen con otras condiciones de frontera, las condiciones dadas en la parte f) son
suficientes para nuestros propósitos. Cuando se presentan condicio- nes de frontera libres, el spline recibe el nombre
de spline natural y su gráfica se aproxima a la forma que una varilla flexible y larga asumiria si fuera forzada a pasar

por los puntos de datos {(x0, f (x0)), (x1, f (x1)), ... ,(xn, f (xn))}.
En general, las condiciones de frontera condicionada conducen a aproximaciones más precisas porque incluyen más
información sobre la función. Sin embargo, para mantener este tipo de condición de frontera, es necesario tener, ya
sea los valores de la derivada en los extremos o una aproximación precisa para esos valores.

Ejemplo 1 Construya un spline cúbico natural que pase por los puntos (1, 2), (2, 3) y (3, 5).
Solución Este spline consiste en dos cúbicos. El primero para el intervalo [1, 2], que se denota

S0(x) = a0 + b0(x − 1) + c0(x − 1)2 + d0(x − 1)3,


y el otro para [2, 3], que se denota
S1(x) = a1 + b1(x − 2) + c1(x − 2)2 + d1(x − 2)3.
Existen ocho constantes que se van a determinar y esto requiere ocho condiciones. Cuatro condiciones a partir del
hecho de que los splines deben concordar con los datos en los nodos. Por lo tanto,

2 = f (1) = a0, 3 = f (2) = a0 + b0 + c0 + d0, 3 = f (2) = a1, y

5 = f (3) = a1 + b1 + c1 + d1.

S0(2) = S1(2) : b0 + 2c0 + 3d0 = b1 y S0(2) = S1(2) : 2c0 + 6d0 = 2c1.


2+ (x (x − − 1) 2) + + 1 3 (x (x − − 1)32)2
S0(1) = 0 : 2c0 = 0 y S1(3) = 0 : 2c1 + 6d1 = 0. S(x) = 3 + 3432 4 4 Figura 3.9
Dos más provienen del hecho de que S0(2) = S1(2) y S0(2) = S1(2). Estos son
Los dos finales provienen de las condiciones de frontera natural:
Al resolver este sistema de ecuaciones obtenemos el spline
(x − 2)3
, para x ∈ [1,2] − 14 , para x ∈ [2,3].
108 CAPÍTULO 3 Interpolación y aproximación polinomial
Sujetar un spline indica que los extremos de la tira flexible están fijos de tal forma que cada uno de sus extremos es forzado a tomar una dirección
especifica. Esto es importante, por ejemplo, cuando los extremos de dos funciones spline deben concordar. Esto se realiza de manera matemática al
especificar los valores de la derivada de la curva en los extremos del spline.
Construcción de un spline cúbico
Como lo demuestra el ejemplo previo, un spline definido en un intervalo que se ha dividido en n subintervalos
requerirá determinar 4n constantes. Para construir el spline cúbico que se interpola para una función dada f, las
condiciones en la definición se aplican a los polinomios cúbicos

Sj(x) = a j + b j(x − x j) + c j(x − x j)2 + dj(x − x j)3,

para cada j 5 0, 1, , n 2 1. Puesto que Sj(xj) 5 aj 5 f (xj), la condición c) se puede aplicar para obtener

aj+1 = Sj+1(x j+1) = Sj(x j+1) = a j + b j(x j+1 − x j) + c j(x j+1 − x j)2 + d j(x j+1 − x j)3,
para cada j 5 0, 1, , n 2 2.

Como los términos x j+1 − x j son usados repetidamente en este desarrollo, es conve- niente introducir una notación
más simple

h j = x j+1 − x j,

para cada j 5 0, 1, , n 2 1. Si también definimos an 5 f(xn), entonces la ecuación

a j+1 = a j + b jh j + c jh2j + d jh3j

Sj(x) = bj + 2c j(x − x j) + 3d j(x − x j)2

bj+1 = b j + 2c jh j + 3djh2j,
y
(3.15)
se mantiene para cada j 5 0, 1, , n 2 1.

De manera similar, defina bn = S (xn) y observe que


implica que d) obtenemos

Sj(x j) = bj, para cada j 5 0, 1, ..., n 2 1. Al aplicar la condición en la parte


(3.16)
para cada j 5 0, 1, , n 2 1.

Otra relación entre los coeficientes de Sj se obtiene al definir cn 5 S0(xn)/2 y aplicar la condición en la parte e).
Entonces, para cada j 5 0, 1, , n 2 1,

c j+1 = c j + 3djh j.
(3.17)

Resolviendo para dj en la ecuación (3.17) y sustituyendo este valor en las ecuaciones (3.15) y (3.16) obtenemos, para
cada j 5 0, 1, , n 2 1, las nuevas ecuaciones

aj+1 = a j + b jh j + h2j3 (2c j + c j+1)


(3.18)

b j+1 = bj + h j(c j + c j+1).


(3.19)
La relación final que involucra los coeficientes se obtiene al resolver la ecuación adecua- da en la forma de la

ecuación (3.18), primero para bj,

bj = 1h j (aj+1 − aj) − h j3 (2c j + c j+1),


(3.20)
3.5 Interpolación de spline cúbico 109

y entonces, con una reducción del índice, para bj21. Esto nos da

bj−1 = h j−1 1
Al sustituir estos valores en la ecuación obtenida de la ecuación (3.19), con el índice reduci- do en uno, obtenemos el
sistema lineal de ecuaciones
(3.21)

Para cada j = 1, 2, ..., n – 1. Este sistema sólo tiene los {c j}nj=0 como incógnitas. Los valores de {h j}n−1 j=0 y {aj}nj=0

están dados, respectivamente, por el espaciado de los nodos {x j}nj=0 y los valores de f en los nodos. Por lo que, una

vez que se determinan los valores de {c j}nj=0, es sencillo encontrar el resto de las constantes {b j}n−1 j=0 a partir de la

ecuación (3.20) y {dj}n−1 j=0 a partir La de pregunta la ecuación más (3.17). importante Entonces que surge podemos

en relación construir con los esta polinomios construcción cúbicos es si {Slos j(x)}valores n−1 j=0.

de en {c este j}nj=0 caso, se si pueden estos Teorema 3.11 Si f se define en a = x0 < x1 < ··· < xn = b, entonces f tiene

un spline natural único que interpola S en los nodos x0, x1, ... , xn; es decir, un spline interpolante que satisface las
condiciones de frontera natural S (a) = 0 y S (b) = 0.

Demostración Las condiciones de frontera en este caso implican que cn = S (xn)/2 = 0 y que
A=
encontrar usando el sistema de ecuaciones dado en la ecuación (3.21) y, valores son únicos. Los siguientes teoremas
indican que éste es el caso cuando se impone cualquiera de las condiciones de frontera dadas en la parte f) de la
defini- ción. Las demostraciones de estos teoremas requieren material a partir del álgebra lineal, la cual se analiza en
el capítulo 6.
Splines naturales
0 = S (x0) = 2c0 + 6d0(x0 − x0),

por lo que c0 5 0. Las dos ecuaciones c0 5 0 y cn 5 0 junto con las ecuaciones en (3.21) producen un sistema lineal
descrito por la ecuación matriz-vector Ax = b, donde A es la matriz (n 1 1) 3 (n 1 1)

(a j − aj−1) − h j−1
(2c
3 j−1 + c j).

h j−1c j−1 + 2(h j−1 + h j)c j + h jc j+1 = 3h j (a j+1 − a j) − h j−13(aj − a j−1),

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣ ⎤1 0 h0 2(h0 + h1) 0 ............................................

h1 .....................

2(h1 h0...................................

.................. + 1 ................................. h2) hhn−2 2 ......................

2(hn−2 + hn−1) ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦,


0
.................................
0 ............hn−1 0 001
110 CAPÍTULO 3 Interpolación y aproximación polinomial
b=

⎡⎢⎢⎢⎢⎢⎢⎢⎣
ALGORITMO 3.4
y b y x son los vectores
La matriz A es estrictamente dominante de manera diagonal; es decir, en cada fila, la magnitud de la entrada diagonal
excede la suma de las magnitudes de todas las otras entradas en la fila. Un sistema lineal con una matriz de esta forma

se mostrará mediante el teorema 6.21 en la sección 6.6 para tener una única solución para c0,c1,... ,cn.

La solución para el problema del spline cúbico con las condiciones de frontera S (x0) = S (xn) = 0 se puede obtener al

aplicar el algoritmo 3.4.


ENTRADA n; x0, x1,... , xn;a0 = f (x0),a1 = f (x1),... ,an = f (xn). SALIDA aj,bj,c j,d j para (Nota: S(x) = Sj(x) = a j j =

0,1,... ,n − 1.

+ bj(x − x j) + c j(x − x j)2 + dj(x − x j)3 para xj ≤ x ≤ x j+1.) Paso 1 Para i = 0,1,... ,n − 1 haga hi = xi+1 − xi.
Paso 2 Para i = 1,2,... ,n − 1 haga

αi = 3hi (ai+1 − ai) − hi−1 3(ai − ai−1). Paso 3 Determine l0 = 1; (Los pasos 3, 4 y 5 y parte del paso 6 resuelven un

sistema
lineal tridiagonal con un método descrito en el algoritmo 6.7.) μ0 = 0; z0 = 0. Paso 4 Para i = 1,2,... ,n − 1

haga li = 2(xi+1 − xi−1) − hi−1μi−1;


μi = hi/li; zi = (αi − hi−1zi−1)/li.

Paso 5 Haga ln = 1; zn = 0; cn = 0.

Paso 6 Para j = n − 1,n − 2,... ,0 haga c j = z j − μ jc j+1;

bj = (aj+1 − a j)/h j − h j(c j+1 + 2c j)/3; dj = (c j+1 − c j)/(3h j). Paso 7 SALIDA (a j,bj,c j,dj para j = 0,1,... ,n − 1);
PARE.

0 ⎤3 hn−1(ah3n 1(a− 2 a− n−1) a1) − − 0 ... hn−2h3 30 (a(a1 n−1 − a− 0)

an−2)

⎥⎥⎥⎥⎥⎥⎥⎦
⎡⎢⎢⎢⎣cc...01cn⎤y x = ⎥⎥⎥⎦.
Spline cúbico natural
Para construir el spline cúbico interpolante S para la función f, definido en los números x0 < x1 < ··· < xn, que

satisfacen S (x0) = S (xn) = 0:


3.5 Interpolación de spline cúbico 111
Ejemplo 2 Al inicio del capítulo 3, proporcionamos algunos polinomios de Taylor para aproximar la ex- ponencial f
(x) = ex. Use los puntos (0,1), (1,e), (2,e2), y (3,e3) para formar un spline natural S(x) que se aproxima a f (x) = ex.

Solución Tenemos n = 3, h0 = h1 = h2 = 1, a0 = 1, a1 = e, a2 = e2, y a3 = e3. Por lo que, la matriz A y los vectores b y x


determinados en el teorema 3.11 tienen las formas
A=

⎡⎢⎢⎣1 1 0 0 4 1 0 1 4 0 0 1

⎥⎥⎦, b = 0 0 0 1⎡⎢⎢⎣
3(e3(e3 2 − − 0
2e 2e2 + + ⎤1)
e)

⎥⎥⎦, y x =
⎡⎢⎢⎣ccc012c3⎤⎥⎥⎦. 0
La ecuación matriz-vector Ax = b es equivalente al sistema de ecuaciones

Este sistema tiene la solución c0 5 c3 5 0, y para cinco lugares decimales,

c1 = 15(−e3 + 6e2 − 9e + 4) ≈ 0.75685, y c2 = 15(4e3 − 9e2 + 6e − 1) ≈ 5.83007.


Al resolver para las constantes restantes obtenemos

b0 = 1h0 (a1 − a0) − h3 0(c1 + 2c0)


1(−e3
= (e − 1) − 15 + 6e2 − 9e + 4) ≈ 1.46600, b1 = 1h1 (a2 − a1) − h3 1(c2 + 2c1)
1(2e3
= (e2 − e) − 15 + 3e2 − 12e + 7) ≈ 2.22285, b2 = 1h2 (a3 − a2) − h3 2(c3 + 2c2)
1 (8e
= (e3 − e2) − 15 3 − 18e2 + 12e − 2) ≈ 8.80977, d0 = 13h0(c1 − c0) = 115(−e3 + 6e2 − 9e + 4) ≈ 0.25228, d1 =
13h1(c2 − c1) = 13(e3 − 3e2 + 3e − 1) ≈ 1.69107, y

d2 = 13h2c0 = 0,

c0 + 4c1 + c2 = 3(e2 − 2e + 1),

c1 + 4c2 + c3 = 3(e3 − 2e2 + e),

c3 = 0.

(c3 − c1) = 115(−4e3 + 9e2 − 6e + 1) ≈ −1.94336.


112 CAPÍTULO 3 Interpolación y aproximación polinomial
El spline cúbico natural se describe por tramos mediante

⎪⎨1 + 1.46600x + 0.25228x3, para x ∈ [0,1], S(x)=⎪⎩2.71828 7.38906 + 2.22285(x−1) + + 8.80977(x−2) + El
spline y f (x) 5 ex se muestran en la figura 3.10.
Una vez que hemos determinado un spline para una aproximación de una función, pode- mos usarlo para aproximar
otras propiedades de la función. La siguiente ilustración implica la integral del spline que encontramos en el ejemplo
previo.
Ilustración Para aproximar la integral de f (x) = ex en [0,3], que tiene el valor
0.75685(x−1)2 5.83007(x−2)2 + − 1.69107(x−1)31.94336(x−2)3, , para x ∈ [1,2], para x ∈ [2,3].
Figura 3.10
e3
y
e2
e1
1 2 3
x

x
3e dx = e3 − 1 ≈ 20.08553692 − 1 = 19.08553692, 0 3S(x) = 0 y = S(x)y = e x podemos integrar por tramos el
spline que aproxima f en este intervalo. Esto nos da
10 1 + 1.46600x + 0.25228x3 dx 2+
1 2.71828 + 2.22285(x − 1) + 0.75685(x − 1)2 + 1.69107(x − 1)3 dx 3+
2 7.38906 + 8.80977(x − 2) + 5.83007(x − 2)2 − 1.94336(x − 2)3 dx.
3.5 Interpolación de spline cúbico 113

Integrando y calculando los valores de las potencias obtenemos

310 0 + 2.71828(x−1) + 2

1.46
+ 0.75685(x−1) 3
3
+ 1.69107(x−1)
4
+ 1.69107(x−1)
4
4

21

21

21

21

Ejemplo 3 En el ejemplo 1 encontramos un spline natural S que pasa por los puntos (1, 2), (2, 3) y (3, 5).
Construir un spline condicionado s que pase por esos puntos y que cumpla s (1) = 2 y s (3) = 1.

Solución Si
4
+ 7.38906(x−2) +
4
+ 5.83007(x−2) 3
3 4

− 1.94336(x−2)
4 32

− 1.94336(x−2) 32
4
32
32

1 (1.46600 + 2.22285 + 8.80977)


= (1 + 2.71828 + 7.38906) + 2

1 (0.75685 + 5.83007) + 1 (0.25228 + 1.69107 − 1.94336)


+ 3 4

= 19.55229.

Puesto que los nodos están espaciados de manera equivalente en este ejemplo, la aproxima- ción
de la integral es simplemente

3S(x) dx 0 = (a0 +a1 +a2) + 12(b0 +b1 +b2)+ 13(c0 +c1 +c2)+ 14(d0 +d1 +d2).

Splines condicionados

s0(x) = a0 + b0(x − 1) + c0(x − 1)2 + d0(x − 1)3

es el cúbico en [1, 2] y el cúbico en [2, 3] es

s1(x) = a1 + b1(x − 2) + c1(x − 2)2 + d1(x − 2)3.

Entonces, la mayoría de las condiciones para determinar ocho constantes son iguales a las del
ejemplo 1. Es decir,

2 = f (1) = a0, 3 = f (2) = a0 + b0 + c0 + d0, 3 = f (2) = a1, y

5 = f (3) = a1 + b1 + c1 + d1.

s0(2) = s1(2) : b0 + 2c0 + 3d0 = b1 y s0(2) = s1(2) : 2c0 + 6d0 = 2c1


114 CAPÍTULO 3 Interpolación y aproximación polinomial
Sin embargo, las condiciones de frontera ahora son

s0(1) = 2 : b0 = 2 y s1(3) = 1 : b1 + 2c1 + 3d1 = 1.


Resolviendo este sistema de ecuaciones obtenemos el spline como
2 + 2(x − 1) − 5 (x − 1)2 3 (x − 1)3 (x − 2) + 2(x − 2)2 3 (x − 2)3
s(x) = 2 + 2 , 3 + 32 − 2 , Teorema 3.12 Si f se define en a
= x0 < x1 < ··· < xn = b y es diferenciable en a y b, entonces f tie- ne un único spline interpolante S condicionado en

los nodos x0, x1,... , xn; es decir, un spline interpolante que satisface las condiciones de frontera condicionada S (a) = f
(a) y S (b) = f (b).

Demostración Puesto que f (a) = S (a) = S (x0) = b0, la ecuación (3.20) con j 5 0 impli- ca que
para x para x ∈ ∈ [1,2]
.
[2,3]
En el caso general de las condiciones de frontera condicionada, tenemos un resultado que es similar al teorema para
las condiciones de frontera natural descritas en el teorema 3.11.
1
f (a) = h0 (a1 − a0) − h3 0(2c0 + c1).
Por consiguiente,

2h0c0 + h0c1 = 3h0 (a1 − a0) − 3 f (a).


De igual forma,

f (b) = bn = bn−1 + hn−1(cn−1 + cn),


por lo que la ecuación (3.20) con j = n − 1 implica que
a
f (b) = n − an−1
h
hn−1 − n−1

(2c
3 n−1 + cn) + hn−1(cn−1 + cn)
a
= n− an−1
h
hn−1 + n−1

(c
3 n−1 + 2cn),
y

hn−1cn−1 + 2hn−1cn = 3 f (b) − hn−13

(an − an−1).
Las ecuaciones (3.21) junto con las ecuaciones

2h0c0 + h0c1 = 3h0(a1 − a0) − 3 f (a)


y

hn−1cn−1 + 2hn−1cn = 3 f (b) − hn−1 3(an − an−1)


ALGORITMO 3.5
determinan el sistema lineal Ax = b, donde

A =⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣2h0 h0 0.................................... 0
................................
hn−2 2(hn−2 + hn−1) hn−1 0 0 hn−1 2hn−1Esta matriz A también es estrictamente dominante de
manera diagonal, por lo que satis- face las condiciones del teorema 6.21 en la sección 6.6. Por lo tanto, el sistema

lineal tiene una solución única para c0,c1,... ,cn.


La solución del problema de spline cúbico con condiciones de frontera S (x0) = f (x0) y S (xn) = f (xn) se puede obtener

al aplicar el algoritmo 3.5.


Spline cúbico condicionado
Para construir el spline cúbico interpolante S para la función f definida en los números x0 < x1 < ··· < xn, que

satisfacenS (x0) = f (x0) y S (xn) = f (xn):


⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦,
b=

.................................. h0 2(h0 + h1) h1 0.................................. ...........h1 ......................

2(h1 + ...................

h2) h2 .......................

0 ............⎡⎢⎢⎢⎢⎢⎢⎢⎣

h31 (ah302 (a− 1 a− 1) a− 0) − h30(a3 f 1 (a)


3
− a0) ... 3 hn−1(an − an−1) − 3 f (b) −
hn−1 ⎤⎥⎥⎥⎥⎥⎥⎥⎦, yx=

3 h(an−2 n (an−1 − an−2) − an−1)


⎡⎢⎢⎢⎣cc...01cn⎤⎥⎥⎥⎦.

ENTRADA n; x0, x1,... ,xn; a0 = f (x0), a1 = f (x1),... ,an = f (xn); FPO = f (x0); FPN = f (xn).

SALIDA aj,bj,c j,d j para (Nota: S(x) = Sj(x) = aj j = 0,1,... ,n − 1.

+ bj(x − x j) + c j(x − x j)2 + d j(x − x j)3 para xj ≤ x ≤ x j+1.)


Paso 1 Para i = 0,1,... ,n − 1 haga hi = xi+1 − xi.

Paso 2 Haga α0 = 3(a1 − a0)/h0 − 3FPO;

αn = 3FPN − 3(an − an−1)/hn−1. Paso 3 Para i = 1,2,... ,n − 1

haga αi = 3hi (ai+1 − ai) − hi−1 3(ai − ai−1). Paso 4 Haga l0 = 2h0; (Los pasos 4, 5 y 6 y parte del paso 7 resuelven un

sistema lineal
tridiagonal con un método descrito en el algoritmo 6.7.) μ0 = 0.5; z0 = α0/l0. Paso 5 Para i = 1,2,... ,n − 1

haga li = 2(xi+1 − xi−1) − hi−1μi−1;

μi = hi/li; zi = (αi − hi−1zi−1)/li.


3.5 Interpolación de spline cúbico 115
116 CAPÍTULO 3 Interpolación y aproximación polinomial

Paso 6 Haga ln = hn−1(2 − μn−1);


zn = (αn − hn−1zn−1)/ln; cn = zn.
Paso 7 Para j = n − 1,n − 2,... ,0

haga c j = z j − μ jc j+1;

b j = (aj+1 − aj)/h j − h j(c j+1 + 2c j)/3; d j = (c j+1 − c j)/(3h j).

Paso 8 SALIDA (a j,b j,c j,dj para j = 0,1,... ,n − 1);


PARE.
Ejemplo 4 En el ejemplo 2 se usó un spline natural y los puntos de datos (0, 1), (1, e), (2, e2) y (3, e3) para formar
una nueva función de aproximación S(x). Determine el spline condicionado s(x) que utiliza estos datos y la
información adicional, f (x) = ex, f (0) = 1 y f (3) = e3.

Solución Como en el a2 = e2, y a3 = e3 Esto, ejemplo 2, tenemos n = 3, h0 = junto con la información que f (0) h1 = h2

= = 1 y f (3) 1, = ae0 3= , 0, a1 = e, da la matriz A y los vectores b y x con las formas


A=

⎡⎢⎢⎣2 1 0 1 4 1 0 1 4 0 0 1

⎥⎥⎦, b = 0 0 1 2⎡⎢⎢⎣
3(e3(e3 3(e 2 − − 2e− 2e 2 2)
+ + ⎤1) e)

⎥⎥⎦, y x =
⎡⎢⎢⎣ccc012c3⎤⎥⎥⎦. 3e2
La ecuación matriz-vector Ax = b es equivalente al sistema de ecuaciones

2c0 + c1 = 3(e − 2),

c0 + 4c1 + c2 = 3(e2 − 2e + 1),

c1 + 4c2 + c3 = 3(e3 − 2e2 + e),

c2 + 2c3 = 3e2.

Resolviendo este sistema simultáneamente para c0, c1, c2 y c3 obtenemos, con cinco lugares decimales,

c0 = 115(2e3 − 12e2 + 42e − 59) = 0.44468, c1 = 115(−4e3 + 24e2 − 39e + 28) = 1.26548, c2 = 115(14e3 − 39e2 + 24e

− 8) = 3.35087, c3 = 115(−7e3 + 42e2 − 12e + 4) = 9.40815.


Al resolver para las constantes restantes de la misma manera que en el ejemplo 2 obtenemos

b0 = 1.00000, b1 = 2.71016, b2 = 7.32652,


y

d0 = 0.27360, d1 = 0.69513, d2 = 2.01909.


3.5 Interpolación de spline cúbico 117
Esto nos da el spline cúbico condicionado
La gráfica del spline condicionado y f (x) = ex son tan similares que no es posible observar diferencias.
También podemos aproximar la integral de f en [0, 3] al integrar el spline condicionado. El valor exacto de la integral
es
x
3e dx = e3 − 1 ≈ 20.08554 − 1 = 19.08554. 0 3s(x) dx 0 = (a0 + a1 + a2) + 12(b0 + b1 + b2)
1 (c
+ 3 0 + c1 + c2) + 14(d0 + d1 + d2).
30 Ilustración La figura 3.11 muestra un pato malvasia en vuelo. Para aproximar el perfil superior del pato hemos
seleccionado puntos a lo largo de la curva por los cuales queremos que pase la curva de aproximación. La tabla 3.18
enumera las coordenadas de 21 puntos de datos relativos al sistema de coordenadas superpuesto que se muestra en la
figura 3.12. Observe que se usan más puntos cuando la curva cambia rápidamente que cuando lo hace más despacio.

⎧⎪⎨1 + x + 0.44468x2 + 0.27360x3, si 0 ≤ x < 1, ⎪⎩2.71828 7.38906 + + 2.71016(x−1) 7.32652(x−2) + +


1.26548(x−1)2 3.35087(x−2)2 + + 0.69513(x−1)32.01909(x−2)3s(x) =
, si 1 ≤ x < 2, , si 2 ≤ x ≤ 3.
Puesto que los datos están igualmente espaciados, integrar por tramos el spline condicionado resulta en la misma
fórmula que en (3.22); es decir,
Por lo tanto, la aproximación de integral es
1 (1 + 2.71016 + 7.32652)
s(x) dx = (1 + 2.71828 + 7.38906) + 2
1 (0.44468 + 1.26548 + 3.35087) + 1 (0.27360 + 0.69513 + 2.01909)
+ 3 4 = 19.05965.El error absoluto en la
aproximación integral usando los splines naturales y condicionados es

Natural: |19.08554 − 19.55229| = 0.46675


y
Condicionado: |19.08554 − 19.05965| = 0.02589.
Para propósitos de integración, el spline condicionado es inmensamente superior. Esto no debería ser una sorpresa
porque las condiciones de frontera para el spline condicionado son exactas, mientras que para el spline natural
fundamentalmente asumimos que, f 0 (x) 5 ex,
0 = S (x) ≈ f (0) = e1 = 1 y 0 = S (3) ≈ f (3) = e3 ≈ 20.
La siguiente ilustración usa un spline para aproximar una curva que no tiene una repre- sentación funcional.
118 CAPÍTULO 3 Interpolación y aproximación polinomial

Figura 3.11

Tabla 3.18
x 0.9 1.3 1.9 2.1 2.6 3.0 3.9 4.4 4.7 5.0 6.0 7.0 8.0 9.2 10.5 11.3 11.6 12.0 12.6 13.0 13.3

f (x) 1.3 1.5 1.85 2.1 2.6 2.7 2.4 2.15 2.05 2.1 2.25 2.3 2.25 1.95 1.4 0.9 0.7 0.6 0.5 0.4 0.25

Figura 3.12

f(x)
x
4 32
11 32 4 5 6 7 8 9

El uso del algoritmo 3.4 para generar el spline cúbico natural para estos datos produce los coeficientes que se
muestran en la tabla 3.19. Esta curva spline es casi idéntica al perfil, como se muestra en la
figura 3.13.
3.5 Interpolación de spline cúbico 119

Tabla 3.19 j xj aj bj cj dj

0 0.9 1.3 0.54 0.00 −0.25 1 1.3 1.5 0.42 −0.30 0.95 2 1.9 1.85 1.09
1.41 −2.96 3 2.1 2.1 1.29 −0.37 −0.45 4 2.6 2.6 0.59 −1.04 0.45 5
3.0 2.7 −0.02 −0.50 0.17 6 3.9 2.4 −0.50 −0.03 0.08 7 4.4 2.15
−0.48 0.08 1.31 8 4.7 2.05 −0.07 1.27 −1.58 9 5.0 2.1 0.26 −0.16
0.04 10 6.0 2.25 0.08 −0.03 0.00 11 7.0 2.3 0.01 −0.04 −0.02 12 8.0
2.25 −0.14 −0.11 0.02 13 9.2 1.95 −0.34 −0.05 −0.01 14 10.5 1.4
−0.53 −0.10 −0.02 15 11.3 0.9 −0.73 −0.15 1.21 16 11.6 0.7 −0.49
0.94 −0.84 17 12.0 0.6 −0.14 −0.06 0.04 18 12.6 0.5 −0.18 0.00
−0.45 19 13.0 0.4 −0.39 −0.54 0.60 20 13.3 0.25

Figura 3.13

f(x)
4

x
32
11 2 3

Para propósitos de comparación, la figura 3.14 proporciona una ilustración de la curva que se genera con un polinomio
de interpolación de Lagrange para ajustar los datos provistos en la tabla 3.18. En este caso, el
polinomio de interpolación es de grado 20 y oscila en forma desordenada. Produce una
ilustración muy extraña de la espalda del pato, en vuelo o de otra forma.
120 CAPÍTULO 3 Interpolación y aproximación polinomial
4 32
11 2 3 4 5 6 7 8 9 1
Figura 3.14 x
f(x)

Al utilizar un spline condicionado para aproximar esta curva, necesitaríamos derivar aproximaciones para los
extremos. Incluso si estas aproximaciones están disponibles, po- dríamos esperar poca mejora
debido al acuerdo cerrado del spline cúbico natural para la curva del perfil superior.

Construir un spline cúbico para aproximar el perfil inferior del pato malvasia seria más difícil porque la curva
para esta parte no se puede expresar como una función de x, y en cier- tos puntos la curva no
parece ser suave. Estos problemas se pueden resolver usando splines separados para representar
varias partes de la curva, pero en la siguiente sección se considera un enfoque más eficaz para
aproximar las curvas de este tipo.
En general, al aproximar funciones mediante splines cúbicos son preferibles las condicio- nes de frontera
condicionada, por lo que la derivada de la función debe conocerse o aproxi- marse en los
extremos del intervalo. Cuando los nodos están espaciados uniformemente cerca de ambos
extremos, es posible obtener las aproximaciones con cualquiera de las fórmulas adecuadas
provistas en las secciones 4.1 y 4.2. Cuando los nodos no están espaciados de manera uniforme,
el problema es considerablemente más difícil.
Para concluir esta sección, listamos una fórmula de la cota de error para el spline cúbico sujeto a condiciones de
frontera. La prueba de este resultado se puede encontrar en [Schul], pp. 57–58.

Teorema 3.13 Sea f ∈ C4[a,b] con máxa≤x≤b | f (4)(x)| = M. Si S es el único spline cúbico condicionado

interpolante para f respecto a los nodos a = x0 < x1 < ··· < xn = b, entonces, para todas las x en [a, b].

5M máx (x
| f (x) − S(x)| ≤ 384 0≤ j≤n−1 j+1 − x j)4.

Un resultado de la cota del error de cuarto orden también se mantiene para el caso de las
condiciones de frontera natural, pero es más dificil de expresar (consulte [BD], pp. 8272835).
En general, las condiciones de frontera natural proporcionarán resultados menos preci- sos que

las de frontera condicionada cerca de los extremos del intervalo [x0, xn] a menos que la función f

satisfaga f (x0) = f (xn) = 0. Una alternativa para la condición de frontera natural que no requiere
conocimiento de la derivada de f es la condición sin nudo (consulte [Deb2], pp. 55256). Esta

condición requiere que S (x) sea continua en x1 y xn21.

La sección Conjunto de ejercicios 3.5 está disponible en línea. Encuentre la ruta de acceso
en las páginas preliminares.
3.6 Curvas paramétricas
Ninguna de las técnicas desarrolladas en este capítulo puede usarse para generar curvas de la
forma que se muestra en la figura 3.15, porque esta curva no se puede expresar como una
función de una variable coordenada en términos de la otra. En esta sección veremos cómo
representar curvas generales al usar un parámetro para expresar tanto las variables x como y.
Cualquier buen libro sobre gráficas computacionales mostrará cómo es posible ampliar esta
técnica para representar curvas generales y superficies en el espacio (consulte, por ejemplo,
[FVFH].)

Figura 3.15

1 x 21

21
Una técnica paramétrica sencilla para determinar un polinomio o un polinomio por tra- mos para conectar los puntos

(x0, y0), (x1, y1), ... , (xn, yn) en el orden provisto consiste en usar un parámetro t en un

intervalo [t0,tn], con t0 < t1 < ··· < tn y construir funciones de aproximación con

xi = x(ti) y yi = y(ti), para cada i = 0,1,... ,n.

El siguiente ejemplo muestra la técnica en el caso en que ambas funciones de aproxima- ción son polinomios de
interpolación de Lagrange.

Ejemplo 1 Construya un par de polinomios de Lagrange para aproximar la curva que se muestra en la
figura 3.15, usando los puntos de datos en la curva.

Solución Existe flexibilidad al seleccionar el parámetro y nosotros elegiremos los puntos {ti}4i=0
igualmente espaciados en [0, 1], lo cual provee los datos en la tabla 3.20.

Tabla 3.20 i 0 1 2 3 4

ti 0 0.25 0.5 0.75 1 xi −1 0 1 0 1 yi 0 1 0.5 0 −1


3.6 Curvas paramétricas 121
122 CAPÍTULO 3 Interpolación y aproximación polinomial
Esto produce los polinomios de interpolación
t + 60 t − 14 t −1 y y(t)= − 64 t + 48 t − 116 t + 11 t.
x(t)= 64t − 3523 3 3 3

Trazar este sistema paramétrico produce la gráfica que se muestra en azul en la figura 3.16. Aunque pasa por los
puntos requeridos y tiene la misma forma básica, es una aproxima- ción bastante burda para la curva original. Una
aproximación más precisa requeriría nodos adicionales, con el consiguiente incremento en computación.
Figura 3.16
y

1 x Las curvas paramétrica de Hermite y de spline se pueden generar de forma similar, pero esto también requiere un
gran esfuerzo computacional.
Las aplicaciones de gráficas computacionales requieren la generación rápida de curvas suaves que se pueden
modificar de manera fácil y rápida. Por razones tanto estéticas como computacionales, cambiar una parte de estas
curvas debería tener un efecto pequeño o nin- gún efecto en otras partes de las curvas. Esto elimina el uso de
polinomios de interpolación y splines ya que cambiar una parte de estas curvas afecta su totalidad.
La selección de la curva para usarla en gráficas computacionales es, en general, una forma de polinomio Hermite
cúbico por tramos. Cada parte de un polinomio de Hermite cúbico se completa totalmente al especificar sus extremos
y las derivadas en estos extre- mos. Por consiguiente, una parte de la curva se puede cambiar mientras la mayor parte
de la misma se deja igual. Sólo las partes adyacentes necesitan modificarse para garantizar la suavidad en los
extremos. Los cálculos se pueden realizar rápidamente y es posible cambiar una sección de la curva a la vez.
El problema con la interpolación de Hermite es la necesidad de especificar las derivadas en los extremos de cada
sección de la curva. Suponga que la curva tiene n 1 1 puntos de datos (x(t0), y(t0)), ...,(x(tn), y(tn)) y deseamos

parametrizar el cúbico para permitir caracterís- ticas complejas. Entonces, debemos especificar x (ti) y y (ti), para cada

i 5 0, 1, , n. Esto no es tan difícil como parece ya que cada parte se genera de manera independiente. Sólo de- bemos
garantizar que las derivadas en los extremos de cada parte coincidan con los de la par- te adyacente. En esencia,
entonces, podemos simplificar el proceso en uno que determine un par de polinomios del extremo (x(0), 1
(x(t), y(t))
21
21
de y(0)) Hermite y (x(1), cúbicos y(1)) y en las el derivadas parámetro dy/dx t, donde (en t0 t = = 0 y 0) t1 y = dy/dx 1,
dados (en los t Un sistema de diseño computacional exitoso necesita estar basado en una teoría matemática formal, de tal manera que los
resultados sean predecibles, pero esta teoría debería realizarse en segundo plano para que el artista pueda basar el diseño en la estética.
datos = 1).
3.6 Curvas paramétricas 123
Sin embargo, observe que sólo especificamos seis condiciones y los polinomios cúbicos en x(t) y y(t), cada uno tiene
cuatro parámetros, para un total de ocho. Esto proporciona flexibilidad al seleccionar el par cúbico de polinomios de
Hermite para satisfacer las con- diciones porque la forma natural para determinar x(t) y y(t) requiere que
especifiquemos x (0), x (1), y (0), y y (1). La curva de Hermite explícita en x y y requiere especificar sola- mente los
cocientes
y (0)
dx dy(t = 0) = x
y dy(t = 1) = y (1) .
(0) dx x (1)
Al multiplicar x9(0) y y9(0) por un factor de escala común, la recta tangente para la curva en (x(0), y(0)) permanece
igual, pero la forma de la curva varía. Mientras más grande sea el factor de escala, más cerca está la curva de
aproximación a la recta tangente en las cercanías de (x(0), y(0)) . Existe una situación similar en el otro extremo (x(1),
y(1)).
Para simplificar más el proceso en las gráficas computacionales interactivas, la derivada en un punto extremo se
especifica usando un segundo punto, llamado punto guía, en una recta tangente deseada. Mientras más lejos esté del
nodo, más cerca se aproxima la curva a la recta tangente cerca del nodo.

En la figura 3.17 los nodos se presentan en (x0, y0) y (x1, y1), el punto guía para (x0, y0) es (x0 +α0, y0 +β0), y el punto

guía para (x1, y1) es (x1 −α1, y1 −β1). El polinomio de Hermite cúbico x(t) en [0, 1] satisface
x(0) = x0, x(1) = x1, x (0) = α0, y x (1) = α1.
El único polinomio cúbico que satisface estas condiciones es

x(t) = [2(x0 − x1) + (α0 + α1)]t3 + [3(x1 − x0) − (α1 + 2α0)]t2 + α0t + x0.
De manera similar, el único polinomio cúbico que satisface

y(0) = y0, y(1) = y1, y (0) = β0, y y (1) = β1


es

y(t) = [2(y0 − y1) + (β0 + β1)]t3 + [3(y1 − y0) − (β1 + 2β0)]t2 + β0t + y0.
(3.23)
(3.24)
Figura 3.17
y
(x0 + a0, y0 + b0)
(x1 J a1, y1 J b1)
(x0, y0)
(x1, y1)
x
124 CAPÍTULO 3 Interpolación y aproximación polinomial
y
Ejemplo 2 Determine la gráfica de la curva paramétrica generada por las ecuaciones (3.23) y (3.24) cuando los

extremos son (x0, y0) = (0,0) y (x1, y1) = (1,0) y los puntos guía respectivos,
Puntos guía
como se muestra en la figura 3.18 son (1, 1) y (0, 1).
(0, 1)
(1, 1)

Solución La información del extremo implica que x0 = 0, x1 = 1, y0 = 0, y y1 = 0, y los puntos guía (1, 1) y (0, 1)

implican que α0 = 1, α1 = 1, β0 = 1, y β1 = −1. Observe que las pendientes de las rectas guía en (0, 0) y (1, 0) son,
respectivamente, Nodos
(0, 0)

(1, 1) x
Figura 3.18
Pierre Etienne Bézier (19102 1999) fue director de diseño y producción de los automóviles Renault durante la mayor parte de su vida profesional.
Comenzó su investigación en diseño y fabricación asistidos por computadora en 1960, desarrollando herramientas interactivas para el diseño de
curvas y superficies, e inició el bobinado generado por computadora para modelado de automóviles. Las curvas de Bézier que llevan su nombre
tienen la ventaja de estar basadas en una teoría matemática rigurosa que no necesita ser reconocida explícitamente por el practicante, quien sólo
quiere crear una curva o superficie agradable desde el punto de vista estético. Éstas son las curvas que son la base del poderoso sistema Adobe
Postscript y producen curvas a mano alzada generadas en la mayoría de los paquetes gráficos computacionales suficientemente potentes.
1 =1yβ −1 = −1.
β0α0 = 1 1α1 = 1
Las ecuaciones (3.23) y (3.24) implican que para t ∈ [0,1], tenemos
x(t) =[2(0 − 1) + (1 + 1)]t3 + [3(0 − 0) − (1 + 2 · 1)]t 2 + 1 · t + 0 = t
y
y(t) =[2(0 − 0) + (1 + (−1))]t3 + [3(0 − 0) − (−1 + 2 · 1)]t2 + 1 · t + 0 = −t2 + t.
Esta gráfica se muestra como a) en la figura 3.19, junto con algunas otras posibilidades de curvas producidas por las
ecuaciones (3.23) y (3.24) cuando los nodos son (0, 0) y (1, 0) y las pendientes de estos nodos son 1 y 21,
respectivamente.
El procedimiento estándar para determinar las curvas en un modo gráfico interactivo es utilizar primero un mouse (o
ratón) o touchpad (panel táctil) y establecer los nodos y los puntos guía para generar una primera aproximación a la
curva. Esto se puede hacer de manera manual, pero muchos sistemas de gráficas permiten utilizar su dispositivo de
entrada para trazar la curva en una pantalla a mano alzada y seleccionar los nodos y puntos guía adecuados para su
curva a mano alzada.
A continuación, los nodos y los puntos guía se pueden manipular en una posición que genera una curva agradable
desde el punto de vista estético. Puesto que los cálculos son mínimos, la curva se puede determinar tan rápido que el
cambio resultante se aprecia de inmediato. Además, todos los datos necesarios para calcular las curvas están
incorporados en las coordenadas de los nodos y puntos guía, por lo que no se requiere que el usuario tenga
conocimiento analítico.
Figura 3.19
y

12
xy1

(0, 1)

(1, 1) 1 (1, 1)
(0.75, 0.25)

1 2 x a) b)
y
22

1
1

1 2 x J1J1
ALGORITMO 3.6
3.6 Curvas paramétricas 125
Figura 3.19
(2, 2)
(0.5, 0.5)
(2, J1)
(2, J1)
Curva de Bézier
Para construir las curvas cúbicas de Bézier C0,... ,Cn−1 en forma paramétrica, donde Ci está representado por

(xi(t), yi(t)) = (a0 (i)


+a (i)
1

t+a (i)
2

t2
+ a3 (i)
t3 (i)
,b0
+b (i)
1

t+b (i)
2

t2
+ b3 (i)
t3
),
, y ), el extremo
para 0 ≤ t ≤ 1, como (xi = i + 0,1,... i + ,n − 1:
derecho (x
se determina mediante el extremo izquierdo (xi, yi), el punto guía i+1, yi+1), y el punto guía derecho (xi+1−,
) para cada
yi+1−
),... ,(x +, y +); (x −, y −),... ,(x −, y −).
ENTRADA n; (x0, y0),... ,(xn, yn); (x0 +, y0 + n−1 n−1 1 1 n n SALIDA coeficientes {a 0 (i)
,a (i)
1

,a (i)
2
,a (i)
3

,b (i)
0

,b (i)
1

,b (i)
2

,b (i)
3

, para 0 ≤ i ≤ n − 1}.

y
1
1

2 x c) d)
Los programas de gráficos populares usan este tipo de sistema para sus representaciones gráficas a mano alzada en
una forma ligeramente modificada. Los cúbicos de Hermite se des- criben como polinomios de Bézier, los cuales
incluyen un factor de escala de tres al calcular las derivadas en los extremos. Esto modifica las ecuaciones
paramétricas para

x(t) = [2(x0 − x1) + 3(α0 + α1)]t 3 + [3(x1 − x0)−3(α1 + 2α0)]t2 + 3α0t + x0

yy(t) = [2(y0 − y1) + 3(β0 + β1)]t3 + [3(y1 − y0)− 3(β1 + 2β0)]t2 + 3β0t + y0,

para 0 ≤ t ≤ 1, pero este cambio es transparente para el usuario del sistema.


El algoritmo 3.6 construye un conjunto de curvas de Bézier con base en las ecuaciones paramétricas en las ecuaciones
(3.25) y (3.26).
(3.25)
(3.26)
126 CAPÍTULO 3 Interpolación y aproximación polinomial

Las curvas tridimensionales se generan de la misma forma al especificar adicionalmente terceros componentes z0 y z1

para los nodos y z0+γ0 y z1−γ1 para los puntos guía. El proble- ma más difícil que implica la representación de las
curvas tridimensionales se preocupa por la pérdida de la tercera dimensión cuando la curva se proyecta en una
pantalla bidimensional de computadora. Se utilizan varias técnicas de proyección, pero este tema se encuentra den-
tro del campo de las gráficas por computador. Para una introducción a este tema y las mane- ras en las que la técnica
se puede modificar para las representaciones de superficie, consulte alguno de los muchos libros sobre métodos
gráficos por computadora como [FVFH].
La sección Conjunto de ejercicios 3.6 está disponible en línea. Encuentre la ruta de acceso en las páginas
preliminares.
3.7 Software numérico y revisión del capítulo
Las rutinas de interpolación incluidas en la Biblioteca IMSL se basan en el libro A practical Guide to Splines (Una
guía práctica para splines) de Carl de Boor [Deb] y usan la inter- polación mediante splines cúbicos. Existen splines
cúbicos para minimizar las oscilaciones y preservar la concavidad. Los métodos para interpolación bidimensional
mediante splines bicúbicos también se incluyen.
La biblioteca NAG contiene subrutinas para la interpolación polinomial y de Hermite, para interpolación de spline
cúbico y para interpolación de Hermite cúbico por tramos. NAG también contiene subrutinas para funciones de
interpolación de dos variables.
La biblioteca netlib contiene las subrutinas para calcular el spline cúbico con varias con- diciones de extremo. Un
paquete produce los coeficientes de diferencia dividida de Newton para un conjunto discreto de puntos de datos y
existen diferentes rutinas para evaluar los polinomios por tramos de Hermite.
Las secciones Preguntas de análisis, Conceptos clave y Revisión del capítulo están dis- ponibles en línea.
Encuentre la ruta de acceso en las páginas preliminares.
Paso 1 Para cada i = 0,1,... ,n − 1 haga los pasos 2 y 3.
Paso 2 Haga a(i)
= x (i)
0 i; b

=y
0 i; a(i)
= 3(x+ − x
1 i i); b(i)
= 3(y+ − y
1 i i); a(i)
= 3(x − 2x+ );
2 i+ x−i+1 i b(i)
= 3(y − 2y+ );
2 i+ y−i+1 i a(i)
=x ;
3 i+1 − xi + 3x+i − 3x−i+1 b(i)
=y ;
3 i+1 − yi + 3y+i − 3y−i+1 Paso 3 SALIDA (a(i)
,a(i)
0

,a(i)
1

,a(i)
2

,b(i)
3

,b(i)
0

,b(i)
1

,b(i)
2

).
3 Paso 4 PARE.

También podría gustarte