Está en la página 1de 12

18.

6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 525

18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES)

En la sección anterior, se usaron polinomios de n-ésimo grado para interpolar entre n + 1


puntos que se tenían como datos. Por ejemplo, para ocho puntos se puede obtener un
perfecto polinomio de séptimo grado. Esta curva podría agrupar todas las curvas (al
menos hasta, e incluso, la séptima derivada) sugeridas por los puntos. No obstante, hay
casos donde estas funciones llevarían a resultados erróneos a causa de los errores de
redondeo y los puntos lejanos. Un procedimiento alternativo consiste en colocar polino-
mios de grado inferior en subconjuntos de los datos. Tales polinomios conectores se
denominan trazadores o splines.
Por ejemplo, las curvas de tercer grado empleadas para unir cada par de datos
se llaman trazadores cúbicos. Esas funciones se pueden construir de tal forma que las
conexiones entre ecuaciones cúbicas adyacentes resulten visualmente suaves. Podría
parecer que la aproximación de tercer grado de los trazadores sería inferior a la ex-
presión de séptimo grado. Usted se preguntaría por qué un trazador aún resulta prefe-
rible.
La figura 18.14 ilustra una situación donde un trazador se comporta mejor que un
polinomio de grado superior. Éste es el caso donde una función en general es suave, pero
presenta un cambio abrupto en algún lugar de la región de interés. El tamaño de paso
representado en la figura 18.14 es un ejemplo extremo de tal cambio y sirve para ilustrar
esta idea.
La figura 18.14a a c ilustra cómo un polinomio de grado superior tiende a formar
una curva de oscilaciones bruscas en la vecindad de un cambio súbito. En contraste, el
trazador también une los puntos; pero como está limitado a cambios de tercer grado, las
oscilaciones son mínimas. De esta manera, el trazador usualmente proporciona una
mejor aproximación al comportamiento de las funciones que tienen cambios locales y
abruptos.
El concepto de trazador se originó en la técnica de dibujo que usa una cinta delgada
y flexible (llamada spline, en inglés), para dibujar curvas suaves a través de un conjun-
to de puntos. El proceso se representa en la figura 18.15 para una serie de cinco alfileres
(datos). En esta técnica, el dibujante coloca un papel sobre una mesa de madera y colo-
ca alfileres o clavos en el papel (y la mesa) en la ubicación de los datos. Una curva cú-
bica suave resulta al entrelazar la cinta entre los alfileres. De aquí que se haya adoptado
el nombre de “trazador cúbico” (en inglés: “cubic spline”) para los polinomios de este
tipo.
En esta sección, se usarán primero funciones lineales simples para presentar algu-
nos conceptos y problemas básicos relacionados con la interpolación mediante splines.
A continuación obtendremos un algoritmo para el ajuste de trazadores cuadráticos a los
datos. Por último, presentamos material sobre el trazador cúbico, que es la versión más
común y útil en la práctica de la ingeniería.

18.6.1 Trazadores lineales

La unión más simple entre dos puntos es una línea recta. Los trazadores de primer gra-
do para un grupo de datos ordenados pueden definirse como un conjunto de funciones
lineales,
526 INTERPOLACIÓN

f(x) = f(x0) + m0(x – x0) x 0 < x < x1


f(x) = f(x1) + m1(x – x1) x 1 < x < x2
·
·
·
f(x) = f(xn–1) + mn–1(x – xn–1) xn–1 < x < xn

FIGURA 18.14
Una representación visual de una situación en la que los trazadores son mejores que los
polinomios de interpolación de grado superior. La función que se ajusta presenta un incremento
súbito en x = 0. Los incisos a) a c) indican que el cambio abrupto induce oscilaciones en
los polinomios de interpolación. En contraste, como se limitan a curvas de tercer grado con
transiciones suaves, un trazador lineal d) ofrece una aproximación mucho más aceptable.

f (x)

0 x
a)
f (x)

0 x
b)
f (x)

0 x
c)
f (x)

0 x
d)
18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 527

FIGURA 18. 15
La técnica de dibujo que usa una cinta delgada y flexible para dibujar curvas suaves
a través de una serie de puntos. Observe cómo en los puntos extremos, el trazador
tiende a volverse recto. Esto se conoce como un trazador “natural”.

