Está en la página 1de 12

Tema 8

Interpolación

8.1 Introducción
En este tema abordaremos el problema de la aproximación de funciones por medio de la
interpolación, en particular nos centraremos en interpolación polinómica estándar.

Planteamiento del problema:


Dada una función f : [a, b] → R, cuyo valor se conoce en n + 1 puntos: x0 , x1 , . . . , xn del
intervalo [a, b]:
f (x0 ) = y0 , . . . , f (xn ) = yn

se debe construir una nueva función F (x), perteneciente a una determinada clase de
funciones, de tal modo que F (xi ) = yi , ∀i = 0, 1, . . . , n.
En la interpolación polinómica, la función F debe ser, evidentemente, un polinomio que,
como veremos, será de grado n o inferior.

8.2 Interpolación polinómica


La interpolación de unos datos dados se puede hacer, como hemos comentado, de varias
maneras, estudiaremos aquı́ la interpolación polinómica, se trata de un tema impor-
tante debido a que otros muchos esquemas numéricos están basados en la interpolación
polinómica (integración numérica, diferenciación numérica, etc.).
El método más simple de interpolar es la Interpolación Lineal.

8.2.1 Interpolación Lineal.


Consiste en considerar, como función de interpolación, a la recta que une dos puntos
dados. Si el número de datos es superior a dos, se unirán por medio de rectas los puntos
consecutivos, (el orden, obviamente lo marcan las abscisas).

87
88 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

La función de interpolación correspondiente a dos puntos (a, f (a)) y (b, f (b)) será:
x−b x−a
P1 (x) = f (a) + f (b)
a−b b−a
Lógicamente, P1 (a) = f (a) y P1 (b) = f (b), tal y como se pretendı́a.

2.0 3.0

2.5
1.5
2.0

1.5
1.0
1.0

0.5 0.5

-1 1 2 3 4 5 6
0.5 1.0 1.5 2.0 -0.5

Figura 8.1: a) Gráfica de una función y de su polinomio de interpolación lineal entre dos puntos.
b) Ejemplo de interpolación lineal para varios puntos.

Se presenta a continuación un Teorema que permite establecer una expresión del


error que se comete al realizar la aproximación:

f (x) ≃ P1 (x) , ∀x ∈ [a, b]

Teorema: Sea f (x) una función dos veces derivable en un abierto que contiene al
intervalo (a, b). Sea P1 (x) el polinomio de interpolación:
x−b x−a
P1 (x) = f (a) + f (b)
a−b b−a
entonces existe un punto ξ ∈ [a, b] tal que el error de interpolación: ε(x) = f (x) − P1 (x),
se escribe de la forma:
1
ε(x) = (x − a)(x − b)f ′′ (ξ), a<ξ<b
2

A pesar del interés indudable que tiene este Teorema, y de las conclusiones que extrae-
remos del mismo más adelante, es necesario precisar que en general no resulta de mucha
utilidad, dado que con mucha frecuencia la función no es conocida más que por medio
de una tabla de puntos que serán usados en la interpolación, pero no de manera exacta,
con lo que no dispondremos de información acerca de su derivada segunda.
Demostración: El error se define como la diferencia entre la función exacta f (x) y la función
de interpolación P1 (x):
ε(x) = f (x) − P1 (x)
CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8 89

Dado que el error se anula en x = a y x = b, es natural buscar una expresión del mismo del
estilo a: ε(x) = (x − a)(x − b)s(x), siendo s(x) una función por determinar.
Consideremos, para cada punto fijado x ∈ (a, b), la función g(y) definida de la forma:

(y − a)(y − b)
g(y) = ε(y) − ε(x)
(x − a)(x − b)

con y ∈ [a, b]. Dadas las consideraciones del enunciado, es claro que g(y) es continua y dos veces
derivable en un abierto que contiene a [a, b]. Además tenemos, de manera directa:

g(a) = g(x) = g(b) = 0

