Академический Документы
Профессиональный Документы
Культура Документы
Aproximación e
Interpolación
6.1. Interpolación
El proceso de generar una solución aproximada que permita estimar el
valor f (x) para x 6= xi con i = 0 : n; se denomina Interpolación.
6.2. Aproximación
Si se tiene una función f (x), Aproximar es construir otra función P (x)
de tal modo que según algún criterio se comporte de forma semejante. Esto
se ilustra en la Figura 1.1.
Un ejemplo de aproximación puede ser el Polinomio de Taylor (ver Capı́-
tulo 1).
f 00 (x0 )(x − x0 )
Pn (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + + . . . + Rn
2!
255
256 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
f (x)
Puntos
Tabulares
Función Real
. Función Aproximante
. .
. .
.
0 X1 X2 X3 X4 X5 X6
X
x f (x)
x0 f (x0 )
x1 f (x1 )
.. ..
. .
xi f (xi )
.. ..
. .
xn f (xn )
Existen varios métodos para aproximar una función f (x). Los más uti-
lizados son:
• Interpolación Pura.
• Interpolación por Mı́nimos Cuadrados.
• Splines.
6.4. TIPOS DE FUNCIONES DE APROXIMACIÓN E INTERPOLACIÓN257
f (x)
f (x)
Pn (x)
0 X
n
X
Pn (x) = ai Bi (x)
i=0
258 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
B0 (x) = 1
B1 (x) = x
B2 (x) = x2
..
.
Bn (x) = xn
n
X
Pn (x) = a i xi
i=0
Pn (x)
f (x) ≈
Qm (x)
f (x)
f (x)
0 X
Xk
Figura 6.3: Gráfica de una Función Racional f (x) con valor no definido en
el punto xk .
n
X
f (x) ≈ ai ebi x
i=0
n
X
f (x) = a0 + ai cos ix + bi sen ix
i=1
f (x)
P(x) f (x)
Polinomio
Función exponencial
0 X
n
X
Pn (x) = ai xi
i=0
f (x)
P3(x)
[x1, f (x1)]
. f (x)
.
[x ,f (x )] [x2,f (x2)]
. . [x ,f (x )]
3 3
0
X
n
X
Pn (x0 ) = ai x0 i = f (x0 )
i=0
n
X
Pn (x1 ) = ai x1 i = f (x1 ) (6.2)
i=0
.. ..
. .
n
X
Pn (xn ) = ai xn i = f (xn )
i=0
Pn (x0 ) = a0 + a1 x0 + a2 x0 2 + . . . + an x0 n = f (x0 )
f (x)
. f (x)
.
. . P (x) (Polinomio
. Oscilante)
. .
X
0
Figura 6.6: Interpolación de una función, f (x), con siete puntos tabulares
mediante un polinomio, P (x), que es inconvenientemente oscilante alrededor
de f (x).
f (x) .
. . . .
P (x)
.
0
X
for i = 1 : n
for j = 1 : n
V (i, j) = [x(i)]j−1
end
end
6.5.3. Ejemplo:
i xi f (xi )
0 0 1
1 0,25 1,2840
2 0,5 1,6487
3 0,75 2,1170
4 1 2,7163
Solución
1
1 0 0 0 0
a0
1 0, 25 0, 0625 0, 01562 3, 906E −3
1, 2840 a1
1, 6487
= 1 0, 5 0, 25 0, 125
0, 0625 · a2
1 0, 75 0, 5625 0, 42187 0, 31641
2, 1170
a
3
2, 7163 1 1 1 1 1 a4
a0 = 1
a1 = 1, 1179
a2 = −0, 0130
a3 = 0, 8764
a4 = −0, 2650
n
Y (x − xj )
Li (x) =
(xi − xj ) (6.5)
j=1
j 6= i
Es decir, que:
n
X
Pn (x) = ai Li (x) (6.6)
i=0
n
X
Pn (x1 ) = ai Li (x1 ) = f (x1 )
i=0
(6.7)
..
.
n
X
Pn (xn ) = ai Li (xn ) = f (xn )
i=0
0
z }| {
0
(x0 − x1 )(x0 − x2 ) . . . (x0 − xn ) (x0 − x0 )(x0 − x2 ) . . . (x0 − xn ) z}|{
Pn (x0 ) = a0 + a1 + ...
(x0 − x1 )(x0 − x2 ) . . . (x0 − xn ) (x1 − x0 )(x1 − x2 ) . . . (x1 − xn )
| {z }
1
0 1
z }| { z }| {
0
(x1 − x1 )(x1 − x2 ) . . . (x1 − xn ) (x1 − x0 )(x1 − x2 ) . . . (x1 − xn ) z}|{
Pn (x1 ) = a0 + a1 + ...
(x0 − x1 )(x0 − x2 ) . . . (x0 − xn ) (x1 − x0 )(x1 − x2 ) . . . (x1 − xn )
.
..
0
z }| {
0
(xn − x1 )(xn − x2 ) . . . (xn − xn ) z}|{ (xn − x0 )(xn − x1 ) . . . (xn − xn−1 )
Pn (xn ) = a0 + . . . +an
(x0 − x1 )(x0 − x2 ) . . . (x0 − xn ) (xn − x0 )(xn − x1 ) . . . (xn − xn−1 )
| {z }
1
(6.9)
Del sistema 1.9 se puede ver que:
Li (xj ) = 1 Para j = i
Y:
Li (xj ) = 0 Para j 6= i
Por lo que el sistema 1.9 se reduce a:
Pn (x0 ) = a0 = f (x0 )
Pn (x1 ) = a1 = f (x1 )
..
.
Pn (xn ) = an = f (xn )
De la expresión 1.10 se tiene que se puede representar al Polinomio In-
terpolante Pn (x) como sigue:
Pn (x) = f (x0 )L0 (x) + f (x1 )L1 (x) + . . . + f (xn )Ln (x) (6.11)
268 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
n
X
Pn (x) = f (xi )Li (x) (6.12)
i=0
f (n+1) (ξ)
Rn (x) = (x − x0 )n+1
(n + 1)!
El polinomio de Lagrange de grado n usa información en los diferentes
puntos x0 , x1 , . . . , xn y, en vez de (x − x0 )n+1 , su fórmula de error contiene
un producto de n + 1 factores:
n
Y
(x − xi )f (n+1) (ξ)
i=0
Rn (x) =
(n + 1)!
f (x)
. .
Q(x)
. . Exactitud
. .
P (x) Suavidad
. .
0 X
Donde el polinomio 1.13 debe ser de grado n menor que m de modo que,
la sumatoria de los cuadrados de las diferencias entre los valores dados y los
valores del polinomio sea mı́nima. Sea:
270 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
m
X
Q= [Pn (xi ) − f (xi )]2 (6.14)
i=0
m
X
Q(a0 , a1 , a2 , . . . , an ) = [a0 + a1 xi + a2 xi 2 + . . . + an xi n − f (xi )]2
i=0
f (x) P (x)
d4
[x3,f(x3)]
d3 [x4,f(x4)]
m=4
d2
[x2,f(x2)]
d1
[x0,f(x0)]
d0
[x1,f(x1)]
0 X
Para que esto se cumpla las derivadas parciales de Q con respecto a los
coeficientes a0 , a1 , . . . , an ; deben ser iguales a cero, por lo que, derivando la
ecuación 1.14 e igualando esta a cero, se tiene:
m
X
∂Q ∂Pn (xi )
= 2 [Pn (xi ) − f (xi )] =0 (6.15)
∂aj ∂aj
i=0
X m
∂Q ∂Pn (xi )
= [Pn (xi ) − f (xi )] =0 (6.16)
∂aj ∂aj
i=0
∂Pn (xi )
= xi j (6.17)
∂aj
X m X m
∂Q
= Pn (xi )xi j − f (xi )xi j = 0 (6.18)
∂aj
i=0 i=0
m
" n # m
∂Q X X X
= a k xi k xi j − f (xi )xi j = 0 (6.19)
∂aj
i=0 k=0 i=0
n
"m # m
∂Q X X X
k+j
= ak xi − f (xi )xi j = 0 (6.20)
∂aj
k=0 i=0 i=0
n
"m # m
X X X
k+j
ak xi = f (xi )xi j (6.21)
k=0 i=0 i=0
m
X m
X Xm Xm
xi 1 xi 2 xi n
m+1 ... a0
f (xi )
i=0 i=0 i=0
i=0
m m m m
m
X 1 X X X
X
xi xi 2 xi 3 ... xi n+1 f (xi ) · xi 1
a
i=0 1
i=0 i=0 i=0
i=0
m m m m
m
X 2 X X X
n+2 ·
X
xi xi 3 xi 4 ... xi a2 = f (xi ) · xi 2
i=0 i=0 i=0 i=0
i=0
.
. .. .. ..
..
.. ..
. . .
.
X m m m m
m
X X X
2n
X
xi n xi n+1 xi n+2 ... xi an
f (xi ) · xi n
i=0 i=0 i=0 i=0 i=0
(6.22)
Es posible construir el sistema 1.22 de una forma más sencilla, para lo
que se multiplica la Matriz de Vandermonde transpuesta, [V ]T , por esta
última en su forma original, [V ], ası́:
1 1 1 ... 1 1 x0 x0 2 ... x0 n a0 f (x0 )
x0 x1 x2 ... xm 1 x1 x1 2 ... x1
n a1
f (x1 )
2
x0 x1 2 x2 2 ... xm 2 1 x2 x2 2 ... x2 n a2 f (x2 )
· · =
. .. .. .. . .. .. .. ..
..
.. . . . . .
. .
. . .
x0 n x1 n x2 n ... xm n 1 xm xm 2 . . . xm n an f (xm )
| {z } | {z }
[V ]T [V]
(6.23)
La matriz resultante de multiplicar [V ]T por [V ], en el sistema 1.23, es
igual a la matriz de Mı́nimos Cuadrados dada por el sistema 1.22.
f (x) = b xa (6.25)
El método que usualmente se sigue al utilizar este tipo de funciones,
consiste en sacar el logaritmo de la ecuación aproximante, ası́:
ln f (x) = ln b + ax
Para la ecuación 1.25:
ln f (x) = ln b + a ln x
En cualquiera de estos casos el planteamiento lleva a un problema lineal
y las soluciones para ln b y a pueden encontrarse mediante el Método de
Mı́nimos Cuadrados usando polinomios.
m
X
Q= Wi [Pn (xi ) − f (xi )]2 (6.26)
i=0
Q = Wi d1 2 + W2 d2 2 + . . . + Wm dm 2
274 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
6.7.2. Ejemplo:
Ajustar la siguiente tabla a un polinomio de primer grado y a uno de
segundo grado utilizando el Método de los Mı́nimos Cuadrados.
i xi f (xi )
0 0 1
1 0,25 1,2840
2 0,5 1,6487
3 0,75 2,1170
4 1 2,7163
P1 (x) = a0 + a1 x
5 a0 8, 766
2, 5
· =
2, 5 1, 875 a1 5, 4494
Ahora, resolviendo el sistema mediante cualquier Método de Solución de
Sistemas de Ecuaciones Lineales (Ver Capı́tulo 4), se obtienen los coeficientes
del polinomio de primer grado que aproximará a la función tabular dada.
Estos son:
a0 = 0, 9001
a1 = 1, 7062
Entonces, el polinomio aproximante de primer grado buscado, es:
P2 (x) = a0 + a1 x + a2 x2
Xm Xm
X m
1 2 a 0
m + 1 xi xi
f (xi )
i=0 i=0
i=0
m
X Xm m
X Xm
x1 xi 2 3
xi · f (xi )xi 1
i a1 =
i=0
i=0 i=0
i=0
m
X Xm Xm
Xm
x2 3 4
i xi xi f (xi )xi 2
i=0 i=0 i=0
a 2 i=0
a0 = 1, 0049
a1 = 0, 8676
a2 = 0, 8386
6.7.3. Ejemplo:
Ajustar los puntos de la siguiente tabla mediante una función exponencial
utilizando el Método de los Mı́nimos Cuadrados.
i xi f (xi )
0 1 5,10
1 1,25 5,79
2 1,50 6,53
3 1,75 7,45
4 2 8,46
Solución
La función exponencial serı́a:
y = a ebx
ln y = ln(a ebx )
ln y = ln a + bx
De donde:
278 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
a0 = ln a
a1 = b
Como se tiene un polinomio de primer grado, entonces la matriz de
Mı́nimos Cuadrados serı́a:
m
m
X
X
f (xi )
m + 1
xi a
0
i=0
i=0
=
·
m
X
Xm m
X
f (xi )xi x x 2
a
i i
1
i=0 i=0 i=0
Modificando los datos del sistema para este caso, se obtiene que:
m m
X
X
Ln [f (xi )]
m + 1 xi
a0
i=0 i=0
=
m
·
m
X
X m
X
2
Ln [f (xi )]xi x i x i
a1
i=0 i=0 i=0
a0 = 1, 1225
a1 = 0, 505712
Ya que:
a0 = ln a
6.8. SPLINE CÚBICO O TRAZADOR CÚBICO 279
Entonces:
ln a = 1, 1225
Tomando el exponencial de esta última ecuación.
a = e(1,1225)
Finalmente, se llega a:
a = 3, 0725
Además, se tiene que:
b = 0, 505712
Finalmente, la función que se busca es:
y = 3, 0725 e0,505712 x
f (x)
.
. .
. .
. . . .
. f(Xj)
f(Xj+2)
f(X1)
f(Xo) f(Xn)
Por ejemplo, si se conoce los valores de f (x) y f 0 (x) en cada uno de los
puntos x0 , x1 , x2 , . . . , xn ; se podrı́a utilizar un polinomio de grado 3 (Poli-
nomio de Hermite de Grado 3) en cada uno de los subintervalos [x0 , x1 ]; [x1 , x2 ];
. . . ; [xn−1 , xn ]; para obtener una función que sea continuamente diferencia-
ble en el intervalo [x0 , xn ], como se puede ver en la Figura 1.11.
f (x)
.
.
Sj
.
. .
. .
Sj+2
.
Sj+1
So
S1
f(Xj)
Sn-1
.
f(Xj+2)
f(X1) f(Xn)
f(Xo)
0 X
Xo X1 Xj Xj+1 Xj+2 Xn-1 Xn
6.8.1. Condiciones
a) S es un polinomio cúbico, denotado Sj , en el subintervalo [xj , xj+1 ] para
j = 0 : n − 1.
Sj (x) = aj + bj (x − xj ) + cj (x − xj )2 + dj (x − xj )3 (6.27)
hj = xj+1 − xj (6.31)
Para cada j = 0 : n − 1. Si además se define:
an = f (xn ) (6.32)
Sustituyendo las ecuaciones 1.31 y 1.32 en el polinomio 1.30.
aj+1 = aj + bj hj + cj hj 2 + dj hj 3 (6.33)
El polinomio 1.33, se satisface para cada j = 0 : n − 1. De una manera
similar, se define:
bn = S 0 (xn ) (6.34)
Ahora, derivando el polinomio 1.27, se tiene que:
Y definiendo:
S 00 (xn )
cn = (6.39)
2
Ahora, aplicando la condición e) y reemplazando 1.39 en el polinomio
1.38.
h2
aj+1 = aj + bj hj + (2cj + cj+1 ) (6.41)
3
Y:
1 hj
bj = (aj+1 − aj ) − (2cj + cj+1 ) (6.43)
hj 3
Y luego, con una reducción de los ı́ndices en la ecuación 1.43, ası́:
1 hj−1
bj−1 = (aj − aj−1 ) − (2cj−1 + cj ) (6.44)
hj−1 3
Si en 1.42 se hace que el ı́ndice j se reduzca también en uno, entonces:
3 3
hj−1 cj−1 + 2(hj−1 + hj )cj + hj cj+1 = (aj+1 − aj ) − (aj − aj−1 )
hj hj−1
(6.46)
6.8. SPLINE CÚBICO O TRAZADOR CÚBICO 285
Nótese que una vez que se conoce los valores de cj , encontrar las constan-
tes restantes bj y dj , es sencillo (se sustituyen los valores cj en las ecuaciones
1.43 y 1.40, respectivamente), con estos datos se construyen inmediatamente
los polinomios cúbicos Sj (ecuación 1.27).
S 00 (xn )
cn = =0 (6.48)
2
c0 = 0 (6.50)
286 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
Las ecuaciones 1.46, 1.48 y 1.50 producen un sistema lineal descrito por
la ecuación matricial [A] · {x} = {B}, en donde [A] es una matriz de (n + 1)
por (n + 1) dada a continuación por la expresión 1.51.
1 0 0 ··· ··· 0
h0 2(h0 + h1 ) h1
..
0 h1 2(h1 + h2 ) h2 .
..
. 0
hn−2 2(hn−2 + hn−1 ) hn−1
0 ··· ··· 0 0 1
(6.51)
Además, {B} y {x} están dados por:
0
3 3
(a2 − a1 ) − (a1 − a0 )
h1 h0
..
{B} = .
3 3
(an − an−1 ) − (an−1 − an−2 )
hn−1 hn−2
0
Y:
c0
1
c
{x} =
..
.
cn
Por otro lado, la matriz [A] (expresión 1.51) es Diagonal Dominante, por
lo tanto, el sistema lineal tiene una solución única para c0 , c1 , . . . , cn .
Teorema 6.8.2 Si f (x) es una función definida en el intervalo [a, b]; f (x)
tiene un único interpolante de trazador que satisface las condiciones de fron-
tera sujeta:
6.8. SPLINE CÚBICO O TRAZADOR CÚBICO 287
Y:
a1 − a0 h0
f 0 (a) = − (2c0 + c1 ) (6.55)
h0 3
3
2h0 c0 + h0 c1 = (a1 − a0 ) − 3f 0 (a) (6.56)
h0
an − an−1 hn−1
f 0 (b) = − (2cn−1 + cn ) + hn−1 (cn−1 + cn ) (6.57)
hn−1 3
an − an−1 hn−1
f 0 (b) = + (cn−1 + 2cn ) (6.58)
hn−1 3
Ahora, ordenando de manera conveniente la ecuación 1.58, finalmente se
obtiene:
288 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
3
hn−1 cn−1 + 2hn−1 cn = 3f 0 (b) − (an − an−1 ) (6.59)
hn−1
2h0 h0 0 ··· ··· 0
h0 2(h0 + h1 ) h1
..
0 h1 2(h1 + h2 ) h2 .
..
. 0
hn−2 2(hn−2 + hn−1 ) hn−1
0 ··· ··· 0 hn−1 2hn−1
(6.60)
Además, {B} y {x} están dados por:
c0
c1
{x} =
..
.
cn
Y:
6.8. SPLINE CÚBICO O TRAZADOR CÚBICO 289
3
(a1 − a0 ) − 3f 0 (a)
h0
3 3
(a2 − a1 ) − (a1 − a0 )
h1 h0
..
{B} = .
3 3
(an − an−1 ) − (an−1 − an−2 )
hn−1 hn−2
3
3f 0 (b) − (an − an−1 )
hn−1
Teorema 6.8.3 Sea f ∈ C 4 [a, b] con valor máximo en el intervalo, |f (4) (x)| ≤
M . Si S es el único interpolante cúbico de trazador de f con respecto a los
nodos a = x0 < x1 < . . . < xn = b, que satisface las condiciones:
S 0 (a) = f 0 (a)
Y:
S 0 (b) = f 0 (b)
Entonces:
5M
máx |f (x) − S(x)| ≤ máx (xj+1 − xj )4
a≤x≤b 384 0≤j≤n−1
6.8.3. Ejemplo:
Ajustar la siguiente tabla a un trazador cúbico utilizando condiciones de
frontera libre.
j xi f (xi )
0 0 1
1 0,25 1,2840
2 0,5 1,6487
3 0,75 2,1170
4 1 2,7163
Solución
n−1=3
Y:
n+1=5
1 0 0 0 0
h0 2(h0 + h1 ) h1 0 0
[A] = 0 h1 2(h1 + h2 ) h2 0
0 0 h2 2(h2 + h3 ) h3
0 0 0 0 1
aj = f (xj )
Y de la ecuación 1.31:
hj = xj+1 − xj
j aj hj
0 1 0,25
1 1,2840 0,25
2 1,6487 0,25
3 2,1170 0,25
4 2,7163
292 CAPÍTULO 6. APROXIMACIÓN E INTERPOLACIÓN
0 1 0 0 0 0 c0
0, 9684
0, 25
1 0, 25 0 0
c1
1, 2432
= 0 0, 25 1 0, 25
0 · c2
0
1, 572
0 0, 25 1 0, 25
c3
0 0 0 0 0 1 c4
c0 = 0
c1 = 0, 794657
c2 = 0, 694971
c3 = 1, 398257
c4 = 0
j hj cj bj dj aj
0 0,25 0 1,00356 1,05946 1
1 0,25 0,7946 1,4092 -0,13293 1,2840
2 0,25 0,6949 1,69807 0,7033 1,6487
3 0,25 1,3982 2,51371 -1,86426 2,1170
4 0 2,7163
S0 = 1 + 1, 00356x + 1, 05946x3
S2 = 1, 6487 + 1, 69807(x − 0, 5)
2.8
2.6
2.4
2.2
2
f(x)
1.8
1.6
1.4
1.2
0.8
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
x