donde mi es la pendiente de la línea recta que une los puntos:

ƒ( xi +1 ) – ƒ( xi )
mi = (18.27)
xi +1 – xi

Estas ecuaciones se pueden usar para evaluar la función en cualquier punto entre x0
y xn localizando primero el intervalo dentro del cual está el punto. Después se usa la
ecuación adecuada para determinar el valor de la función dentro del intervalo. El méto-
do es obviamente idéntico al de la interpolación lineal.

EJEMPLO 18.8 Trazadores de primer grado

Planteamiento del problema. Ajuste los datos de la tabla 18.1 con trazadores de
primer grado. Evalúe la función en x = 5.

Solución. Se utilizan los datos para determinar las pendientes entre los puntos. Por
ejemplo, en el intervalo de x = 4.5 a x = 7 la pendiente se calcula con la ecuación (18.27):

2.5 − 1
m= = 0.60
7 − 4.5

Se calculan las pendientes en los otros intervalos y los trazadores de primer grado ob-
tenidos se grafican en la figura 18.16a. El valor en x = 5 es 1.3.
528 INTERPOLACIÓN

TABLA 18.1
Datos para ajustarse
con trazadores.

x f (x)

3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5

Una inspección visual a la figura 18.16a indica que la principal desventaja de los
trazadores de primer grado es que no son suaves. En esencia, en los puntos donde se
encuentran dos trazadores (llamado nodo), la pendiente cambia de forma abrupta. For-
malmente, la primer derivada de la función es discontinua en esos puntos. Esta deficien-
cia se resuelve usando trazadores polinomiales de grado superior, que aseguren suavidad
en los nodos al igualar las derivadas en esos puntos, como se analiza en la siguiente
sección.

18.6.2 Trazadores (splines) cuadráticos

Para asegurar que las derivadas m-ésimas sean continuas en los nodos, se debe emplear
un trazador de un grado de, al menos, m + 1. En la práctica se usan con más frecuencia
polinomios de tercer grado o trazadores cúbicos que aseguran primera y segunda deri-
vadas continuas. Aunque las derivadas de tercer orden y mayores podrían ser discontinuas
cuando se usan trazadores cúbicos, por lo común no pueden detectarse en forma visual
y, en consecuencia, se ignoran.
Debido a que la deducción de trazadores cúbicos es algo complicada, la hemos in-
cluido en una sección subsecuente. Decidimos ilustrar primero el concepto de interpo-
lación mediante trazadores usando polinomios de segundo grado. Esos “trazadores
cuadráticos” tienen primeras derivadas continuas en los nodos. Aunque los trazadores cua-
dráticos no aseguran segundas derivadas iguales en los nodos, sirven muy bien para de-
mostrar el procedimiento general en el desarrollo de trazadores de grado superior.
El objetivo de los trazadores cuadráticos es obtener un polinomio de segundo grado
para cada intervalo entre los datos. De manera general, el polinomio en cada intervalo
se representa como

fi(x) = ai x2 + bi x + ci (18.28)

La figura 18.17 servirá para aclarar la notación. Para n + 1 datos (i = 0, 1, 2,..., n) existen
n intervalos y, en consecuencia, 3n constantes desconocidas (las a, b y c) por evaluar. Por
lo tanto, se requieren 3n ecuaciones o condiciones para evaluar las incógnitas. Éstas son:

1. Los valores de la función de polinomios adyacentes deben ser iguales en los nodos
interiores. Esta condición se representa como
18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 529

f (x)
Trazador de
primer orden
2

0
2 4 6 8 10 x
a)
f (x)
Trazador de
segundo orden
2

0
x
b)
f (x)
Trazador
cúbico Interpolación
2 cúbica

0
x
c)

FIGURA 18.16
Ajuste mediante trazadores de un conjunto de cuatro puntos. a) Trazador lineal,
b) Trazador cuadrático y c) trazador cúbico; se grafica también un polinomio
de interpolación cúbico.

ai–1x2i–1 + bi–1xi–1 + ci–1 = f(xi–1) (18.29)


aix2i–1 + bixi–1 + ci = f(xi–1) (18.30)

para i = 2 a n. Como sólo se emplean nodos interiores, las ecuaciones (18.29) y