Podemos ası́ aplicar el Teorema de Rolle, por el que g ′ (y) tendrá un cero en (a, x) y otro en
(x, b). Aplicamos a su vez Rolle a g ′ (y) y concluimos con que g ′′ (y) presenta un cero en un punto
ξ ∈ (a, b). Tendremos ası́:
ε(x)
g ′′ (y) = f ′′ (y) − 2
(x − a)(x − b)

f ′′ (ξ)
g ′′ (ξ) = 0 ⇒ ε(x) = (x − a)(x − b)
2
Q.E.D.

Asumiendo que la variación de f ′′ (x) en [a, b]1 sea pequeña f ′′ (ξ) puede aproximarse
por f ′′ (a) o f ′′ (b) o f ′′ (xm ), donde xm = (a + b)/2. Podemos por tanto escribir aproxi-
madamente:
1
ε(x) ≃ (x − a)(x − b)f ′′ (xm )
2
De hecho, si suponemos que el error máximo se alcanza en las proximidades del punto
medio del intervalo2 :
h2 ′′
max |ε(x)| ≃ |f (xm )|
a<x<b 8
donde h = b − a.
El error, por otra parte, crece si lo hace la longitud del intervalo [a, b] y si lo hace
|f |. No obstante, si f ′′ se anula en el intervalo considerado, estas reglas ya no serán
′′

válidas.

8.2.2 Interpolación de n + 1 puntos


Tomemos n+1 puntos dados {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )} tales que xi ̸= xj , ∀i ̸= j (es
decir puntos que pueden pertenecer a la gráfica de una función) se trata de calcular un
polinomio que pase por esos puntos. En caso de existir, lógicamente será un polinomio
1
Bien por las caracterı́sticas de la función, bien porque el intervalo [a, b] sea lo suficientemente pequeño
para que f ′′ cambie poco.
2
Lo cual no siempre es cierto, evidentemente.
90 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

de grado n, pues posee n + 1 coeficientes a determinar con los n + 1 datos de que se


dispone. Consideremos por tanto un polinomio de grado n:

P (x) = a0 + a1 x + a2 x2 + · · · + an xn

que pase por los puntos dados, es decir que verifique:

y0 = a0 + a1 x0 + a2 x20 + · · · + an xn0
y1 = a0 + a1 x1 + a2 x21 + · · · + an xn1
..
.
yn = a0 + a1 xn + a2 x2n + · · · + an xnn

Ahora bien, esta expresión es un sistema de n + 1 ecuaciones con n + 1 incógnitas,


a0 , . . . , an , y tal que la matriz del sistema es:
 
1 x0 x20 · · · xn0
 
 1 x1 x21 · · · xn1 
 . . .. 
 . . .. . . 
 . . . . . 
1 xn x2n · · · xnn

∏ El determinante de esa matriz es un determinante de Vandermonde, cuyo valor es


(xj − xi ), y donde el producto se extiende, para cada i = 0, . . . , n − 1, a todos los
i<j
valores j de la forma: j = i + 1, . . . , n, y por tanto, si las abscisas de los puntos datos
son diferentes, el determinante es distinto de cero, y ası́ el sistema es compatible y
determinado. En definitiva, el polinomio de interpolación de n + 1 puntos (de diferente
abscisa) existe, es de grado n y es único.
Una primera forma de calcular el polinomio de interpolación es, evidentemente, re-
solver dicho sistema. Sin embargo, en general no es una buena idea, en primer lugar el
número de ecuaciones puede ser elevado, y en segundo lugar, las potencias dan lugar a
cantidades elevadas, con el consiguiente aumento de los errores de redondeo. Veamos
dos métodos alternativos de calcular el polinomio.

8.2.3 Método de Lagrange.


Consideremos la función:

W0 (x) = (x − x1 )(x − x2 ) · · · (x − xn )

Evidentemente es un polinomio de grado n que vale cero en x1 , x2 , . . . , xn , si lo


