interpolaci on de funciones - rua: principalla interpolaci on de taylor la interpolaci on de...

Post on 25-Feb-2021

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) 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 (julio.mulero@ua.es) Metodos Numericos 70 / 70

top related