(18.30) proporcionan, cada una, n – 1 condiciones; en total, 2n – 2 condiciones.
2. La primera y la última función deben pasar a través de los puntos extremos. Esto
agrega dos ecuaciones más:
a1x20 + b1x0 + c1 = f(x0) (18.31)
anx2n + bnxn + cn = f(xn) (18.32)

en total tenemos 2n – 2 + 2 = 2n condiciones.


530 INTERPOLACIÓN

f (x) a3x2 + b3x + c3


a2x2 + b2x + c2
f (x3)
a1x2 + b1x + c1

f (x1)
f (x0) f (x2)

Intervalo 1 Intervalo 2 Intervalo 3

x0 x1 x2 x3 x
i=0 i=1 i=2 i=3

FIGURA 18.17
Notación utilizada para obtener trazadores cuadráticos. Observe que hay n intervalos
y n + 1 datos. El ejemplo mostrado es para n = 3.

3. Las primeras derivadas en los nodos interiores deben ser iguales. La primera deri-
vada de la ecuación 18.28 es

ƒ′(x) = 2ax + b

Por lo tanto, de manera general la condición se representa como


2ai–1xi–1 + bi–1 = 2aixi–1 + bi (18.33)

para i = 2 a n. Esto proporciona otras n – 1 condiciones, llegando a un total de 2n +


n – 1 = 3n – 1. Como se tienen 3n incógnitas, nos falta una condición más. A menos
que tengamos alguna información adicional respecto de las funciones o sus deriva-
das, tenemos que realizar una elección arbitraria para calcular las constantes. Aunque
hay varias opciones, elegimos la siguiente:
4. Suponga que en el primer punto la segunda derivada es cero. Como la segunda
derivada de la ecuación 18.28 es 2ai, entonces esta condición se puede expresar
matemáticamente como
a1 = 0 (18.34)

La interpretación visual de esta condición es que los dos primeros puntos se unirán
con una línea recta.

EJEMPLO 18.9 Trazadores cuadráticos


Planteamiento del problema. Ajuste trazadores cuadráticos a los mismos datos que
se utilizaron en el ejemplo 18.8 (tabla 18.1). Con los resultados estime el valor en
x = 5.
18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 531

Solución. En este problema, se tienen cuatro datos y n = 3 intervalos. Por lo tanto,


3(3) = 9 incógnitas que deben determinarse. Las ecuaciones (18.29) y (18.30) dan 2(3)
– 2 = 4 condiciones:

20.25a1 + 4.5b1 + c1 = 1.0


20.25a2 + 4.5b2 + c2 = 1.0
49a2 + 7b2 + c2 = 2.5
49a3 + 7b3 + c3 = 2.5

Evaluando a la primera y la última función con los valores inicial y final, se agregan 2
ecuaciones más [ecuación (10.31)]:

9a1 + 3b1 + c1 = 2.5

y [ecuación (18.32)]

81a3 + 9b3 + c3 = 0.5

La continuidad de las derivadas crea adicionalmente de 3 – 1 = 2 condiciones [ecuación


(18.33)]:

9a1 + b1 = 9a2 + b2
14a2 + b2 = 14a3 + b3

Por último, la ecuación (18.34) determina que a1 = 0. Como esta ecuación especifica a1
de manera exacta, el problema se reduce a la solución de ocho ecuaciones simultáneas.
Estas condiciones se expresan en forma matricial como

⎡4.5 1 0 0 0 0 0 0 ⎤ ⎧ b1 ⎫ ⎧ 1 ⎫
⎢0 0 20.25 4.5 1 0 0 0 ⎥ ⎪ c1 ⎪ ⎪ 1 ⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢0 0 49 7 1 0 0 0 ⎥ ⎪a2 ⎪ ⎪2.5⎪
⎢ ⎥⎪ ⎪ ⎪ ⎪
⎢0 0 0 0 0 49 7 1 ⎥ ⎪b2 ⎪ ⎪2.5⎪
⎢3 ⎨ ⎬=⎨ ⎬
1 0 0 0 0 0 0 ⎥ ⎪c2 ⎪ ⎪2.5⎪
⎢ ⎥
⎢0 0 0 0 0 81 9 1 ⎥ ⎪a3 ⎪ ⎪0.5⎪
⎢1 ⎪ ⎪ ⎪ ⎪
0 −9 −1 0 0 0 0 ⎥ ⎪ b3 ⎪ ⎪ 0 ⎪
⎢ ⎥
⎢⎣ 0 0 14 1 0 −14 −1 0 ⎥⎦ ⎪⎩ c3 ⎪⎭ ⎪⎩ 0 ⎪⎭