dividimos por W0 (x0 ), tendremos:
W0 (x) (x − x1 )(x − x2 ) · · · (x − xn )
V0 (x) = =
W0 (x0 ) (x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8 91

polinomio de grado n que vale 1 en x0 y cero en todos los demás xj , j ̸= 0. Análogamente,


construiremos:
(i)
(x − x0 )(x − x1 ) · · · (x − xn )
Vi (x) =
(i)
(xi − x0 )(xi − x1 ) · · · (xi − xn )
donde (i) significa que falta el término i-ésimo.
Tenemos ya n + 1 polinomios de grado n tales que el k-ésimo vale 1 en xk y cero
sobre los restantes. Con ellos construiremos el polinomio:

n
(x − x1 )(x − x2 ) · · · (x − xn )
Pn (x) = Vi (x)yi = y0
(x0 − x1 )(x0 − x2 ) · · · (x0 − xn )
i=0
(x − x0 )(x − x2 ) · · · (x − xn )
+ y1
(x1 − x0 )(x1 − x2 ) · · · (x1 − xn )
..
.
(x − x0 )(x − x1 ) · · · (x − xn−1 )
+ yn
(xn − x0 )(xn − x1 ) · · · (xn − xn−1 )
Es fácil observar que Pn (xk ) = yk , k = 0, 1, . . . , n, y por tanto Pn (x) es el polinomio de
interpolación de esos n + 1 datos (recordemos que el polinomio es único).
Ejemplo: Calcularemos el polinomio de interpolación de grado 2 que pasa por los siguientes
puntos de la gráfica de la función f (x): {(1, 3.2), (1.5, 2.8), (2.2, 1.4)}. Usaremos el Método de
Lagrange:
(x − 1.5)(x − 2.2) (x − 1)(x − 2.2) (x − 1)(x − 1.5)
P2 (x) = 3.2 + 2.8 + 1.4
(1 − 1.5)(1 − 2.2) (1.5 − 1)(1.5 − 2.2) (2.2 − 1)(2.2 − 1.5)
3.2 2.8 1.4
= (x − 1.5)(x − 2.2) − (x − 1)(x − 2.2) + (x − 1)(x − 1.5)
0.6 0.35 0.84
= 5.33 (x − 1.5)(x − 2.2) − 8 (x − 1)(x − 2.2) + 1.67 (x − 1)(x − 1.5)

Comentarios:
1. Es aconsejable no simplificar el polinomio de Lagrange, eso conduce únicamente a
errores de cálculo y a aumentar los errores de redondeo.
2. Es trivial demostrar la existencia y unicidad del polinomio sin utilizar los determi-
nantes de Vandermonde, la existencia queda demostrada al construir el polinomio de
Lagrange, la unicidad se prueba considerando dos polinomios de interpolación de los
mismos datos y distintos, y calcular su diferencia, por un lado será un polinomio de
grado n o menor ( es resta de dos polinomios de grado n ), y por otro lado tiene n + 1
raı́ces x0 , x1 , . . . , xn , ası́ sólo puede ser el polinomio nulo, lo que contradice que los dos
polinomios fueran diferentes.
3. De manera absolutamente análoga a la interpolación lineal, se demuestra que el error
de la interpolación de n + 1 datos se puede escribir de la forma:
(x − x0 )(x − x1 ) · · · (x − xn ) (n+1)
ε(x) = f (x) − Pn (x) = f (ξ), x 0 < ξ < xn
(n + 1)!
92 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

Nota: En este caso al función adecuada para la demostración es:

(y − x0 ) . . . (y − xn )
g(y) = ε(y) − ε(x)
(x − x0 ) . . . (x − xn )

y se aplica Rolle n + 1 veces.


Una vez más, para pequeños intervalos [x0 , xn ] es posible aproximar f (n+1) (ξ) por una
constante, f (n+1) (xm ), siendo xm el punto medio de dicho intervalo. Sin embargo esto
no es posible si el intervalo es grande, si la derivada f (n+1) varı́a sustancialmente en el
mismo, o si dicha derivada cambia de signo en el interior del intervalo. En cualquier caso,
esta fórmula del error presenta un problema fundamental, necesita conocer la función
exacta f (x), lo cual con frecuencia no es posible. El método de Newton permitirá dar
una estimación del error incluso cuando no se conoce la función exacta.
De la fórmula del error pueden deducirse, no obstante, algunas importantes conclu-
siones: Una primera bastante evidente es que el error se incrementa cuanto mayor sea
la anchura total del intervalo de interpolacón.
En segundo lugar, y sobre todo si los puntos están equiespaciados (o razonablemente
cercanos a esa situación), suele ocurrir que el polinomio de interpolación se aproxima
más a la función real en los alrededores del centro del intervalo total, perdiendo precisión
en los extremos.
Por otro lado, es muy importante resaltar que no existe ninguna garantı́a de que al
aumentar el número de datos el polinomio correspondiente converja mejor a la función
real. De manera general (pero no siempre, no se trata de un Teorema), lo que ocurre es
que se acentúa especialmente el último aspecto señalado, es decir, al aumentar el grado de
los polinomios considerados, aumenta la precisión en la parte central del intervalo global,
pero disminuye espectacularmente en los extremos del mismo. Por esta razón, y a pesar
de que no existe un criterio preciso para determinar el grado óptimo, es aconsejable usar
polinomios de grado relativamente bajos en pequeños rangos de x. El inconveniente
que presenta esta opción es que la función resultante es una sucesión de polinomios de
grado bajo definidos a trozos, y de manera no diferenciable en los “nodos” o puntos de
“empalme”. Para solventar este inconveniente existen técnicas más sofisticadas, como
por ejemplo los “splines”.

8.2.4 Método de Newton


El Método de Lagrange plantea una serie de problemas que el de Newton subsana, al
menos en parte. Veamos:
a) El número de cálculos a realizar para cada interpolación es grande.
b) Interpolar un nuevo valor requiere repetir todos los cálculos desde el principio.
c) Ocurre lo mismo cuando se añaden datos nuevos, hay que re-comenzar.
d) No es nada fácil evaluar el error que se comete.
CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8 93

