Procedimiento e interpretación de los coprocultivos.pdf
Interpolación de funciones
1. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Interpolaci´on de funciones
Julio Mulero
@juliomulero
julio.mulero
Departamento de Matem´aticas
Universidad de Alicante
Carmen Gand´ıa
Departamento de Matem´aticas
Universidad de Alicante
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 1 / 70
2. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El problema
El problema de la interpolaci´on consiste en calcular el valor de una funci´on
en un punto cuando
… o bien no se conoce la expresi´on expl´ıcita de la misma,
… o bien no es f´acil de evaluar dicha funci´on en ese punto.
Para resolverlo, se construye una funci´on f´acil de evaluar y que coincida con
la funci´on objeto del problema en los datos que conocemos sobre esta.
Una posible soluci´on es sustituir esta funci´on complicada por otra m´as
sencilla de evaluar, por ejemplo, polinomios, funciones trigonom´etricas,. . .
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 2 / 70
3. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El problema
En todo problema de interpolaci´on hay que concretar dos cuestiones
b´asicas:
… los datos que se desea que sean comunes a la funci´on dada y a la que
la va a interpolar,
… el tipo de funci´on que se va a utilizar como funci´on de interpolaci´on.
Si P es un polinomio, o una funci´on polin´omica a trozos, se habla de
interpolaci´on polinomial .
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 3 / 70
4. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El problema
Datos:
n + 1 puntos x0, x1, . . . , xn.
n + 1 valores f0, f1, . . . , fn.
n + 1 enteros k0, k1, . . . , kn.
Problema:
Buscamos un polinomio P que verifique
P(ki )
(xi ) = fi para todo i = 0, 1, . . . , n.
Observaciones:
x0, x1, . . . , xn se llaman nodos de interpolaci´on .
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 4 / 70
5. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on polinomial
Ejemplos:
Interpolaci´on de Taylor.
Interpolaci´on de Lagrange.
Interpolaci´on de Hermite.
Interpolaci´on polin´omica a trozos (splines).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 5 / 70
6. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Outline
1 La interpolaci´on de Taylor
2 La interpolaci´on de Lagrange
3 La interpolaci´on de Hermite
4 La interpolaci´on polin´omica a trozos
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 6 / 70
7. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Taylor
Brook Taylor (1685–1731)
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 7 / 70
8. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Taylor
En este problema se suponen conocidos los valores de la funci´on f y sus
derivadas sucesivas hasta el orden n en el punto x0 y se trata de hallar un
polinomio Pn(x) de grado menor o igual que n tal que:
P(k)
n (x0) = f (k)
(x0),
para todo k = 0, 1, . . . , n.
Bajo ciertas condiciones, este polinomio existe y se conoce como el
polinomio de Taylor de f de grado menor o igual que n en x0.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 8 / 70
9. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de Taylor
Definici´on
Sea f : [a, b] −→ R una funci´on n-veces derivable y x0 ∈ (a, b). El polinomio
de Taylor de f de grado menor o igual que n en x0 viene dado por
Pn(x) = f (x0) + f (x0)(x − x0) + f (x0)
(x − x0)2
2!
+ · · · + f (n)
(x0)
(x − x0)n
n!
.
Observaci´on
A fin de construir el polinomio de Taylor de f en x0 basta conocer el
valor de sus derivadas en x0.
El polinomio de Taylor Pn satisface que P(i)
(x0) = f (i)
(x0) para todo
i = 0, 1, . . . , n.
El polinomio de Taylor Pn aproxima a f en valores “cercanos” a x0.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 9 / 70
10. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de Taylor
https://www.geogebra.org/m/s59srxwa
https://www.geogebra.org/m/mhbRUfWp
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 10 / 70
11. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de Taylor
Teorema (acotaci´on del error)
Sea Pn(x) el polinomio de Taylor de una funci´on f , (n + 1)-veces
derivable, de grado menor o igual que n en x0 y x ∈ (a, b), entonces
f (x) − Pn(x) = f (n+1)
(ξx )
(x − x0)n+1
(n + 1)!
,
donde ξx es un punto entre x y x0, es el error cometido si usamos la
interpolaci´on de Taylor.
Se cumple que:
|f (x) − Pn(x)| ≤ sup
y∈[a,b]
|f (n+1)
(y)|
(x − x0)n+1
(n + 1)!
.
Demostraci´on http://www.ma.uva.es/~antonio/Industriales/Apuntes_
09-10/MatI/13_Tema-11_09-10.pdf
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 11 / 70
12. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de Taylor
Ejemplo 1
Calcula el polinomio de Taylor de grado menor o igual que 4 de
f (x) = ex
en x0 = 0.
Calcula el polinomio de Taylor de grado menor o igual que 4 de
f (x) = 1/x en x0 = 1.
Calcula el polinomio de Taylor de grado menor o igual que 2 de una
funci´on f tal que
f (64) = 8.
f (64) = 1/16.
f (64) = −1/2048.
en x0 = 64. ¿Imaginas qu´e funci´on es?
Profesor10mates: https://www.youtube.com/watch?v=X8nsYGccnww&
list=PLunRFUHsCA1yV2w5OELy7YC2Mffc-eB9k
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 12 / 70
13. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Outline
1 La interpolaci´on de Taylor
2 La interpolaci´on de Lagrange
3 La interpolaci´on de Hermite
4 La interpolaci´on polin´omica a trozos
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 13 / 70
14. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
Joseph Louis Lagrange (1736–1813)
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 14 / 70
15. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
El problema de la interpolaci´on polinomial de Lagrange consiste en, dados
los valores de una funci´on f ,
fi = f (xi )
para i = 0, 1, . . . , n, en n + 1 puntos distintos x0, x1, . . . , xn del intervalo
[a, b], determinar, si existe, un polinomio Pn(x) de grado menor o igual a n
tal que:
Pn(xi ) = fi para todo i = 0, 1, . . . , n.
A dicho polinomio se le llama el polinomio de interpolaci´on (o
interpolador) de f en los n + 1 puntos dados.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 15 / 70
16. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
https://www.geogebra.org/m/kh2zfhjb
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 16 / 70
17. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valores
f0 = f (x0) y f1 = f (x1) ¿Cu´al ser´a el polinomio interpolador de grado menor
o igual que 1 en x0 y x1?
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 17 / 70
18. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valores
f0 = f (x0) y f1 = f (x1) ¿Cu´al ser´a el polinomio interpolador de grado menor
o igual que 1 en x0 y x1?
El polinomio interpolador de Lagrange de grado menor o igual que 1 es la
recta que pasa por los puntos (x0, f0) y (x1, f1), es decir,
P1(x) = f0 +
f1 − f0
x1 − x0
(x − x0).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 17 / 70
19. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valores
f0 = f (x0) y f1 = f (x1) ¿Cu´al ser´a el polinomio interpolador de grado menor
o igual que 1 en x0 y x1?
El polinomio interpolador de Lagrange de grado menor o igual que 1 es la
recta que pasa por los puntos (x0, f0) y (x1, f1), es decir,
P1(x) = f0 +
f1 − f0
x1 − x0
(x − x0).
Observaci´on
En general, de la misma manera que por dos puntos pasa una ´unica recta
(un polinomio de grado 1), por tres puntos pasa una ´unica par´abola (un
polinomio de grado 2) si no est´an alineados, etc, o por cuatro puntos pasa un
´unico polinomio de grado 3 si no est´an alineados o sobre la misma par´abola,
etc.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 17 / 70
20. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Teorema (Existencia y unicidad)
Dada una funci´on f : [a, b] → R y x0, x1, . . . , xn ∈ [a, b], n + 1 puntos
distintos en [a, b], entonces existe un ´unico polinomio Pn de grado a lo
sumo n tal que:
Pn(xi ) = f (xi ),
para todo i = 0, 1, . . . , n.
Demostraci´on
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 18 / 70
21. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Unicidad:
Supongamos que p(x) y q(x) son dos polinomios no nulos de grado a lo sumo
n verificando dichas condiciones. Entonces, r(x) = p(x) − q(x) es un polinomio
de grado a lo sumo n y adem´as verifica que r(xi ) = p(xi ) − q(xi ) = fi − fi =
0, para i = 0, 1, . . . , n, luego r(x) posee n + 1 ra´ıces distintas y, por tanto,
r(x) = 0 (Teorema Fundamental del ´Algebra: Todo polinomio no nulo de grado
n tiene exactamente n ra´ıces, contando cada una tantas veces como indique su
multiplicidad, luego posee a lo m´as n ra´ıces distintas).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 19 / 70
22. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Unicidad:
Supongamos que p(x) y q(x) son dos polinomios no nulos de grado a lo sumo
n verificando dichas condiciones. Entonces, r(x) = p(x) − q(x) es un polinomio
de grado a lo sumo n y adem´as verifica que r(xi ) = p(xi ) − q(xi ) = fi − fi =
0, para i = 0, 1, . . . , n, luego r(x) posee n + 1 ra´ıces distintas y, por tanto,
r(x) = 0 (Teorema Fundamental del ´Algebra: Todo polinomio no nulo de grado
n tiene exactamente n ra´ıces, contando cada una tantas veces como indique su
multiplicidad, luego posee a lo m´as n ra´ıces distintas).
Existencia:
Llamemos fi = f (xi ), para i = 0, 1, . . . , n. Tenemos n + 1 puntos (x0, f0),
(x0, f0),. . . ,(xn, fn) y buscamos un polinomio Pn de grado menor o igual que n,
Pn(x) = a0 + a1x + a2x2
+ · · · + an
xn,
tal que
Pn(xi ) = a0 + a1xi + a2x2
i + · · · + anxn
i = fi ,
para todo i = 0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 19 / 70
23. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Por tanto, buscamos a0, a1, a2, . . . , an ∈ R tales que
a0 + a1x0 + a2x2
0 + · · · + anxn
0 = f0
a0 + a1x1 + a2x2
1 + · · · + anxn
1 = f1
a0 + a1x2 + a2x2
2 + · · · + anxn
2 = f2
...
a0 + a1xn + a2x2
n + · · · + anxn
n = fn
O, lo que es lo mismo,
1 x0 x2
0 · · · xn
0
1 x1 x2
1 · · · xn
1
1 x2 x2
2 · · · xn
2
...
1 xn x2
n · · · xn
n
a0
a1
a2
...
an
=
f0
f1
f2
...
fn
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 20 / 70
24. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Se tiene que:
1 x0 x2
0 · · · xn
0
1 x1 x2
1 · · · xn
1
1 x2 x2
2 · · · xn
2
...
1 xn x2
n · · · xn
n
=
0≤i<j≤n
(xj − xi ) = 0.
https://www.ditutor.com/determinantes/determinante_vandermonde.
html
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 21 / 70
25. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El polinomio de interpolaci´on
Se tiene que:
1 x0 x2
0 · · · xn
0
1 x1 x2
1 · · · xn
1
1 x2 x2
2 · · · xn
2
...
1 xn x2
n · · · xn
n
=
0≤i<j≤n
(xj − xi ) = 0.
https://www.ditutor.com/determinantes/determinante_vandermonde.
html
En consecuencia, rg(A) = rg(A∗
) = n y el sistema es compatible determinado, es
decir, existe un conjunto ´unico de soluciones a0, a1, a2, . . . , an ∈ R y, por tanto,
existe un ´unico polinomio Pn que verifica las condiciones.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 21 / 70
26. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de interpolaci´on
Teorema (error)
Sea f : [a, b] −→ R una funci´on (n+1)-veces derivable. Si Pn es el polinomio
de interpolaci´on de f en los puntos x0, x1, . . . , xn y x ∈ [a, b], entonces:
f (x) − Pn(x) = f (n+1)
(ξx )
(x − x0)(x − x1)(x − x2) . . . (x − xn−1)(x − xn)
(n + 1)!
,
donde ξx ∈ (a, b).
Demostraci´on
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 22 / 70
27. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de interpolaci´on
Sea x ∈ [a, b] un valor fijo:
Si x = xk , para cierto k ∈ {0, 1, . . . , n}, la f´ormula es trivialmente cierta.
En caso contrario, sea φ : [a, b] −→ R definida como:
φ(z) = f (z) − Pn(z) − a(x)(z − x0)(z − x1) · · · (z − xn),
donde
a(x) =
f (x) − Pn(x)
(x − x0)(x − x1) · · · (x − xn)
.
Observemos que φ(x0) = φ(x1) = · · · = φ(xn) = φ(x) = 0.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 23 / 70
28. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de interpolaci´on
La funci´on φ(z) se anula en n + 2 puntos y verifica las condiciones del
Teorema de Rolle generalizado. M´as concretamente, dado que φ es
continua en [a, b], φ(n+1)
(z) existe en cada punto de z ∈ (a, b) y φ tiene
n + 2 ceros en [a, b], entonces existe un punto ξx en (a, b) tal que
φ(n+1)
(ξx ) = 0. Es decir,
φ(n+1)
(ξx ) = f (n+1)
(ξx ) − a(x)(n + 1)! = 0.
Despejando a(x), se obtiene:
a(x) =
f (n+1)
(ξx )
(n + 1)!
.
Finalmente,
f (x) − Pn(x) = a(x)(x − x0)(x − x1) · · · (x − xn)
= f (n+1)
(ξx )
(x − x0)(x − x1)(x − x2) . . . (x − xn−1)(x − xn)
(n + 1)!
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 24 / 70
29. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de interpolaci´on
Teorema (acotaci´on del error)
Bajo las mismas hip´otesis que el teorema anterior, se cumple que:
|f (x) − Pn(x)|
≤ sup
y∈[a,b]
|f (n+1)
(y)|
(x − x0)(x − x1)(x − x2) . . . (x − xn−1)(x − xn)
(n + 1)!
.
Demostraci´on
Se deduce del teorema anterior.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 25 / 70
30. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
El error del polinomio de interpolaci´on
Observaci´on
Cuando se quiere calcular el polinomio interpolador de grado n en [a, b],
es frecuente utilizar n + 1 nodos equiespaciados. Sin embargo, una opci´on
que ofrece mejores resultados es el uso de los conocidos como nodos de
Chebyshev, que son:
xi =
b + a
2
−
b − a
2
cos
2i + 1
2n + 2
π , i = 0, 1, . . . , n,
o bien, se pueden calcular como las n + 1 ra´ıces del polinomio (llamado) de
Chebyshev de grado n + 1 en el intervalo [a, b].
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 26 / 70
31. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
Ejemplo 3
Obt´en el polinomio de interpolaci´on con los datos de la siguiente tabla
planteando las condiciones y resolviendo el sistema de ecuaciones cuya ma-
triz de coeficientes viene dada por la matriz de Vandermonde:
xk -2 0 2 5
yk 2 4 3 4
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 27 / 70
32. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
Dado que disponemos de informaci´on sobre cuatro puntos, buscamos un polinomio
de grado tres forma que P3(−2) = 2, P3(0) = 4, P3(2) = 3 y P3(5) = 4.
El polinomio P3 tendr´a la forma:
P3(x) = a0 + a1x + a2x2
+ a3x4
,
de manera que, al plantear las condiciones correspondientes, se obtiene el siguiente
el sistema de ecuaciones:
1 −2 4 −8
1 0 0 0
1 2 4 8
1 5 25 125
a0
a1
a2
a4
=
2
4
3
4
La soluci´on puede obtenerse en t´erminos de la expresi´on matricial (si Ax = b,
entonces x = A−1
b).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 28 / 70
33. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
import numpy as np
x=np.array([-2,0,2,5])
np.vander(x)
Out[1]:
array([[ -8, 4, -2, 1],
[ 0, 0, 0, 1],
[ 8, 4, 2, 1],
[125 , 25 , 5, 1]])
y=np.array([2,4,3,4])
p=np.dot(np.linalg.inv(np.vander(x)),y.T)
print(p)
Out[2]:
[ 0.07738095 -0.375 -0.05952381 4. ]
np.polyval(p,0)
Out[3]: 4.0
El polinomio es P3(x) = 4 − 0.0595x − 0.375x2 + 0.0773x3.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 29 / 70
34. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
Motivaci´on:
El polinomio de interpolaci´on puede ser obtenido a partir de la resoluci´on
de un sistema de ecuaciones lineales, pero se pueden cometer grandes
errores porque la matriz de Vandermonde est´a mal condicionada. . .
Un procedimiento m´as “eficiente”:
Usando los polinomios fundamentales de Lagrange.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 30 / 70
35. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando los polinomios fundamentales de Lagrange
El polinomio Pn satisface que Pn(xi ) = fi , para todo i = 0, 1, . . . , n.
Si obtenemos polinomios i , para i = 0, 1, . . . , n, tales que:
i (xk ) =
1, si k = i,
0, si k = i.
entonces:
Pn(x) = f0 0(x) + f1 1(x) + · · · + fn n(x) =
n
i=0
fi i (x).
Los i , para i = 0, 1, . . . , n, se conocen como polinomios fundamentales
de Lagrange.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 31 / 70
36. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando los polinomios fundamentales de Lagrange
C´alculo de los polinomios fundamentales
Si i (xk ) = 0, para todo i = k, entonces
i (x) = c(x − x0) · · · (x − xi−1)(x − xi+1) · · · (x − xn).
Dado que i (xi ) = 1,
1 = c(xi − x0) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn).
Por tanto,
c =
1
(xi − x0) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn)
.
Y,
i (x) =
(x − x0) · · · (x − xi−1)(x − xi+1) · · · (x − xn)
(xi − x0) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn)
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 32 / 70
37. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando los polinomios fundamentales de Lagrange
Definici´on
Los polinomios fundamentales i , para i = 0, 1, . . . , n, vienen dados por:
i (x) =
k=i (x − xk )
k=i (xi − xk )
Construcci´on usando los polinomios fundamentales
El polinomio interpolador se obtiene como una combinaci´on lineal de los
polinomios i , i = 0, 1, . . . , n,
Pn(x) =
n
i=0
fk
k=i (x − xk )
k=i (xi − xk )
=
n
i=0
fk i (x).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 33 / 70
38. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on usando los polinomios fundamentales
Ejemplo 3 (cont.)
Obt´en el polinomio de interpolaci´on con los datos de la siguiente tabla
planteando las condiciones y usando los polinomios fundamentales de La-
grange:
xk -2 0 2 5
yk 2 4 3 4
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 34 / 70
39. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on usando los polinomios fundamentales
El polinomio de interpolaci´on ser´a obtenido de la forma:
P3(x) = f0 0(x) + f1 1(x) + f2 2(x) + f3 3(x),
donde
i (x) =
k=i (x − xk )
k=i (xi − xk )
, para i = 0, 1, 2, 3.
Los polinomios fundamentales son:
0(x) =
x(x − 2)(x − 5)
(−2)(−2 − 2)(−2 − 5)
1(x) =
(x + 2)(x − 2)(x − 5)
2(−2)(−5)
2(x) =
(x + 2)x(x − 5)
4 × 2 × (−3)
3(x) =
(x + 2)x(x − 2)
7 × 5 × 3
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 35 / 70
40. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on usando los polinomios fundamentales
El polinomio de interpolaci´on es:
P3(x) = 2
x(x − 2)(x − 5)
(−2)(−2 − 2)(−2 − 5)
+ 4
(x + 2)(x − 2)(x − 5)
2(−2)(−5)
+ 3
(x + 2)x(x − 5)
4 × 2 × (−3)
+ 4
(x + 2)x(x − 2)
7 × 5 × 3
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 36 / 70
41. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
Motivaci´on:
El polinomio de interpolaci´on puede ser obtenido a partir de los polinomios
fundamentales de Lagrange. Sin embargo, si a˜nadimos un punto nuevo
deberemos repetir todos los c´alculos.
Newton (que no daba puntada sin hilo) propuso un m´etodo para obtener el
polinomio de interpolaci´on aprovechando los c´alculos previamente
realizados. . .
Un procedimiento a´un m´as “eficiente”:
Usando las diferencias divididas de Newton.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 37 / 70
42. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Definici´on (diferencias divididas)
Sea f : [a, b] −→ R una funci´on “suficientemente derivable” y n + 1 puntos
distintos, x0, x1, . . . , xn, las diferencias divididas de orden 0 se definen como:
f [xi ] = f (xi ),
y, por inducci´on, las diferencias divididas de orden k:
f [xi , xi+1, . . . , xi+k−1, xi+k ] =
f [xi+1, . . . , xi+k−1, xi+k ] − f [xi , xi+1, . . . , xi+k−1]
xi+k − xi
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 38 / 70
43. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Observaci´on
Si no disponemos de una funci´on, sino que solo conocemos un conjunto
{(xi , fi ) : i = 0, 1, . . . , n}, tambi´en podemos calcular las diferencias dividi-
das. En este caso, las diferencias divididas de orden 0 se denotar´an, y se
calcular´an, como:
[fi ] = fi ,
y las diferencias divididas de orden k:
[fi , fi+1, . . . , fi+k−1, fi+k ] =
[fi+1, . . . , fi+k−1, fi+k ] − [fi , fi+1, . . . , fi+k−1]
xi+k − xi
.
En resumen, observemos que solo necesitamos disponer de fi , para i =
0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 39 / 70
44. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Construcci´on de una tabla para las diferencias divididas:
x0 f [x0] f [x0, x1] f [x0, x1, x2] . . . f [x0, x1, x2, . . . , xn]
x1 f [x1] f [x1, x2] f [x1, x2, x3] . . .
x2 f [x2] f [x2, x3] f [x2, x3, x4] . . .
. . . . . . . . . . . . . . .
xn−1 f [xn−1] f [xn−1, xn]
xn f [xn]
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 40 / 70
45. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Construcci´on de una tabla para las diferencias divididas:
x0 f [x0] f [x0, x1] f [x0, x1, x2] . . . f [x0, x1, x2, . . . , xn]
x1 f [x1] f [x1, x2] f [x1, x2, x3] . . .
x2 f [x2] f [x2, x3] f [x2, x3, x4] . . .
. . . . . . . . . . . . . . .
xn−1 f [xn−1] f [xn−1, xn]
xn f [xn]
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 41 / 70
46. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Construcci´on usando las diferencias divididas
Sea f : [a, b] −→ R una funci´on “suficientemente derivable” y n + 1 puntos
distintos, x0, x1, . . . , xn, el polinomio de interpolaci´on de grado menor o igual
que n (que, en este contexto, tambi´en suele llamarse polinomio interpolador
de Newton) se puede obtener como:
Pn(x) = f [x0] + f [x0, x1](x − x0) + f [x0, x1, x2](x − x0)(x − x1)+
+ · · · + f [x0, x1, x2, . . . , xn](x − x0)(x − x1) . . . (x − xn−1).
Observaci´on (recursividad)
Cada polinomio P0, P1, . . . , Pn puede obtenerse de forma recursiva
a˜nadiendo un “sumando”:
Pn(x) = Pn−1(x) + f [x0, x1, x2, . . . , xn](x − x0)(x − x1) . . . (x − xn−1).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 42 / 70
47. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on usando las diferencias divididas
Ejemplo 3 (cont.)
Obt´en el polinomio de interpolaci´on con los datos de la siguiente tabla
planteando las condiciones y usando las diferencias divididas de Newton:
xk -2 0 2 5
yk 2 4 3 4
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 43 / 70
48. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Usando las diferencias divididas de Newton
Construcci´on de una tabla para las diferencias divididas:
x0 = −2 f [x0] = 2 f [x0, x1] = 1 f [x0, x1, x2] = −0.375 f [x0, x1, x2, x3] = 0.0
x1 = 0 f [x1] = 4 f [x1, x2] = −0.5 f [x1, x2, x3] = 0.1666
x2 = 2 f [x2] = 3 f [x2, x3] = 0.3333
x3 = 5 f [x3] = 4
El polinomio ser´a:
Pn(x) = 2 + (x + 2) − 0.375(x + 2)x + 0.0773(x + 2)x(x − 2).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 44 / 70
49. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on
Ejemplo 4
En una planta qu´ımica se sintetiza un producto que es utilizado posterior-
mente como conservante de productos enlatados. El rendimiento del proceso
depende de la temperatura. Se dispone de los siguientes datos:
T (o
C) 150 160 170 180
R (%) 35.5 37.8 43.6 45.7
Se considera un rendimiento ´optimo el que va de 38.5 a 45. Si la temperatura
de trabajo cae a 162o
C por una aver´ıa, ¿ser´a el proceso satisfactorio hasta
que sea reparada?
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 45 / 70
50. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio de interpolaci´on en Python
import numpy as np
x=np.array([150 ,160 ,170 ,180])
y=np.array([35.5,37.8,43.6,45.7])
np.vander(x)
Out[1]:
array([[3375000 , 22500 , 150 , 1],
[4096000 , 25600 , 160 , 1],
[4913000 , 28900 , 170 , 1],
[5832000 , 32400 , 180 , 1]])
#Tres formas :
np.dot(np.linalg.inv(np.vander(x)),y.T)
np.polyfit(x,y,3)
PolNewton(x,y) #Que programaremos ...
El polinomio es P3(x) = 5316.99 − 97.23x + 0.0593x2
− 0.0012x3
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 46 / 70
51. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Outline
1 La interpolaci´on de Taylor
2 La interpolaci´on de Lagrange
3 La interpolaci´on de Hermite
4 La interpolaci´on polin´omica a trozos
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 47 / 70
52. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Hermite
Charles Hermite (1822–1901)
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 48 / 70
53. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Hermite
El problema de la interpolaci´on polinomial de Hermite consiste en, dados
los valores de una funci´on f y su derivada f , que abreviamos por:
fi = f (xi ) y fi = f (xi ),
para i = 0, 1, . . . , n, en n + 1 puntos distintos x0, x1, . . . , xn del intervalo
[a, b], determinar, si existe un polinomio H2n+1(x) de grado menor o igual
que 2n + 1 tal que:
H2n+1(xi ) = fi y H2n+1(xi ) = fi para todo i = 0, 1, . . . , n.
A dicho polinomio se le llama el polinomio interpolador de Hermite de f
en los n + 1 puntos dados.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 49 / 70
54. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Hermite
Observaci´on
¿Cu´antas condiciones debe satisfacer el polinomio resultante?
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 50 / 70
55. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Hermite
Observaci´on
¿Cu´antas condiciones debe satisfacer el polinomio resultante?
H2n+1(xi ) = fi , i = 0, 1, . . . , n (n + 1 condiciones).
H2n+1(xi ) = fi , i = 0, 1, . . . , n (n + 1 condiciones).
El polinomio de Hermite satisfar´a 2n + 2 condiciones, que permitir´an
calcular 2n + 2 inc´ognitas, que ser´an los coeficientes de un polinomio
de grado menor o igual que 2n + 1.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 50 / 70
56. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on de Hermite
Teorema (existencia y unicidad)
El polinomio interpolador de Hermite de una funci´on derivable f : [a, b] −→
R en los puntos x0, x1, . . . , xn, se puede obtener como:
H2n+1(x) =
n
j=0
f (xj )Hj (x) +
n
j=0
f (xj ) ˆHj (x),
donde
Hj (x) = [1 − 2(x − xj ) j (x)] 2
j (x),
ˆHj (x) = (x − xj ) 2
j (x),
siendo j el j-´esimo polinomio fundamental de Lagrange.
Adem´as, H2n+1(x) es ´unico y, si f es suficientemente derivable en el intervalo
[a, b] el error de interpolaci´on viene dado por:
f (x) − H2n+1(x) = f (2n+2)
(ξx )
(x − x0)2
(x − x1)2
. . . (x − xn−1)(x − xn)2
(2n + 2)!
.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 51 / 70
57. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Construcci´on de una tabla para las diferencias divididas:
ω0 = x0 f [ω0] f [ω0, ω1] f [ω0, ω1, ω2] . . . f [ω0, ω1, . . . , ω2n+1]
ω1 = x0 f [ω1] f [ω1, ω2] f [ω1, ω2, ω3] . . .
ω2 = x1 f [ω2] f [ω2, ω3] f [ω2, ω3, ω4] . . .
ω3 = x1 f [ω3] f [ω3, ω4] f [ω3, ω4, ω5] . . .
ω4 = x2 f [ω4] f [ω4, ω5] f [ω4, ω5, ω6] . . .
ω5 = x2 f [ω5] f [ω5, ω6] f [ω5, ω6, ω7] . . .
. . . . . . . . . . . . . . .
ω2n−2 = xn−1 f [ω2n−2] f [ω2n−2, ω2n−1] f [ω2n−2, ω2n−1, ω2n]
ω2n−1 = xn−1 f [ω2n−1] f [ω2n−1, ω2n] f [ω2n−1, ω2n, ω2n+1]
ω2n = xn f [ω2n] f [ω2n, ω2n+1]
ω2n+1 = xn f [ω2n+1]
Observaci´on
Notemos que:
Llamamos ω2i = ω2i+1 = xi , para todo i = 0, 1, . . . , n.
Sustituimos f [ω2i , ω2i+1] por f (xi ), para todo i = 0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 52 / 70
58. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
El polinomio interpolador de Hermite
El polinomio interpolador de Hermite de una funci´on derivable f : [a, b] −→
R en los puntos x0, x1, . . . , xn satisface que:
H2n+1(x) = P2n+1(x).
Demostraci´on
Fijamos ωi ∈ [a, b], i = 0, 1, . . . , 2n + 1, tales que:
ω0 < ω1 < ω2 < ω3 < ω4 < · · · < ω2n < ω2n+1,
donde ω2i = xi , para todo i = 0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 53 / 70
59. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Construimos el polinomio interpolador de Lagrange de grado menor o igual que
2n + 1:
f (x) = f [ω0] + f [ω0, ω1](x − ω0) + f [ω0, ω1, ω2](x − ω0)(x − ω1)+
+ · · · + f [ω0, ω1, ω2, . . . , ω2n+1, x](x − ω0)(x − ω1) . . . (x − ω2n+1).
La funci´on
f [x, xi ] =
f (x) − f (xi )
x − xi
, para todo i = 0, 1, . . . , n,
es continua en todo R excepto en x = xi .
Definimos
f [xi , xi ] = lim
x→xi
f (x) − f (xi )
x − xi
, para todo i = 0, 1, . . . , n.
Tomamos l´ımites cuando ω2i+1 → ωi , para todo i = 0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 54 / 70
60. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Obtenemos:
f (x) = f [ω0] + f [ω0, ω0](x − ω0) + f [ω0, ω0, ω2](x − ω0)(x − ω0)+
+ · · · + f [ω0, ω0, ω2, . . . , ω2n, x](x − ω0)(x − ω0) . . . (x − ω2n).
O, lo que es lo mismo:
f (x) = f [x0] + f [x0, x0](x − ω0) + f [x0, x0, x1](x − x0)2
+
+ · · · + f [x0, x0, x1, . . . , xn, x](x − x0)2
. . . (x − xn)2
.
El polinomio interpolador de Lagrange ser´a:
P2n+1(x) = f [x0] + f [x0, x0](x − ω0) + f [x0, x0, x1](x − x0)2
+
+ · · · + f [x0, x0, x1, . . . , xn](x − x0)2
. . . (x − xn).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 55 / 70
61. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Adem´as, se tiene que:
f (x) − P2n+1(x) = f [x0, x0, x1, . . . , xn, x](x − x0)2
. . . (x − xn)2
.
Si llamamos
D(x) = f [x0, x0, x1, . . . , xn, x](x − x0)2
. . . (x − xn)2
,
se puede ver que:
D(xi ) = 0
D (xi ) = 0
para todo i = 0, 1, . . . , n.
Por tanto, P2n+1 es un polinomio de grado menor o igual que 2n + 1 que coincide
con f , y cuya derivada coincide con f , en xi , i = 0, 1, . . . , n.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 56 / 70
62. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Ejemplo 5
Construye el polinomio interpolador de Hermite de una funci´on f en los
puntos x0 = −1 y x1 = −2, sabiendo que f (−1) = −9, f (−1) = 10,
f (−2) = 12 y f (−2) = 13.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 57 / 70
63. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
C´alculo del polinomio interpolador de Hermite
Ejemplo 5
Construye el polinomio interpolador de Hermite de una funci´on f en los
puntos x0 = −1 y x1 = −2, sabiendo que f (−1) = −9, f (−1) = 10,
f (−2) = 12 y f (−2) = 13.
Construimos la tabla de las diferencias divididas:
ω0 = −1 f [ω0] = −9 f [ω0, ω1] = 10 f [ω0, ω1, ω2] = 31 f [ω0, ω1, ω2, ω3] = 65
ω1 = −1 f [ω1] = −9 f [ω1, ω2] = −21 f [ω1, ω2, ω3] = −34
ω2 = −2 f [ω2] = 12 f [ω2, ω3] = 13
ω3 = −2 f [ω3] = 12
El polinomio de interpolaci´on de Hermite ser´a:
H3(x) = −9 + 10(x + 1) + 31(x + 1)2
+ 65(x + 1)2
(x + 2).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 57 / 70
64. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Outline
1 La interpolaci´on de Taylor
2 La interpolaci´on de Lagrange
3 La interpolaci´on de Hermite
4 La interpolaci´on polin´omica a trozos
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 58 / 70
65. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
I.J. Schoenberg (1903–1990)
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 59 / 70
66. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Motivaci´on
Es l´ogico pensar que, de todos los m´etodos vistos hasta ahora, el que mejor
funciona es el de Hermite puesto que, en cada nodo, coinciden la
“hipot´etica curva” que genera los datos, y su pendiente, con el polinomio
interpolador y su derivada.
Sin embargo, todos los m´etodos de interpolaci´on presentan algunos
defectos. En primer lugar, el m´etodo de Hermite requiere de informaci´on
que en ocasiones no se puede conocer. En segundo lugar, los polinomios de
alto grado son muy oscilantes.
En este sentido, trataremos de ajustar varios polinomios de bajo grado (uno
por cada [xi , xi+1], i = 0, 1, . . . , n, que se unir´an obedeciendo ciertas
condiciones de continuidad.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 60 / 70
67. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
La interpolaci´on polin´omica a trozos
Datos:
n + 1 puntos distintos x0, x1, . . . , xn.
n + 1 valores y0, y1, . . . , yn.
Problema:
Buscamos una funci´on S tal que:
S es una funci´on continua derivable p − 1 veces en el intervalo [x0, xn].
S es una funci´on a trozos formada por los polinomios S0, S1, . . . , Sn−1 que
vamos a usar respectivamente en [x0, x1], [x1, x2], . . . , [xn−1, xn] y que son de
grado menor o igual que p.
Los polinomios pasan por los nodos. es decir, S(x0) = y0, S(x1) = y1,. . . ,
S(xn−1) = yn−1.
Puede probarse que este problema tiene soluci´on.
Cada soluci´on S se llama spline de orden p o p-spline en los puntos
x0, x1, . . . , xn relativo a los valores y0, y1, . . . , yn. El m´as utilizado es el de
orden 3, conocido como spline c´ubico .
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 61 / 70
68. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
Definici´on
Un spline S de orden k con nodos en x0 < x1 < · · · < xn es una funci´on que
satisface:
En cada subintervalo [xi , xi+1], i = 0, 1, . . . , n − 1, S es un polinomio
de grado menor o igual que k.
La derivada de orden k − 1 de S es continua en [x0, xn].
Observaci´on
Sea S(x) = Si (x) cuando x ∈ [xi , xi+1], i = 0, 1, . . . , n−1, un spline c´ubico.
Entonces:
Necesitamos determinar 4 coeficientes por cada subintervalo, es decir,
tendremos 4n inc´ognitas.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 62 / 70
69. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
¿De cu´antas condiciones disponemos?
(1) S(xi ) = Si (xi ) = yi , i = 0, 1, . . . , n − 1, y Sn−1(xn) = yn (n + 1
condiciones).
(2) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
(3) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
(4) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
Por lo tanto, disponemos de 4n − 2 condiciones.
Necesitamos dos condiciones m´as. . .
A continuaci´on, mostramos dos posibilidades:
(5.1) S (x0) = S (xn) = 0, en cuyo caso construiremos el denominado
spline natural (o de frontera libre).
(5.2) S (x0) = f (x0) y S (xn) = f (xn), en cuyo caso construiremos el
denominado spline de frontera (o de frontera fija).
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 63 / 70
70. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
Ejemplo 6
Calcula un spline c´ubico natural que pase por los puntos
{(2, 4), (6, 5), (7, 6)}.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 64 / 70
71. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
Ejemplo 6
Calcula un spline c´ubico natural que pase por los puntos
{(2, 4), (6, 5), (7, 6)}.
Llamaremos
S0(x) = a0 + a1(x − 2) + a2(x − 2)2
+ a3(x − 2)3
,
S1(x) = b0 + b1(x − 6) + b2(x − 6)2
+ b3(x − 6)3
.
(1) S(xi ) = Si (xi ) = yi , i = 0, 1, . . . , n − 1, y Sn−1(xn) = yn (tres condiciones).
S0(2) = 4
S1(6) = 5
S1(7) = 6
⇒
a0 = 4
b0 = 5
b1 + b2 + b3 = 1
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 64 / 70
72. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
(2) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (una condici´on).
a0 + 4a1 + 16a2 + 64a3 = 5 ⇒ 4a1 + 16a2 + 64a3 = 1.
(3) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (una condici´on).
a1 + 8a2 + 48a3 = b1.
(4) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (una condici´on).
2a2 + 24a3 = 2b2.
(5.1) S (x0) = S (xn) = 0 (dos condiciones).
2a2 = 0
2b2 + 6b3 = 0
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 65 / 70
73. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
De las ocho inc´ognitas, ya conocemos a0 = 4, b0 = 5 y a2 = 0. Nos queda:
b1 + b2 + b3 = 6
4a1 + 64a3 = 1
a1 + 48a3 − b1 = 0
24a3 − 2b2 = 0
2b2 + 6b3 = 0
Y el sistema puede escribirse como:
0 0 1 1 1
4 64 0 0 0
1 48 −1 0 0
0 24 0 −2 0
0 0 0 2 6
a1
a3
b1
b2
b3
=
6
1
0
0
0
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 66 / 70
74. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
import numpy as np
from scipy.interpolate import CubicSpline
x = np.array([2,6,7])
y = np.array([4,5,6])
SP = CubicSpline(x, y, bc_type = ’natural ’)
# Coeficientes por columnas y en potencias decrecientes :
SP.c
Out[21]:
array([[ 1.87500000e-02 , -7.50000000e-02],
[-1.38777878e-17 , 2.25000000e-01],
[-5.00000000e-02 , 8.50000000e-01],
[ 4.00000000e+00 , 5.00000000e+00]])
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 67 / 70
75. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
Definici´on (´util)
Una matriz A = (aij ) ∈ Mn×n(R) es estrictamente diagonal dominante si
el valor absoluto de cada elemento de la diagonal es superior a la suma de
los valores absolutos del resto de los elementos de la fila, es decir,
|aii | <
i=j
|aij |, para todo i = 1, 2, . . . , n.
Teorema
Toda matriz estrictamente diagonal dominante es regular.
En otras palabras. . .
Tiene inversa o tiene determinante no nulo o, en caso de ser la matriz de
coeficientes de un sistema, dicho sistema es compatible determinado.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 68 / 70
76. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Los splines
Construcci´on de los splines
Se podr´ıa ver que es posible plantear (y resolver) el sistema de ecuaciones
de manera general a partir de una matriz de coeficientes diagonal dominante
y, por tanto, se obtienen soluciones ´unicas.
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 69 / 70
77. La interpolaci´on de Taylor La interpolaci´on de Lagrange La interpolaci´on de Hermite La interpolaci´on polin´omica a trozos
Interpolaci´on de funciones
Julio Mulero
@juliomulero
julio.mulero
Departamento de Matem´aticas
Universidad de Alicante
Carmen Gand´ıa
Departamento de Matem´aticas
Universidad de Alicante
@juliomulero (julio.mulero@ua.es) M´etodos Num´ericos 70 / 70