Estas ecuaciones se pueden resolver utilizando las técnicas de la parte tres, con los re-
sultados:

a1 = 0 b1 = –1 c1 = 5.5
a2 = 0.64 b2 = –6.76 c2 = 18.46
a3 = –1.6 b3 = 24.6 c3 = –91.3

que se sustituyen en las ecuaciones cuadráticas originales para obtener la siguiente re-
lación para cada intervalo:
532 INTERPOLACIÓN

f1(x) = –x + 5.5 3.0 < x < 4.5


f2(x) = 0.64x2 – 6.76x + 18.46 4.5 < x < 7.0
2
f3(x) = –1.6x + 24.6x – 91.3 7.0 < x < 9.0

Cuando se usa f 2, la predicción para x = 5 es,

f2(5) = 0.64(5)2 – 6.76(5) + 18.46 = 0.66

El ajuste total por trazadores se ilustra en la figura 18.16b. Observe que hay dos
desventajas que se alejan del ajuste: 1. la línea recta que une los dos primeros puntos y
2. el trazador para el último intervalo parece oscilar demasiado. Los trazadores cúbicos
de la siguiente sección no presentan estas desventajas y, en consecuencia, son mejo-
res métodos para la interpolación mediante trazadores.

18.6.3 Trazadores cúbicos

El objetivo en los trazadores cúbicos es obtener un polinomio de tercer grado para cada
intervalo entre los nodos:
fi(x) = aix3 + bix2 + cix + di (18.35)

Así, para n + 1 datos (i = 0, 1, 2,..., n), existen n intervalos y, en consecuencia, 4n incóg-


nitas a evaluar. Como con los trazadores cuadráticos, se requieren 4n condiciones para
evaluar las incógnitas. Éstas son:

1. Los valores de la función deben ser iguales en los nodos interiores (2n – 2 condi-
ciones).
2. La primera y última función deben pasar a través de los puntos extremos (2 condi-
ciones).
3. Las primeras derivadas en los nodos interiores deben ser iguales (n – 1 condicio-
nes).
4. Las segundas derivadas en los nodos interiores deben ser iguales (n – 1 condicio-
nes).
5. Las segundas derivadas en los nodos extremos son cero (2 condiciones).

La interpretación visual de la condición 5 es que la función se vuelve una línea recta en


los nodos extremos. La especificación de una condición tal en los extremos nos lleva a
lo que se denomina trazador “natural”. Se le da tal nombre debido a que los trazadores
para el dibujo naturalmente se comportan en esta forma (figura 18.15). Si el valor de la
segunda derivada en los nodos extremos no es cero (es decir, existe alguna curvatura),
es posible utilizar esta información de manera alternativa para tener las dos condiciones
finales.
Los cinco tipos de condiciones anteriores proporcionan el total de las 4n ecuaciones
requeridas para encontrar los 4n coeficientes. Mientras es posible desarrollar trazadores
cúbicos de esta forma, presentaremos una técnica alternativa que requiere la solución de
sólo n – 1 ecuaciones. Aunque la obtención de este método (cuadro 18.3) es un poco
menos directo que el de los trazadores cuadráticos, la ganancia en eficiencia bien vale
la pena.
18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 533

Cuadro 18.3 Obtención de trazadores cúbicos