El Método de Newton, como decı́amos, alivia un tanto estas dificultades. Requiere la


elaboración de una tabla de diferencias, pero una vez hecha ésta, se obtienen con facili-
dad polinomios de interpolación de distintos grados para grupos de datos consecutivos.
Además, el error se estima con facilidad.
Tomemos una vez más los n + 1 puntos dados {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}. Consi-
deremos un polinomio de grado cero que pase por (x0 , y0 ), lógicamente, la única posibi-
lidad es :
P0 (x) = y0

Consideremos ahora un polinomio de grado uno que pase por los dos primeros puntos
de la lista de datos, que, además, imponemos sea de la forma:

P1 (x) = P0 (x) + a1 (x − x0 )

que por construcción pasa por el primer punto. Si P1 (x1 ) = y1 , entonces necesariamente:
y1 − y0
a1 =
x1 − x0
De igual forma, construimos: P2 (x) = P1 (x)+a2 (x−x0 )(x−x1 ). Imponer P2 (x2 ) = y2
nos conduce a:
y2 − P1 (x2 )
a2 =
(x2 − x0 )(x2 − x1 )
Y ası́ sucesivamente, obtendremos:

Pn (x) = Pn−1 (x) + an (x − x0 )(x − x1 ) · · · (x − xn−1 )

con
yn − Pn−1 (xn )
an =
(xn − x0 ) · · · (xn − xn−1 )

2 3 4 5 6 7

-2

Figura 8.2: Polinomios P1 (x), P2 (x), . . ., para un conjunto dado de puntos, calculados por el
Método de Newton.
94 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

Tenemos por tanto descrito cómo se obtiene el polinomio de interpolación por el


Método de Newton, sin embargo no es la manera más rápida ni útil de obtenerlo, veamos
por ello, en la sección siguiente, cómo se construye la tabla de diferencias, que agiliza el
proceso.

8.2.5 Diferencias Divididas

Dada una tabla de datos como la que estamos manejando: {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )},
llamaremos diferencias divididas de orden uno a las expresiones siguientes:

