interpolaci on de funciones - rua: principalla interpolaci on de taylor la interpolaci on de...
TRANSCRIPT
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Interpolacion de funciones
Julio Mulero
@juliomulero
julio.muleroDepartamento de Matematicas
Universidad de Alicante
Carmen Gandıa
Departamento de MatematicasUniversidad de Alicante
@juliomulero ([email protected]) Metodos Numericos 1 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El problema
El problema de la interpolacion consiste en calcular el valor de una funcionen un punto cuandoO o bien no se conoce la expresion explıcita de la misma,O o bien no es facil de evaluar dicha funcion en ese punto.
Para resolverlo, se construye una funcion facil de evaluar y que coincida conla funcion objeto del problema en los datos que conocemos sobre esta.
Una posible solucion es sustituir esta funcion complicada por otra massencilla de evaluar, por ejemplo, polinomios, funciones trigonometricas,. . .
@juliomulero ([email protected]) Metodos Numericos 2 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El problema
En todo problema de interpolacion hay que concretar dos cuestionesbasicas:O los datos que se desea que sean comunes a la funcion dada y a la quela va a interpolar,O el tipo de funcion que se va a utilizar como funcion de interpolacion.
Si P es un polinomio, o una funcion polinomica a trozos, se habla de
interpolacion polinomial .
@juliomulero ([email protected]) Metodos Numericos 3 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica 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 interpolacion .
@juliomulero ([email protected]) Metodos Numericos 4 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion polinomial
Ejemplos:
Interpolacion de Taylor.
Interpolacion de Lagrange.
Interpolacion de Hermite.
Interpolacion polinomica a trozos (splines).
@juliomulero ([email protected]) Metodos Numericos 5 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Outline
1 La interpolacion de Taylor
2 La interpolacion de Lagrange
3 La interpolacion de Hermite
4 La interpolacion polinomica a trozos
@juliomulero ([email protected]) Metodos Numericos 6 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Taylor
Brook Taylor (1685–1731)
@juliomulero ([email protected]) Metodos Numericos 7 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Taylor
En este problema se suponen conocidos los valores de la funcion f y susderivadas sucesivas hasta el orden n en el punto x0 y se trata de hallar unpolinomio 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 ([email protected]) Metodos Numericos 8 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de Taylor
Definicion
Sea f : [a, b] −→ R una funcion n-veces derivable y x0 ∈ (a, b). El polinomiode 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!.
Observacion
A fin de construir el polinomio de Taylor de f en x0 basta conocer elvalor de sus derivadas en x0.
El polinomio de Taylor Pn satisface que P(i)(x0) = f (i)(x0) para todoi = 0, 1, . . . , n.
El polinomio de Taylor Pn aproxima a f en valores “cercanos” a x0.
@juliomulero ([email protected]) Metodos Numericos 9 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de Taylor
q https://www.geogebra.org/m/s59srxwa
q https://www.geogebra.org/m/mhbRUfWp
@juliomulero ([email protected]) Metodos Numericos 10 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de Taylor
Teorema (acotacion del error)
Sea Pn(x) el polinomio de Taylor de una funcion f , (n + 1)-vecesderivable, 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 lainterpolacion de Taylor.
Se cumple que:
|f (x)− Pn(x)| ≤ supy∈[a,b]
{|f (n+1)(y)|
∣∣∣∣ (x − x0)n+1
(n + 1)!
∣∣∣∣} .Demostracion http://www.ma.uva.es/~antonio/Industriales/Apuntes_
09-10/MatI/13_Tema-11_09-10.pdf
@juliomulero ([email protected]) Metodos Numericos 11 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de Taylor
Ejemplo 1
Calcula el polinomio de Taylor de grado menor o igual que 4 def (x) = ex en x0 = 0.
Calcula el polinomio de Taylor de grado menor o igual que 4 def (x) = 1/x en x0 = 1.
Calcula el polinomio de Taylor de grado menor o igual que 2 de unafuncion f tal que
f (64) = 8.f ′(64) = 1/16.f ′′(64) = −1/2048.
en x0 = 64. ¿Imaginas que funcion es?
q Profesor10mates: https://www.youtube.com/watch?v=X8nsYGccnww&
list=PLunRFUHsCA1yV2w5OELy7YC2Mffc-eB9k
@juliomulero ([email protected]) Metodos Numericos 12 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Outline
1 La interpolacion de Taylor
2 La interpolacion de Lagrange
3 La interpolacion de Hermite
4 La interpolacion polinomica a trozos
@juliomulero ([email protected]) Metodos Numericos 13 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
Joseph Louis Lagrange (1736–1813)
@juliomulero ([email protected]) Metodos Numericos 14 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
El problema de la interpolacion polinomial de Lagrange consiste en, dadoslos valores de una funcion 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 ntal que:
Pn(xi ) = fi para todo i = 0, 1, . . . , n.
A dicho polinomio se le llama el polinomio de interpolacion (o
interpolador) de f en los n + 1 puntos dados.
@juliomulero ([email protected]) Metodos Numericos 15 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
q https://www.geogebra.org/m/kh2zfhjb
@juliomulero ([email protected]) Metodos Numericos 16 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valoresf0 = f (x0) y f1 = f (x1) ¿Cual sera el polinomio interpolador de grado menoro igual que 1 en x0 y x1?
El polinomio interpolador de Lagrange de grado menor o igual que 1 es larecta que pasa por los puntos (x0, f0) y (x1, f1), es decir,
P1(x) = f0 +f1 − f0x1 − x0
(x − x0).
Observacion
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 parabola (unpolinomio de grado 2) si no estan alineados, etc, o por cuatro puntos pasa ununico polinomio de grado 3 si no estan alineados o sobre la misma parabola,etc.
@juliomulero ([email protected]) Metodos Numericos 17 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valoresf0 = f (x0) y f1 = f (x1) ¿Cual sera el polinomio interpolador de grado menoro igual que 1 en x0 y x1?El polinomio interpolador de Lagrange de grado menor o igual que 1 es larecta que pasa por los puntos (x0, f0) y (x1, f1), es decir,
P1(x) = f0 +f1 − f0x1 − x0
(x − x0).
Observacion
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 parabola (unpolinomio de grado 2) si no estan alineados, etc, o por cuatro puntos pasa ununico polinomio de grado 3 si no estan alineados o sobre la misma parabola,etc.
@juliomulero ([email protected]) Metodos Numericos 17 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Lagrange
Ejemplo 2
Supongamos que x0 y x1 son dos puntos distintos y conocemos los valoresf0 = f (x0) y f1 = f (x1) ¿Cual sera el polinomio interpolador de grado menoro igual que 1 en x0 y x1?El polinomio interpolador de Lagrange de grado menor o igual que 1 es larecta que pasa por los puntos (x0, f0) y (x1, f1), es decir,
P1(x) = f0 +f1 − f0x1 − x0
(x − x0).
Observacion
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 parabola (unpolinomio de grado 2) si no estan alineados, etc, o por cuatro puntos pasa ununico polinomio de grado 3 si no estan alineados o sobre la misma parabola,etc.
@juliomulero ([email protected]) Metodos Numericos 17 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Teorema (Existencia y unicidad)
Dada una funcion f : [a, b] → R y x0, x1, . . . , xn ∈ [a, b], n + 1 puntosdistintos en [a, b], entonces existe un unico polinomio Pn de grado a losumo n tal que:
Pn(xi ) = f (xi ),
para todo i = 0, 1, . . . , n.
Demostracion
@juliomulero ([email protected]) Metodos Numericos 18 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Unicidad:
Supongamos que p(x) y q(x) son dos polinomios no nulos de grado a lo sumon verificando dichas condiciones. Entonces, r(x) = p(x)− q(x) es un polinomiode grado a lo sumo n y ademas 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 gradon tiene exactamente n raıces, contando cada una tantas veces como indique sumultiplicidad, luego posee a lo mas 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 + · · ·+ anxn,
tal quePn(xi ) = a0 + a1xi + a2x
2i + · · ·+ anx
ni = fi ,
para todo i = 0, 1, . . . , n.
@juliomulero ([email protected]) Metodos Numericos 19 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Unicidad:
Supongamos que p(x) y q(x) son dos polinomios no nulos de grado a lo sumon verificando dichas condiciones. Entonces, r(x) = p(x)− q(x) es un polinomiode grado a lo sumo n y ademas 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 gradon tiene exactamente n raıces, contando cada una tantas veces como indique sumultiplicidad, luego posee a lo mas 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 + · · ·+ anxn,
tal quePn(xi ) = a0 + a1xi + a2x
2i + · · ·+ anx
ni = fi ,
para todo i = 0, 1, . . . , n.
@juliomulero ([email protected]) Metodos Numericos 19 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Por tanto, buscamos a0, a1, a2, . . . , an ∈ R tales que
a0 + a1x0 + a2x20 + · · ·+ anx
n0 = f0
a0 + a1x1 + a2x21 + · · ·+ anx
n1 = f1
a0 + a1x2 + a2x22 + · · ·+ anx
n2 = f2
...a0 + a1xn + a2x
2n + · · ·+ anx
nn = fn
O, lo que es lo mismo,
1 x0 x20 · · · xn
0
1 x1 x21 · · · xn
1
1 x2 x22 · · · xn
2
. . .
1 xn x2n · · · xn
n
a0
a1
a2
...an
=
f0f1f2...fn
@juliomulero ([email protected]) Metodos Numericos 20 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Se tiene que: ∣∣∣∣∣∣∣∣∣∣∣
1 x0 x20 · · · xn
0
1 x1 x21 · · · xn
1
1 x2 x22 · · · xn
2
. . .
1 xn x2n · · · xn
n
∣∣∣∣∣∣∣∣∣∣∣=
∏0≤i<j≤n
(xj − xi ) 6= 0.
qhttps://www.ditutor.com/determinantes/determinante_vandermonde.
html
En consecuencia, rg(A) = rg(A∗) = n y el sistema es compatible determinado, esdecir, existe un conjunto unico de soluciones a0, a1, a2, . . . , an ∈ R y, por tanto,existe un unico polinomio Pn que verifica las condiciones.
@juliomulero ([email protected]) Metodos Numericos 21 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El polinomio de interpolacion
Se tiene que: ∣∣∣∣∣∣∣∣∣∣∣
1 x0 x20 · · · xn
0
1 x1 x21 · · · xn
1
1 x2 x22 · · · xn
2
. . .
1 xn x2n · · · xn
n
∣∣∣∣∣∣∣∣∣∣∣=
∏0≤i<j≤n
(xj − xi ) 6= 0.
qhttps://www.ditutor.com/determinantes/determinante_vandermonde.
html
En consecuencia, rg(A) = rg(A∗) = n y el sistema es compatible determinado, esdecir, existe un conjunto unico de soluciones a0, a1, a2, . . . , an ∈ R y, por tanto,existe un unico polinomio Pn que verifica las condiciones.
@juliomulero ([email protected]) Metodos Numericos 21 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de interpolacion
Teorema (error)
Sea f : [a, b] −→ R una funcion (n+1)-veces derivable. Si Pn es el polinomiode interpolacion 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).
Demostracion
@juliomulero ([email protected]) Metodos Numericos 22 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de interpolacion
Sea x ∈ [a, b] un valor fijo:
Si x = xk , para cierto k ∈ {0, 1, . . . , n}, la formula 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 ([email protected]) Metodos Numericos 23 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de interpolacion
La funcion φ(z) se anula en n + 2 puntos y verifica las condiciones delTeorema de Rolle generalizado. Mas concretamente, dado que φ escontinua en [a, b], φ(n+1)(z) existe en cada punto de z ∈ (a, b) y φ tienen + 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 ([email protected]) Metodos Numericos 24 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de interpolacion
Teorema (acotacion del error)
Bajo las mismas hipotesis que el teorema anterior, se cumple que:
|f (x)− Pn(x)|
≤ supy∈[a,b]
{|f (n+1)(y)|
∣∣∣∣ (x − x0)(x − x1)(x − x2) . . . (x − xn−1)(x − xn)
(n + 1)!
∣∣∣∣} .Demostracion
Se deduce del teorema anterior.
@juliomulero ([email protected]) Metodos Numericos 25 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
El error del polinomio de interpolacion
Observacion
Cuando se quiere calcular el polinomio interpolador de grado n en [a, b],es frecuente utilizar n + 1 nodos equiespaciados. Sin embargo, una opcionque ofrece mejores resultados es el uso de los conocidos como nodos deChebyshev, que son:
xi =b + a
2− b − a
2cos
(2i + 1
2n + 2π
), i = 0, 1, . . . , n,
o bien, se pueden calcular como las n + 1 raıces del polinomio (llamado) deChebyshev de grado n + 1 en el intervalo [a, b].
@juliomulero ([email protected]) Metodos Numericos 26 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
Ejemplo 3
Obten el polinomio de interpolacion con los datos de la siguiente tablaplanteando las condiciones y resolviendo el sistema de ecuaciones cuya ma-triz de coeficientes viene dada por la matriz de Vandermonde:
xk -2 0 2 5yk 2 4 3 4
@juliomulero ([email protected]) Metodos Numericos 27 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
Dado que disponemos de informacion sobre cuatro puntos, buscamos un polinomiode grado tres forma que P3(−2) = 2, P3(0) = 4, P3(2) = 3 y P3(5) = 4.El polinomio P3 tendra la forma:
P3(x) = a0 + a1x + a2x2 + a3x
4,
de manera que, al plantear las condiciones correspondientes, se obtiene el siguienteel sistema de ecuaciones:
1 −2 4 −81 0 0 01 2 4 81 5 25 125
a0
a1
a2
a4
=
2434
La solucion puede obtenerse en terminos de la expresion matricial (si Ax = b,entonces x = A−1b).
@juliomulero ([email protected]) Metodos Numericos 28 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
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 ([email protected]) Metodos Numericos 29 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
Motivacion:
El polinomio de interpolacion puede ser obtenido a partir de la resolucionde un sistema de ecuaciones lineales, pero se pueden cometer grandeserrores porque la matriz de Vandermonde esta mal condicionada. . .
Un procedimiento mas “eficiente”:
Usando los polinomios fundamentales de Lagrange.
@juliomulero ([email protected]) Metodos Numericos 30 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica 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 6= 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 ([email protected]) Metodos Numericos 31 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando los polinomios fundamentales de Lagrange
Calculo de los polinomios fundamentales
Si `i (xk) = 0, para todo i 6= 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 ([email protected]) Metodos Numericos 32 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando los polinomios fundamentales de Lagrange
Definicion
Los polinomios fundamentales `i , para i = 0, 1, . . . , n, vienen dados por:
`i (x) =
∏k 6=i (x − xk)∏k 6=i (xi − xk)
Construccion usando los polinomios fundamentales
El polinomio interpolador se obtiene como una combinacion lineal de lospolinomios `i , i = 0, 1, . . . , n,
Pn(x) =n∑
i=0
fk
∏k 6=i (x − xk)∏k 6=i (xi − xk)
=n∑
i=0
fk`i (x).
@juliomulero ([email protected]) Metodos Numericos 33 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion usando los polinomios fundamentales
Ejemplo 3 (cont.)
Obten el polinomio de interpolacion con los datos de la siguiente tablaplanteando las condiciones y usando los polinomios fundamentales de La-grange:
xk -2 0 2 5yk 2 4 3 4
@juliomulero ([email protected]) Metodos Numericos 34 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion usando los polinomios fundamentales
El polinomio de interpolacion sera obtenido de la forma:
P3(x) = f0`0(x) + f1`1(x) + f2`2(x) + f3`3(x),
donde
`i (x) =
∏k 6=i (x − xk)∏k 6=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 ([email protected]) Metodos Numericos 35 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion usando los polinomios fundamentales
El polinomio de interpolacion es:
P3(x) = 2x(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 ([email protected]) Metodos Numericos 36 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
Motivacion:
El polinomio de interpolacion puede ser obtenido a partir de los polinomiosfundamentales de Lagrange. Sin embargo, si anadimos un punto nuevodeberemos repetir todos los calculos.
Newton (que no daba puntada sin hilo) propuso un metodo para obtener elpolinomio de interpolacion aprovechando los calculos previamenterealizados. . .
Un procedimiento aun mas “eficiente”:
Usando las diferencias divididas de Newton.
@juliomulero ([email protected]) Metodos Numericos 37 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Definicion (diferencias divididas)
Sea f : [a, b] −→ R una funcion “suficientemente derivable” y n + 1 puntosdistintos, x0, x1, . . . , xn, las diferencias divididas de orden 0 se definen como:
f [xi ] = f (xi ),
y, por induccion, 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 ([email protected]) Metodos Numericos 38 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Observacion
Si no disponemos de una funcion, sino que solo conocemos un conjunto{(xi , fi ) : i = 0, 1, . . . , n}, tambien podemos calcular las diferencias dividi-das. En este caso, las diferencias divididas de orden 0 se denotaran, y secalcularan, 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 ([email protected]) Metodos Numericos 39 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Construccion 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 ([email protected]) Metodos Numericos 40 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Construccion 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 ([email protected]) Metodos Numericos 41 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Construccion usando las diferencias divididas
Sea f : [a, b] −→ R una funcion “suficientemente derivable” y n + 1 puntosdistintos, x0, x1, . . . , xn, el polinomio de interpolacion de grado menor o igualque n (que, en este contexto, tambien suele llamarse polinomio interpoladorde 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).
Observacion (recursividad)
Cada polinomio P0,P1, . . . ,Pn puede obtenerse de forma recursivaanadiendo un “sumando”:
Pn(x) = Pn−1(x) + f [x0, x1, x2, . . . , xn](x − x0)(x − x1) . . . (x − xn−1).
@juliomulero ([email protected]) Metodos Numericos 42 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion usando las diferencias divididas
Ejemplo 3 (cont.)
Obten el polinomio de interpolacion con los datos de la siguiente tablaplanteando las condiciones y usando las diferencias divididas de Newton:
xk -2 0 2 5yk 2 4 3 4
@juliomulero ([email protected]) Metodos Numericos 43 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Usando las diferencias divididas de Newton
Construccion 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.0773x1 = 0 f [x1] = 4 f [x1, x2] = −0.5 f [x1, x2, x3] = 0.1666x2 = 2 f [x2] = 3 f [x2, x3] = 0.3333x3 = 5 f [x3] = 4
El polinomio sera:
Pn(x) = 2 + (x + 2)− 0.375(x + 2)x + 0.0773(x + 2)x(x − 2).
@juliomulero ([email protected]) Metodos Numericos 44 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion
Ejemplo 4
En una planta quımica se sintetiza un producto que es utilizado posterior-mente como conservante de productos enlatados. El rendimiento del procesodepende de la temperatura. Se dispone de los siguientes datos:
T (oC) 150 160 170 180R (%) 35.5 37.8 43.6 45.7
Se considera un rendimiento optimo el que va de 38.5 a 45. Si la temperaturade trabajo cae a 162oC por una averıa, ¿sera el proceso satisfactorio hastaque sea reparada?
@juliomulero ([email protected]) Metodos Numericos 45 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio de interpolacion 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 ([email protected]) Metodos Numericos 46 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Outline
1 La interpolacion de Taylor
2 La interpolacion de Lagrange
3 La interpolacion de Hermite
4 La interpolacion polinomica a trozos
@juliomulero ([email protected]) Metodos Numericos 47 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Hermite
Charles Hermite (1822–1901)
@juliomulero ([email protected]) Metodos Numericos 48 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Hermite
El problema de la interpolacion polinomial de Hermite consiste en, dadoslos valores de una funcion f y su derivada f ′, que abreviamos por:
fi = f (xi ) y f ′i = 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 igualque 2n + 1 tal que:
H2n+1(xi ) = fi y H ′2n+1(xi ) = f ′i 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 ([email protected]) Metodos Numericos 49 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Hermite
Observacion
¿Cuantas condiciones debe satisfacer el polinomio resultante?
H2n+1(xi ) = fi , i = 0, 1, . . . , n (n + 1 condiciones).
H ′2n+1(xi ) = f ′i , i = 0, 1, . . . , n (n + 1 condiciones).
El polinomio de Hermite satisfara 2n + 2 condiciones, que permitirancalcular 2n + 2 incognitas, que seran los coeficientes de un polinomiode grado menor o igual que 2n + 1.
@juliomulero ([email protected]) Metodos Numericos 50 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Hermite
Observacion
¿Cuantas condiciones debe satisfacer el polinomio resultante?
H2n+1(xi ) = fi , i = 0, 1, . . . , n (n + 1 condiciones).
H ′2n+1(xi ) = f ′i , i = 0, 1, . . . , n (n + 1 condiciones).
El polinomio de Hermite satisfara 2n + 2 condiciones, que permitirancalcular 2n + 2 incognitas, que seran los coeficientes de un polinomiode grado menor o igual que 2n + 1.
@juliomulero ([email protected]) Metodos Numericos 50 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion de Hermite
Teorema (existencia y unicidad)
El polinomio interpolador de Hermite de una funcion 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)`2j (x),
siendo `j el j-esimo polinomio fundamental de Lagrange.Ademas, H2n+1(x) es unico y, si f es suficientemente derivable en el intervalo[a, b] el error de interpolacion 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 ([email protected]) Metodos Numericos 51 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
Construccion 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]
Observacion
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 ([email protected]) Metodos Numericos 52 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
El polinomio interpolador de Hermite
El polinomio interpolador de Hermite de una funcion derivable f : [a, b] −→R en los puntos x0, x1, . . . , xn satisface que:
H2n+1(x) = P2n+1(x).
Demostracion
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 ([email protected]) Metodos Numericos 53 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
Construimos el polinomio interpolador de Lagrange de grado menor o igual que2n + 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 funcion
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 ] = limx→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 ([email protected]) Metodos Numericos 54 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo 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 sera:
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 ([email protected]) Metodos Numericos 55 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
Ademas, 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 coincidecon f , y cuya derivada coincide con f ′, en xi , i = 0, 1, . . . , n.
@juliomulero ([email protected]) Metodos Numericos 56 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
Ejemplo 5
Construye el polinomio interpolador de Hermite de una funcion f en lospuntos 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 interpolacion de Hermite sera:
H3(x) = −9 + 10(x + 1) + 31(x + 1)2 + 65(x + 1)2(x + 2).
@juliomulero ([email protected]) Metodos Numericos 57 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Calculo del polinomio interpolador de Hermite
Ejemplo 5
Construye el polinomio interpolador de Hermite de una funcion f en lospuntos 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 interpolacion de Hermite sera:
H3(x) = −9 + 10(x + 1) + 31(x + 1)2 + 65(x + 1)2(x + 2).
@juliomulero ([email protected]) Metodos Numericos 57 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Outline
1 La interpolacion de Taylor
2 La interpolacion de Lagrange
3 La interpolacion de Hermite
4 La interpolacion polinomica a trozos
@juliomulero ([email protected]) Metodos Numericos 58 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
I.J. Schoenberg (1903–1990)
@juliomulero ([email protected]) Metodos Numericos 59 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Motivacion
Es logico pensar que, de todos los metodos vistos hasta ahora, el que mejorfunciona es el de Hermite puesto que, en cada nodo, coinciden la“hipotetica curva” que genera los datos, y su pendiente, con el polinomiointerpolador y su derivada.
Sin embargo, todos los metodos de interpolacion presentan algunosdefectos. En primer lugar, el metodo de Hermite requiere de informacionque en ocasiones no se puede conocer. En segundo lugar, los polinomios dealto grado son muy oscilantes.
En este sentido, trataremos de ajustar varios polinomios de bajo grado (unopor cada [xi , xi+1], i = 0, 1, . . . , n, que se uniran obedeciendo ciertascondiciones de continuidad.
@juliomulero ([email protected]) Metodos Numericos 60 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
La interpolacion polinomica a trozos
Datos:
n + 1 puntos distintos x0, x1, . . . , xn.
n + 1 valores y0, y1, . . . , yn.
Problema:
Buscamos una funcion S tal que:
S es una funcion continua derivable p − 1 veces en el intervalo [x0, xn].
S es una funcion a trozos formada por los polinomios S0, S1, . . . , Sn−1 quevamos a usar respectivamente en [x0, x1], [x1, x2], . . . , [xn−1, xn] y que son degrado 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 solucion.
Cada solucion S se llama spline de orden p o p-spline en los puntos
x0, x1, . . . , xn relativo a los valores y0, y1, . . . , yn. El mas utilizado es el de
orden 3, conocido como spline cubico .
@juliomulero ([email protected]) Metodos Numericos 61 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
Definicion
Un spline S de orden k con nodos en x0 < x1 < · · · < xn es una funcion quesatisface:
En cada subintervalo [xi , xi+1], i = 0, 1, . . . , n − 1, S es un polinomiode grado menor o igual que k.
La derivada de orden k − 1 de S es continua en [x0, xn].
Observacion
Sea S(x) = Si (x) cuando x ∈ [xi , xi+1], i = 0, 1, . . . , n−1, un spline cubico.Entonces:
Necesitamos determinar 4 coeficientes por cada subintervalo, es decir,tendremos 4n incognitas.
@juliomulero ([email protected]) Metodos Numericos 62 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
¿De cuantas condiciones disponemos?
(1) S(xi ) = Si (xi ) = yi , i = 0, 1, . . . , n − 1, y Sn−1(xn) = yn (n + 1condiciones).
(2) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
(3) S ′i (xi+1) = S ′i+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
(4) S ′′i (xi+1) = S ′′i+1(xi+1), i = 0, 1, . . . , n − 2 (n − 1 condiciones).
Por lo tanto, disponemos de 4n − 2 condiciones.
Necesitamos dos condiciones mas. . .
A continuacion, mostramos dos posibilidades:
(5.1) S ′′(x0) = S ′′(xn) = 0, en cuyo caso construiremos el denominadospline natural (o de frontera libre).
(5.2) S ′′(x0) = f ′(x0) y S ′′(xn) = f ′(x0), en cuyo caso construiremos eldenominado spline de frontera (o de frontera fija).
@juliomulero ([email protected]) Metodos Numericos 63 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
Ejemplo 6
Calcula un spline cubico 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) = 4S1(6) = 5
S1(7) = 6
⇒
a0 = 4b0 = 5
b1 + b2 + b3 = 1
@juliomulero ([email protected]) Metodos Numericos 64 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
Ejemplo 6
Calcula un spline cubico 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) = 4S1(6) = 5
S1(7) = 6
⇒
a0 = 4b0 = 5
b1 + b2 + b3 = 1
@juliomulero ([email protected]) Metodos Numericos 64 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
(2) Si (xi+1) = Si+1(xi+1), i = 0, 1, . . . , n − 2 (una condicion).
a0 + 4a1 + 16a2 + 64a3 = 5 ⇒ 4a1 + 16a2 + 64a3 = 1.
(3) S ′i (xi+1) = S ′i+1(xi+1), i = 0, 1, . . . , n − 2 (una condicion).
a1 + 8a2 + 48a3 = b1.
(4) S ′′i (xi+1) = S ′′i+1(xi+1), i = 0, 1, . . . , n − 2 (una condicion).
2a2 + 24a3 = 2b2.
(5.1) S ′′(x0) = S ′′(xn) = 0 (dos condiciones).
2a2 = 0
2b2 + 6b3 = 0
@juliomulero ([email protected]) Metodos Numericos 65 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
De las ocho incognitas, ya conocemos a0 = 4, b0 = 5 y a2 = 0. Nos queda:
b1 + b2 + b3 = 64a1 + 64a3 = 1
a1 + 48a3 − b1 = 024a3 − 2b2 = 02b2 + 6b3 = 0
Y el sistema puede escribirse como:
0 0 1 1 14 64 0 0 01 48 −1 0 00 24 0 −2 00 0 0 2 6
a1
a3
b1
b2
b3
=
61000
@juliomulero ([email protected]) Metodos Numericos 66 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
import numpy as npfrom 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.cOut[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 ([email protected]) Metodos Numericos 67 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
Definicion (util)
Una matriz A = (aij) ∈ Mn×n(R) es estrictamente diagonal dominante siel valor absoluto de cada elemento de la diagonal es superior a la suma delos valores absolutos del resto de los elementos de la fila, es decir,
|aii | <∑i 6=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 decoeficientes de un sistema, dicho sistema es compatible determinado.
@juliomulero ([email protected]) Metodos Numericos 68 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Los splines
Construccion de los splines
Se podrıa ver que es posible plantear (y resolver) el sistema de ecuacionesde manera general a partir de una matriz de coeficientes diagonal dominantey, por tanto, se obtienen soluciones unicas.
@juliomulero ([email protected]) Metodos Numericos 69 / 70
La interpolacion de Taylor La interpolacion de Lagrange La interpolacion de Hermite La interpolacion polinomica a trozos
Interpolacion de funciones
Julio Mulero
@juliomulero
julio.muleroDepartamento de Matematicas
Universidad de Alicante
Carmen Gandıa
Departamento de MatematicasUniversidad de Alicante
@juliomulero ([email protected]) Metodos Numericos 70 / 70