El primer paso en la obtención (Cheney y Kincaid, 1985) se digamos, la ecuación (18.35). Sin embargo, observe que contie-
considera la observación de cómo cada par de nodos está unida ne sólo dos “coeficientes” desconocidos; es decir, las segundas
por una cúbica; la segunda derivada dentro de cada intervalo es derivadas al inicio y al final del intervalo: ƒ″(xi–1) y ƒ″(xi). De
una línea recta. La ecuación (18.35) se puede derivar dos veces esta forma, si podemos determinar la segunda derivada en cada
para verificar esta observación. Con esta base, la segunda deri- nodo, la ecuación (C18.3.2) es un polinomio de tercer grado que
vada se representa mediante un polinomio de interpolación de se utiliza para interpolar dentro del intervalo.
Lagrange de primer grado [ecuación (18.22)]: Las segundas derivadas se evalúan tomando la condición de
que las primeras derivadas deben ser continuas en los nodos:
x – xi x − x i −1
ƒ ′′i ( x ) = ƒ ′′i ( x i −1 ) + ƒ ′′i ( x i ) (C18.3.1)
x i −1 – x i x i – x i −1 f ′i–1(xi) = f ′i(xi) (C18.3.3)

donde fi″(x) es el valor de la segunda derivada en cualquier


La ecuación (C18.3.2) se deriva para ofrecer una expresión
punto x dentro del i-ésimo intervalo. Así, esta ecuación es una
de la primera derivada. Si se hace esto tanto para el (i – 1)-ésimo,
línea recta, que une la segunda derivada en el primer nodo
como para i-ésimo intervalos, y los dos resultados se igualan de
ƒ″(xi–1) con la segunda derivada en el segundo nodo ƒ″(xi).
acuerdo con la ecuación (B18.3.3), se llega a la siguiente rela-
Después, la ecuación (C18.3.1) se integra dos veces para
ción:
obtener una expresión para fi(x). Sin embargo, esta expresión
contendrá dos constantes de integración desconocidas. Dichas
( xi − xi −1 )ƒ ′′( xi −1 ) + 2( xi +1 − xi −1 )ƒ ′′( xi )
constantes se evalúan tomando las condiciones de igualdad de
las funciones [f(x) debe ser igual a f(xi–1) en xi–1 y f(x) debe ser +( xi +1 − xi )ƒ ′′( xi +1 )
igual a f(xi) en xi)]. Al realizar estas evaluaciones, se tiene la si- 6
= [ ƒ( xi +1 ) − ƒ( xi )]
guiente ecuación cúbica: xi +1 − xi
6
ƒ ′′i ( x i −1 ) ƒ ′′i ( x ) + [ ƒ( xi −1 ) − ƒ( xi )] (C18.3.4)
ƒ i ( x) = ( xi − x )3 + ( x − x i −1 ) 3 xi − xi −1
6( x i − x i −1 ) 6( x i − x i −1 )
⎡ ƒ( x i −1 ) ƒ ′′( x i −1 )( x i − x i −1 ) ⎤
+⎢ − ⎥ ( xi − x ) Si la ecuación (C18.3.4) se escribe para todos los nodos interio-
⎣ x i − x i −1 6 ⎦ res, se obtienen n – 1 ecuaciones simultáneas con n + 1 segundas
⎡ ƒ( x i ) ƒ ′′( x i )( x i − x i −1 ) ⎤ derivadas desconocidas. Sin embargo, como ésta es un trazador
+⎢ − ⎥ ( x − x i −1 ) cúbico natural, las segundas derivadas en los nodos extremos son
x
⎣ i − x i −1 6 ⎦ cero y el problema se reduce a n – 1 ecuaciones con n – 1 incóg-
(C18.3.2) nitas. Además, observe que el sistema de ecuaciones será tridia-
gonal. Así, no sólo se redujo el número de ecuaciones, sino que
Ahora, es claro que esta relación es una expresión mucho más las organizamos en una forma extremadamente fácil de resolver
compleja para un trazador cúbico para el i-ésimo intervalo que, (recuerde la sección 11.1.1).

La deducción del cuadro 18.3 da como resultado la siguiente ecuación cúbica en


cada intervalo:
ƒ i′′( xi −1 ) ƒ i′′( xi )
ƒi ( x) = ( xi − x )3 + ( x − xi −1 )3
6( xi − xi −1 ) 6( xi − xi −1 )
⎡ ƒ( xi −1 ) ƒ ′′( xi −1 )( xi − xi −1 ) ⎤
+⎢ − ⎥ ( xi − x )
⎣ xi − xi −1 6 ⎦
⎡ ƒ( xi ) ƒ ′′( xi )( xi − xi −1 ) ⎤ (18.36)
+⎢ − ⎥ ( x − xi −1 )
⎣ xi − xi −1 6 ⎦
534 INTERPOLACIÓN