yi+1 − yi
yi i+1 =
xi+1 − xi

Es decir: y01 = xy11 −y 0 y2 −y1


−x0 , y12 = x2 −x1 , y ası́ sucesivamente. Con las diferencias de orden
uno podemos construir las diferencias de orden 2:

yi+1 i+2 − yi i+1


yi i+1 i+2 =
xi+2 − xi

y12 −y01
es decir: y012 = x2 −x0 , etc. De manera general, las diferencias de orden k serán:

yi+1 ...(i+k+1) − yi ...(i+k)


yi ...(i+k) (i+k+1) =
xi+k+1 − xi

Con todas estas definiciones, y asumiendo además que las diferencias divididas de orden
0 no son más que los propios yi , es fácil comprobar que los coeficientes del polinomio de
interpolación calculado por el método de Newton no son más que las diferencias divididas
de los sucesivos órdenes.

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

a0 = y0 , a1 = y01 , a2 = y012 , ..., an = y012...n

y, en definitiva:

Pn (x) = y0 + y01 (x − x0 ) + . . . + y012...n (x − x0 ) . . . (x − xn−1 )

Pn (x) = y0 + (x − x0 ) (y01 + (x − x1 ) (y012 + ((x − x2 ) (. . . + y012...n (x − xn−1 )))))

Por tanto, si calculamos una tabla de diferencias divididas de la forma (por ejemplo,
para siete datos)
CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8 95

i xi yi yi i+1 yi i+1 i+2 yi ...i+3 yi ...i+4 yi ...i+5 yi ...i+6


0 x0 y0 y01 y012 y0123 y01234 y012345 y0123456
1 x1 y1 y12 y123 y1234 y12345 y123456
2 x2 y2 y23 y234 y2345 y23456
3 x3 y3 y34 y345 y3456
4 x4 y4 y45 y456
5 x5 y5 y56
6 x6 y6

dispondremos de todos los coeficientes de los diferentes polinomios de Newton calculables


con dichos datos.
Finalmente, es posible obtener una estimación en general razonable para el error
cometido en la interpolación usando las diferencias divididas. Teniendo en cuenta la
definición de y01 , es razonable considerar dicho valor como una buena aproximación
para la derivada primera de la función en el punto medio del intervalo [x0 , x1 ]:
y1 − y0 1
f ′ (x̄1 ) ≈ = y01 , x̄1 = (x0 + x1 )
x1 − x0 2
Y de manera análoga:

f ′ (x̄2 ) ≈ y12 , f ′ (x̄2 ) ≈ y23 ...

Para la derivada segunda en un punto medio X1 ≈ x0 +x2


2 , tendremos

f ′ (x̄2 ) − f ′ (x̄1 ) y12 − y01


f ′′ (X̄1 ) ≈ ≈ x2 −x0 = 2 y012
x̄2 − x̄1 2

Si continuamos el razonamiento se obtiene con facilidad que la derivada (n+a)-ésima


en un punto intermedio X ≈ x0 +x
2
n
se puede aproximar por la expresión:
y012...n(n+1)
f (n+1) (X) ≈
(n + 1)!

y en definitiva podemos escribir la siguiente expresin aproximada para el error de inter-


polación:

f (n+1) (ξ)
ε(x) = (x − x0 ) . . . (x − xn ) ≈ y012...n(n+1) (x − x0 )(x − x1 ) . . . (x − xn )
(n + 1)!

Ejemplo: (Problema 6) Se han realizado medidas en un laboratorio de la viscosidad del agua


a diferentes temperaturas (y a una presión fija), obteniéndose la siguiente tabla de resultados
(donde T está expresada en grados centı́grados (◦ C), y la viscosidad m en mNs
2 10
−3
):
96 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

i T m
0 0 1.792
1 10 1.308
2 30 0.801
3 50 0.549
4 70 0.406
5 90 0.317
6 100 0.248

a) Calcular un polinomio de interpolación de Newton que pase por los puntos :