Esta ecuación contiene sólo dos incógnitas (las segundas derivadas en los extremos de
cada intervalo). Las incógnitas se evalúan empleando la siguiente ecuación:

( xi − xi −1 )ƒ ′′( xi −1 ) + 2( xi +1 − xi −1 )ƒ ′′( xi ) + ( xi +1 − xi )ƒ ′′( xi +1 )


6 6 (18.37)
= [ ƒ( xi +1 ) − ƒ( xi )] + [ ƒ( xi −1 ) − ƒ( xi )]
xi +1 − xi xi − xi −1

Si se escribe esta ecuación para todos los nodos interiores, resultan n – 1 ecuaciones
simultáneas con n – 1 incógnitas. (Recuerde que las segundas derivadas en los nodos
extremos son cero.) La aplicación de estas ecuaciones se ilustra con el siguiente
ejemplo.

EJEMPLO 18.10 Trazadores cúbicos

Planteamiento del problema. Ajuste trazadores cúbicos a los mismos datos que se
usaron en los ejemplos 18.8 y 18.9 (tabla 18.1). Utilice los resultados para estimar el
valor en x = 5.

Solución. El primer paso consiste en usar la ecuación (18.37) para generar el conjunto
de ecuaciones simultáneas que se utilizarán para determinar las segundas derivadas en
los nodos. Por ejemplo, para el primer nodo interior se emplean los siguientes datos:

x0 = 3 f(x0) = 2.5
x1 = 4.5 f(x1) = 1
x2 = 7 f(x2) = 2.5

Estos valores se sustituyen en la ecuación (18.37):


( 4.5 − 3)ƒ ′′(3) + 2( 7 − 3)ƒ ′′( 4.5) + ( 7 − 4.5)ƒ ′′( 7)
6 6
= (2.5 − 1) + (2.5 − 1)
7 − 4.5 4.5 − 3

Debido a la condición de trazador natural, ƒ″(3) = 0, y la ecuación se reduce a

8ƒ″(4.5) + 2.5ƒ″(7) = 9.6

En una forma similar, la ecuación (18.37) se aplica al segundo punto interior con el si-
guiente resultado:

2.5f ′′(4.5) + 9f′′(7) = –9.6

Estas dos ecuaciones se resuelven simultáneamente:

f ′′(4.5) = 1.67909
f ′′(7) = –1.53308

Estos valores se sustituyen después en la ecuación (18.36), junto con los valores de
las x y las f(x), para dar
18.6 INTERPOLACIÓN MEDIANTE TRAZADORES (SPLINES) 535

1.67909 2.5
ƒ1 ( x ) = ( x – 3)3 + ( 4.5 − x )
6( 4.5 − 3) 4.5 − 3
1.67909( 4.5 − 3) ⎤
+ ⎡⎢
1
− ( x − 3)
⎣ 4.5 − 3 6 ⎦⎥

f1(x) = 0.186566(x – 3)3 + 1.666667(4.5 – x) + 0.246894(x – 3)

Esta ecuación es el trazador cúbico para el primer intervalo. Se realizan sustituciones


similares para tener las ecuaciones para el segundo y tercer intervalo:

f2(x) = 0.111939(7 – x)3 – 0.102205(x – 4.5)3 – 0.299621(7 – x)


+ 1.638783(x – 4.5)

f3(x) = –0.127757(9 – x)3 + 1.761027(9 – x) + 0.25(x – 7)

Las tres ecuaciones se pueden utilizar para calcular los valores dentro de cada intervalo.
Por ejemplo, el valor en x = 5, que está dentro del segundo intervalo, se calcula como
sigue

f2(5) = 0.111939(7 – 5)3 – 0.102205(5 – 4.5)3 – 0.299621(7 – 5)


+ 1.638783(5 – 4.5) = 1.102886

Se calculan otros valores y los resultados se grafican en la figura 18.16c.

Los resultados de los ejemplos 18.8 a 18.10 se resumen en la figura 18.16. Observe
cómo mejora progresivamente el ajuste conforme pasamos de trazadores lineales, a
cuadráticos y cúbicos. También hemos sobrepuesto un polinomio de interpolación cúbi-
ca en la figura 18.16c. Aunque el trazador cúbico consiste de una serie de curvas de
tercer grado, el ajuste resultante difiere del obtenido al usar un polinomio de tercer
grado. Esto se debe al hecho de que el trazador natural requiere segundas derivadas
iguales a cero en los nodos extremos; mientras que el polinomio cúbico no tiene tal
restricción.

18.6.4 Algoritmo computacional para trazadores cúbicos

El método para calcular trazadores cúbicos, descrito en la sección anterior, es ideal para
implementarse en una computadora. Recuerde que, con algunas manipulaciones inteli-
gentes, el método se reduce a la solución de n – 1 ecuaciones simultáneas. Un beneficio
más de la derivación es que, como lo especifica la ecuación (18.37), el sistema de ecua-
ciones es tridiagonal. Como se describió en la sección 11.1, existen algoritmos para re-
solver tales sistemas de una manera extremadamente eficiente. La figura 18.18 muestra
una estructura computacional que incorpora esas características.
536 INTERPOLACIÓN

Observe que la subrutina de la figura 18.18 da sólo un valor interpolado, yu, para
un valor dado de la variable dependiente, xu. Ésta es sólo una forma en la cual se puede
implementar la interpolación mediante trazadores. Por ejemplo, a usted deseará deter-
minar los coeficientes una sola vez y, después, realizar muchas interpolaciones. Además,
la rutina da tanto la primera (dy) como la segunda derivadas (dy2) en xu. Aunque no es
necesario calcular esas cantidades, son útiles en muchas aplicaciones de la interpolación
mediante trazadores.

FIGURA 18.18
Algoritmo para la interpolación mediante trazadores cúbicos.

SUBROUTINE Spline (x,y,n,xu,yu,dy,d2y) SUBROUTINE Interpol (x,y,n,d2x,xu,yu,dy,d2y)


LOCAL en, fn, gn, rn, d2xn flag = 0
CALL Tridiag(x,y,n,e,f,g,r) i = 1
CALL Decomp(e,f,g,n–1) DOFOR
CALL Subst(e,f,g,r,n–1,d2x) IF xu ≥ xi–1 AND xu ≤ xi THEN
CALL Interpol(x,y,n,d2x,xu,yu,dy,d2y) c1 = d2xi–1/6/(xi – xi–1)
END Spline c2 = d2xi/6/(xi – xi–1)
c3 = (yi–1/(xi – xi–1) – d2xi–1 * (xi–xi–1)/6
SUBROUTINE Tridiag (x,y,n,e,f,g,r) c4 = (yi/(xi – xi–1) – d2xi * (xi–xi–1)/6
f1 – 2 * (x2–x0) t1 = c1 * (xi – xu)3
g1 – (x2–x1) t2 = c2 * (xu – xi–1)3
r1 – 6/(x2–x1) * (y2–y1) t3 = c3 * (xi – xu)
r1 – r1+6/(x1–x0) * (y0–y1) t4 = c4 * (xu – xi–1)
DOFOR i – 2, n–2 yu = t1 + t2 + t3 + t4
ei – (xi–xi–1) t1 = —3 * c1 * (xi – xu)2
fi – 2 * (xi+1 – xi–1) t2 = 3 * c2 * (xu – xi–1)2
gi – (xi+1 – xi) t3 = –c3
ri – 6/(xi+1 – xi) * (yi+1 – yi) t4 = c4
ri – ri+6/(xi – xi–1) * (yi–1 – yi) dy = t1 + t2 + t3 + t4
END DO t1 = 6 * c1 * (xi – xu)
en–1 = (xn–1 – xn–2) t2 = 6 * c2 * (xu – xi–1)
fn–1 = 2 * (xn – xn–2) d2y = t1 + t2
rn–1 = 6/(xn – xn–1) * (yn – yn–1) flag = 1
rn–1 = rn–1 + 6/(xn–1 – xn–2) * (yn–2 – yn–1) ELSE
END Tridiag i = i + 1
END IF
IF i = n + 1 OR flag = 1 EXIT
END DO
IF flag = 0 THEN
PRINT “outside range”
pause
END IF
END Interpol

También podría gustarte