i) i=2,3,4, ii) i=0,1,2,3
b) Determinar la viscosidad para las temperaturas: T = 5◦ C y T = 54◦ C, y estimar el error de
interpolación para esos puntos.
c) Obtener el polinomio de grado 3 para el cálculo T = 95◦ . Si se añade un nuevo punto
(110, 0.201), obtener una estimación del error en dicho cálculo.
Comenzaremos calculando la tabla de diferencias divididas correspondiente a los datos dados

i Ti mi yi i+1 yi i+1 i+2 yi ...i+3 yi ...i+4 yi ...i+5 yi ...i+6


−4 −6 −8 −10
0 0 1.792 -0.0484 7.683 10 −8.992 10 8.500 10 −6.811 10 1.262 10−12
1 10 1.308 −0.02535 3.1875 10−4 −3.0416 10−6 2.370 10−8 −5.550 10−10
2 30 0.801 −0.0126 1.362 10−4 −1.146 10−6 −2.625 10−8
3 50 0.549 −0.00715 6.75 10−5 −2.983 10−6
4 70 0.406 −0.00445 −8.167 10−5
5 90 0.317 −0.00690
6 100 0.248

(a) Tendremos entonces que el polinomio que pasa por los puntos i = 2, 3 y 4 será:
P2 (T ) = 0.801 − 0.0126(T − 30) + 1.362 10−4 (T − 30)(T − 50)
Mientras que por los puntos i = 0, 1, 2 y 3:
P3 (T ) = 1.792 − 0.0484T + 7.683 10−4 T (T − 10) − 8.992 10−6 T (T − 10)(T − 30)
(b)
m(5) ≃ P3 (5) = 1.5252; ε ≃ |8.500 10−8 5(5 − 10)(5 − 30)(5 − 50)| = | − 0.00239063| ≃ 0.002
m(54) ≃ P2 (54) = 0.5117; ε ≃ | − 1.146 10−6 (54 − 30)(54 − 50)(54 − 70)| = 0.00176026 ≃ 0.002
(c) El polinomio de grado tres más adecuado para el cálculo de m(95) será evidentemente el que
pase por los puntos i = 3, 4, 5 y 6, es decir:
P̄3 (T ) = 0.549− 0.00715(T −50)+6.75 10−5 (T − 50)(T −70) −2.983 10−6 (T − 50)(T − 70)(T − 90)
y ası́: m(95) ≃ P̄3 (95) = 0.2285. Si calculamos la diferencia y34567 tendremos: y34567 =
1.2958 10−7 , y por tanto:
ε ≃ |1.2958 10−7 (95 − 50)(95 − 70)(95 − 90)(95 − 100)| ≃ 0.003
CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8 97

8.3 Interpolación por Splines*


Cuando se dispone de una tabla de datos con un elevado número de elementos y se desea
interpolar con una función continua y derivable, la interpolación polinómica estándar no
nos sirve de manera general, puesto que si utilizamos todos los datos el error en la parte
no central de la tabla es enorme, como ya se ha comentado, y si interpolamos a trozos,
no obtenemos derivabilidad en los nodos o puntos de la tabla. En estos casos se puede
utilizar la interpolación por splines (o esplines).
La idea general de la interpolación por splines consiste, dada una tabla de datos
de una función, en utilizar polinomios de grado reducido para interpolar a trozos, im-
poniendo además condiciones sobre las derivadas de dichos polinomios en los nodos o
puntos de la tabla.
Nos centraremos aquı́ en el caso particular de los splines cúbicos. Trataremos, por
tanto, de encontrar polinomios de grado tres que interpolen entre dos puntos de la
tabla. Lógicamente, si no tomamos ninguna condición más, existirán infinitos polinomios
cúbicos que pasen por dos puntos dados, sin embargo, la imposición de continuidad en
la primera y segunda derivadas, en cada nodo, nos reducián dichos polinomios a tan sólo
uno. Veamos:
Dados la tabla de datos: {(x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )}, puntos de la gráfica de una
función y = f (x) (en principio desconocida), un spline cúbico para dichos datos será
una función S(x), S : [a, b] → R, donde a = x0 y b = xn , tal que verifique las siguientes
condiciones:

• 1. S[x] es un polinomio de grado 3 en cada uno de los intervalos [xi , xi+1 ]. Deno-
taremos por Si (x) a cada uno de esos polinomios, obviamente Si (x) está definido
únicamente en el intervalo [xi , xi+1 ].

• 2. La función pasa por todos los puntos de la tabla, es decir: S(xi ) = yi , ∀i =


0, . . . , n. Esto significa que: Sj (xj ) = yj , Sj (xj+1 ) = yj+1 , ∀j = 0, 1, . . . n − 1.

• 3. S(x) es de clase C 2 en (a, b). En particular, esto implica que la primera derivada
de S(x) verifique:

Sk′ (xk+1 ) = Sk+1



(xk+1 ) , ∀k = 0, 1, 2, . . . , n − 2

Mientras que para la segunda derivada tendremos

Sk′′ (xk+1 ) = Sk+1


′′
(xk+1 ) , ∀k = 0, 1, 2, . . . , n − 2

• 4. Finalmente, para los puntos inicial y final, impondremos la condición extra:

S ′′ (x0 ) = S ′′ (xn ) = 0

Nota: Si se impone esta última condición, se dice que el Spline es un Spline Natural.
98 CÁLCULO / CIENCIAS AMBIENTALES / TEMA 8

Las condiciones anteriores se traducen en un sistema de ecuaciones lineales compa-


tible determinado, por tanto la solución es única. En el siguiente ejemplo se muestra un
caso sencillo de un spline cúbico para simplemente tres datos dados.

Ejemplo: Calculemos un spline cúbico natural para los siguientes datos: {(1, 2.23), (1.8, 3.42),
(2.3, 4.01)}. La función S(x) estará definida evidentemente en el intervalo [1, 2.3], y en particular
en cada sub-intervalo tendremos las funciones S0 (x) y S1 (x), de la forma:
{
S0 (x) 1 ≤ x ≤ 1.8 S0 (x) = a0 + b0 x + c0 x2 + d0 x3
S(x) =
S1 (x) 1.8 ≤ x ≤ 2.3 S1 (x) = a1 + b1 x + c1 x2 + d1 x3

Impongamos las condiciones a verificar:

S0 (1) = 2.23 ⇒ 2.23 = a0 + b0 + c0 + d0


S0 (1.8) = 3.42 ⇒ 3.42 = a0 + 1.8b0 + 1.82 c0 + 1.83 d0
S1 (1.8) = 3.42 ⇒ 3.42 = a1 + 1.8b1 + 1.82 c1 + 1.83 d1
S1 (2.3) = 4.01 ⇒ 4.01 = a1 + 4.01b1 + 4.012 c1 + 4.013 d1
S0′ (1.8) = S1′ (1.8) ⇒ 0 = b0 + 2c0 1.8 + 3d0 1.82 − b1 − 2c1 1.8 − 3d1 1.82
S0′′ (1.8) = S1′′ (1.8) ⇒ 0 = 2c0 + 6d0 1.8 − 2c1 − 6d1 1.8
S0′′ (1) = 0 ⇒ 0 = 2c0 + 6d0
S1′′ (2.3) =0 ⇒ 0 = 2c1 + 6d1 2.3

Tenemos ası́ un sistema de ocho ecuaciones lineales con ocho incógnitas cuya solución es:

a0 = 0.80 , b0 = 1.14 , c0 = 0.44 , d0 = −0.15 , a1 = −1.45 , b1 = 4.87 , c1 = −1.63 , d1 = 0.24

Y en definitiva:
{
0.80 + 1.14x + 0.44x2 − 0.15x3 1 ≤ x ≤ 1.8
S(x) =
−1.45 + 4.87x − 1.63x2 + 0.24x3 1.8 ≤ x ≤ 2.3

0.5 1.0 1.5 2.0

También podría gustarte