Sunteți pe pagina 1din 20

INTERPOLACION

En el subcampo matemático del análisis numérico, se denomina interpolación a la


construcción de nuevos puntos partiendo del conocimiento de un conjunto discreto de
puntos.

En ingeniería y otras ciencias es frecuente disponer de un cierto número de puntos


obtenidos por muestreo o a partir de un muestreo o experimento y pretender construir una
función que los ajuste.

Otro problema estrechamente ligado con el de la interpolación es la aproximación de una


función complicada por una más simple. Si tenemos una función cuyo cálculo resulta
costoso, podemos partir de un cierto número de sus valores e interpolar dichos datos
construyendo una función más simple. En general, por supuesto, no obtendremos los
mismos valores evaluando la función obtenida que si evaluásemos la función original, si
bien dependiendo de las características del problema y del método de interpolación usado la
ganancia en eficiencia puede compensar el error cometido.

En todo caso, se trata, a partir de n puntos distintos xk llamados nodos de obtener una
función f que verifique

a la que se denomina función interpolante de dichos puntos. Algunas formas de


interpolación que se utilizan con frecuencia son la interpolación lineal, la interpolación
polinómica, de la cual la anterior es un caso particular, o la interpolación por medio de
splines.

Dentro de las aplicaciones tenemos casos particulares


como:

Fotografía [editar]
En el campo de la fotografía y mundo de la imagen digital, la interpolación aplica este
mismo patrón para conseguir un tamaño mayor de la imagen inicial, rellenando la
información que falta con datos «inventados» a partir de un algoritmo específico.

Existen varios algoritmos, los más famosos:

• Interpolación por aproximación: Es uno de los métodos más antiguos que se basa en
obtener el promedio de valores de los 2 pixeles más próximos. La interpolación
bilineal es una mejora de la anterior, promediando en este caso 4 pixeles
adyacentes.
• Interpolación bicúbica: Usada por programas como Adobe Photoshop o Paint Shop
Pro es el método de interpolación considerado estándar (promedia 16 pixeles
adyacentes). Photoshop además usa algunas variaciones como Interpolación
bicúbica enfocada o Interpolación bicúbica suavizada que se basa en aplicar algunos
cambios a la imagen final.
• Interpolación en escalera (Stair Interpolation): Se basa en la interpolación bicúbica
con la diferencia que se va interpolando en incrementos de un 10% en cada paso
con respecto al anterior.
• Interpolación S-Spline: Este método de interpolación determina el color de un pixel
«desconocido» basándose en la totalidad de colores de la imagen, a diferencia que
los métodos anteriores.
• Interpolación Lanczos: Disponible de forma gratuita en el excelente visualizador-
editor IrfanView, y GIMP 2.3 y posteriores versiones, se basa en la calidad de la
imagen y ofrece resultados muy similares al método Mitchell.
• Interpolación Genuine Fractals: Por último, el sistema de interpolación de Genuine
Fractals que parece tener también unos resultados bastante aceptables.

Enlaces externos
• Algoritmo de interpolación por aproximación
• Algoritmo de interpolación bilineal
• Algoritmo de interpolación bicúbica
• Ejemplos de interpolación en escalera (Stair Interpolation)
• Algoritmo de interpolación S-Spline usada por programas como PhotoZoom o S-
Spline.
• Algoritmo de interpolación de Lanczos usada por programas como IrfanView
• Ejemplos de interpolación por GF con Genuine Fractals
• Interpolación de imágenes, en inglés

Antes de intoducirnos en el tema de interpolacion daremo un teorema el cual garantiza la


unicidad del polinomio que interpola los puntosñ sim importar el metodo que se aplique.

Teorema: Sea x 0 , x1 ,..., x m una lista de puntos en la cual ningún elemento se repite mas
de k veces. Se f una función cuyos valores están dados en estos números sobre un intervalo
que contiene estos puntos. Existe entonces un polinomio único de grado a lo mas n, con la
propiedad de que Pn ( xi ) = y i ...( 0 ≤ i ≤ n) (Ver demostración libro 6 pag. 286)

Estos apuntes trataran únicamente los polinomios de interpolación de NEWTON,


LAGRANGRE y AITKEN.
POLINOMIOS DE INTERPOLACION DE NEWTON

Uno de estas formas de interpolación se denomina Polinomios de Interpolación de


Newton, que trabaja directamente en la tabla obtenida mediante el proceso de
Diferencias Divididas; En el desarrollo de estas diferencias finitas, se obtuvo en
primer lugar las diferencias finitas ordinarias y luego las diferencias finitas
divididas, para lo cual haremos una introducción rápida a dichas diferencias:

DIFERENCIAS FINITAS ORDINARIAS


Estas se definan para funciones evaluadas sobre valores discretos equidistantes, es decir,
sea F definida sobre X 0 , X 1 , X 2 ,......, X n
Se define ∆Fk = Fk +1 − Fk → Diferencia finita hacia adelante

1.1. Propiedades
1.1.1. ∆(cF k ) = cF k +1 − cF k
= c( Fk +1 − Fk ) = c∆Fk

1.1.2. ∆( Fk + G k ) = Fk +1 + G k +1 − ( Fk + G k ) = Fk +1 + G k +1 − Fk − G k
= Fk +1 − Fk + G k +1 − G k = ∆Fk + ∆G k

1.1.3. ∆n (∆m Fk ) = ∆n +m Fk

EJEMPLO:

 ∆2 Fk = ∆(∆Fk ) = ∆( Fk +1 − Fk ) = ∆( Fk +1 ) − ∆( Fk )
= Fk +2 − Fk +1 − Fk +1 + Fk
= Fk +2 − 2 Fk +1 + Fk

 ∆3 Fk = ∆(∆2 Fk ) = ∆( Fk +2 − 2 Fk +1 + Fk ) = ∆Fk +2 − ∆(2 Fk +1 ) + ∆Fk


= Fk +3 − Fk +2 − 2 Fk +2 + 2 Fk +1 + Fk +1 − Fk
= Fk +3 − 3Fk +2 + 3Fk +1 − Fk
n  n  n  n 
 ∆n Fk = 
0 
Fk +n − 
1 
Fk +( n −1) + 
2 
Fk +( n −2 ) + ...... + (−1) 
n
m 

       
m
m 
∆n Fk = ∑( −1) i 
i 
Fk +( n −i )
i =0  

 EJEMPLO
X F ∆1
Fi ∆2 Fi ∆3 Fi ∆4 Fi

K 1 1
7
K+1 2 8 12
19 6
K+2 3 27 18 0
37 6
K+3 4 64 24
61
K+4 5 125

La anterior, es una tabla perfecta

 EJERCICIOS PROPUESTOS
1) Verificar si dados los puntos (1,1), (1.4, 1.1832), (2.2, 1.4832), (2.6, 1.6125), (3,
1.7321). ¿Es una tabla perfecta? De lo contrario explicar porque no lo es.
2) Verificar si ∆ FK = FK -2 FK+1, cumple la propiedad 2.
3) Verificar si ∆ FK = F2K - F2K+1, cumple la propiedad 2. ¿Qué condición se debe cumplir
para que se de la igualdad.
Una vez vistas las diferencias finitas ordinarias abordaremos lo que es la columna vertebral
del algoritmo de Newton:

DIFERENCIAS FINITAS DIVIDIDAS


Sea F una función de valor real definida sobre xk , xk +1 , ..... xk +n no necesariamente
equidistante. Se define:
F ( x k ) − F ( x k +1 )
F ( x k , x k +1 ) = → Primer grado
x k − x k +1
F ( x k , x k +1 ) − F ( x k +2 )
F ( x k , x k +1 , x k +2 ) = → 2° grado
x k − x k +2
F ( x k , x k +1 ,....... x k +n −1 ) − F ( x k +n )
F ( x k , x k +1 ,......., x k +n ) = → n grado
x n − x k +n
Sin perder generalidad k = 0 tenemos
FX 0 − FX 1 FX 1 − F X 0
F ( x 0 , x1 ) = =
x 0 − x1 x1 − x 0

F ( x 0 , x1 ) − F ( x1 , x 2 ) F ( x1 , x 2 ) − F ( x 0 , x1 )
F ( x 0 , x1 , x 2 ) = =
x0 − x 2 x2 − x0
F ( x 0 , x1 ....... x n −1 ) − F ( x1 , x 2 ....... x n )
F ( x 0 , x1 ,....... x n ) =
x0 − xn

Hallar F ( x3 , x2 , x1 ); F ( x2 , x3 ); F ( x5 , x4 , x3 ); F ( x1 , x5 )

  EJERCICIO PROPUESTO
1) Para F ( x) = 25 x 3 − 6 x 2 + 7 x − 88 hallar hasta el 4° grado con x = 1, 1.3, 1.6, 1.9, 2.2
Observamos que tanto las diferencias finitas ordinarias como en las divididas se cumple
que dichas diferencias son constantes, en el orden n correspondiente a una función
polinómica de grado n. Esta propiedad es muy importante para la producción del
polinomio que ajusta la tabla.
La siguiente propiedad relaciona las diferencias finitas divididas con las ordinarias.

TEOREMA
Sea f una función definida sobre X0, X1,…Xn; tal que h = XK – XK-1; entonces se cumple:
∆n f 0
f ( X 0 , X 1 ,..., X n ) =
n!h n

 EJERCICIOS PROPUESTOS
1. Demostrar

f0 f1 f2
f ( X 0 , X 1 ,..., X n ) = + +
( X 0 − X1 ) ( X 0 − X 2 ) ( X1 − X 0 ) ( X1 − X 2 ) ( X 2 − X 0 ) ( X 2 − X1 )
2. Ejercicios 1, 2, 6, 10, 13; página 131.

Para hallar dicho polinomio, tendremos en cuenta cada una de las constantes
obtenidas en cada columna de dicha tabla.

Sea f una función definida en X 0 , X 1 , X 2 ,..., X n Definimos y denotamos el


polinomio de interpolación de Newton como:

I. Lineal
P1 ( x ) = F ( x 0 ) + F ( x 0 , x1 )( x − x 0 ); donde F( x 0 , x1 ) es la primer diferencia finita dividida

II. Cuadrático
P2 ( x) = P1 ( x) + F ( x 0 , x1 , x 2 )( x − x 0 )( x − x1 )

P2 ( x ) = F ( x 0 ) + F ( x 0 , x1 )( x − x 0 ) + F ( x 0 , x1 , x 2 )( x − x 0 )( x − x1 )

Observamos que el an se vuelve cero a partir del momento en que las diferencias finitas
son constantes, esta es una aplicación del teorema.
n
III. Pn ( x) = f ( x0 ) + ∑ f [ x0 ,..., x k ]( x − x0 )( x − x1 )...( x − x k −1 ) donde
k =1

f [ xi +1 ,..., xi +k ] − f [ xi ,..., xi +k +1 ]
f [ x 0 ,... x k ] = se obtiene en la tabla de
xi +k − xi
diferencias divididas.

3. Demostración Lineal [ P1 ( x )]

x1 − x 0 = F ( x1 ) − F ( x 0 )
x − x 0 = P1 ( x ) − F ( x 0 )

P1 ( x ) − F ( x 0 ) =
[ F ( x1 ) − F ( x 0 )]( x − x 0 )
x1 − x 0
P1 ( x ) = F ( x 0 , x1 )( x − x 0 ) + F ( x 0 )

Aclaremos estas ideas con un ejemplo bastante sencillo.


:

Ejemplo 1:

Con los siguientes datos, halle los polinomios de interpolación de Newton de


grado: a)uno b) dos c) tres;

(-2; 21), (0;-1), (1; 12), (4; 147):

Solucion:

i Xi F(xi) PDD SDD TDD


F ( X1, X 0 )
0 Xo =-2 F(x0)=21
=-11 F
1 X1=0 F(x1)=-1
F ( X 2 , X1 )
( X 2 , X1, X 0 ) F
=13 =8 ( X 3, X 2 , X1, X 0 )
F ( X3, X 2 )
2 X2=1 F(x2)=12 F =0
( X 3 , X 2 , X1 )
45
=8
3 X3=4 F(x3)=147

Donde las iniciales, PDD= Primera Diferencia Dividida, SDD= Segunda Diferencia
Dividida y TDD= Tercera Diferencia Dividida, respectivamente.

Nota: Vemos que la última diferencia dividida de la tabla es cero, por lo tanto la
tabla es llamada Tabla Perfecta. Ahora, como observamos que la columna de
SDD (segunda diferencia dividida), tiene valores iguales; el polinomio interpolante
es de grado 2.

a) El polinomio de grado uno de Newton es:

P1 ( x ) = F ( x0 ) + F ( x 0 , x1 )( x − x0 ) = 21 + ( −11)( x − (−2)) = 21 −11( x + 2) = 21 −11 x − 22


luego .. P1 ( x ) = −11 x −1

b) El polinomio de grado dos de Newton es:

P2 ( x ) = F ( x 0 ) + F [ x 0 , x1 ]( x − x 0 ) + F [ x 0 , x1 , x 2 ]( x − x 0 )( x − x1 ) = 21 −11( x + 2) + 8( x + 2)( x − 0)
.......... = 21 −11 x − 22 + 8 x 2 +16 x
luego .. P2 ( x ) = 8 x 2 + 5 x −1
c) El polinomio de grado tres de Newton es: No existe.
Nota: Notemos que el polinomio de grado 2 de Newton tiene la forma

P2 ( x ) = F ( x 0 ) + F [ x 0 , x1 ]( x − x 0 ) + F [ x 0 , x1 , x 2 ]( x − x 0 )( x − x1 )

Así tenemos, de una forma mas general, que

Pn ( x) = Pn −1 ( x ) + F [ x 0 , x1 ,... x n ]( x − x 0 )( x − x1 )...( x − x n −1 )

Ejemplo 2:

Sea f ( x) = x con los nodos 1; 4; 9; 16. Encuentre los polinomios de


interpolación de Newton de grado a) uno b) dos c) tres; calcule el valor de 5 en
cada uno de estos polinomios y halle el error relativo.
Solucion:

i Xi F(xi) PDD SDD TDD


0 Xo =1 F(x0)=1 F ( X 1 , X 0 )

F ( X 2 , X1, X 0 ) =
=1/3
1 X1=4 F(x1)=2 F ( X 2 , X 1 )
-1/60 F ( X 3 , X 2 , X1, X 0 )
F ( X 3, X 2 , X1 ) =
=1/5
=1/1260
2 X2=9 F(x2)=3 F ( X 3 , X 2 )
-1/210
=1/7
3 X3=16 F(x3)=4

a-) El polinomio de Newton grado uno es


P1 (x) = 1 + 1/3 * (x – 1 )
Reemplazando por x=5 tenemos:
P1 (5) = 1 + 1/3 * (5 – 1 )=1+4/3=7/3=2,333333

b-) El polinomio de Newton de grado dos es:

P2 (x) = 1 + 1/3 * ( x – 1 ) -1/60 ( x - 1) (x - 4)


Reemplazando obtenemos
P2 (5) = 1 + 1/3 * ( 5 – 1 ) -1/60 ( 5 - 1) (5 - 4)=2,266666

c-) El polinomio de Newton de grado tres es:


P3 (x) = 1 + 1/3 * ( x – 1 ) -1/60 ( x - 1) (x - 4)+1/1260( x - 1 )( x - 4 )( x - 9 )
Reemplazando tenemos:
P3 (5) = 1 + 1/3 * (5–1) -1/60 (5-1) (5-4)+1/1260(5-1)(5-4 )(5-9) = 2,253968

Ahora realizamos una tabla que me resuma lo hecho anteriormente; incluyendo el


error relativo, para lo cual el valor real de 5 es 2,236067
POLINOMIO DE NEWTON
Primer grado Segundo grado Tercer grado
Aproximación ER Aproximación ER Aproximación ER
F(x) 2,333333 4,349% 2,266666 1,368% 2,253968 0,8%

Nota: Es claro que la aproximación de 5 va mejorando a medida que


consideramos un polinomio de grado mayor de Newton. Aunque, no lo
suficientemente rápido ya que los puntos tomados son bastante alejados.

Teorema 1.1 Sea () el polinomio de aproximación de Newton de


grado ,
y sea  la función a la cual nos queremos aproximar. Entonces, el error
de grado n en el polinomio de Newton, denotado por , esta dado por:

f n +1(ε )
Rn = ( x − x 0 )( x − x1 )...( x − x n )
( n +1)!
Donde x0 < ξ < x y f ∈C n +1 (Ver demostración ene. Libro 3)

Ejemplo 3:

Tomemos la función del ejemplo anterior, f ( x) = x , donde claramente f ∈C .
Supongamos que queremos calcular 1,5 y consideramos los nodos 1; 2; 3; 4.
Solucion:

i Xi F(xi) PDD SDD TDD


0 Xo =1 F(x0)=1 F ( X 1 , X 0 ) =-
0,414213
1 X1=2 F(x1)= 1,414213 F ( X 2 , X 1 ) =0,317 F ( X 2 , X 1 , X 0 ) =-
F ( X 3 , X 2 , X 1 , X 0 ) =0,0
8245 0,04819425
F ( X 3 , X 2 , X 1 ) =-
0775216
2 X2=3 F(x2)=1,732050 F ( X 3 , X 2 ) =0,267
949 0,02493775
3 X3=4 F(x3)=2

El polinomio de Newton de grado tres es:

P3 ( x ) =1 + 0,4142139 ( x −1) − 0,04819425 ( x −1)( x − 2) + 0,007752166 ( x −1)( x − 2)( x − 3)

Luego tenemos que:


P3 (1,55 ) =1 + 0,4142139 (1,55 −1) − 0,04819425 (1,55 −1)(1,55 − 2) + 0,007752166 (1,55 −1)(1,55 − 2)(1
P3 (1,55 ) =1,222062
Calculando el error se obtiene:

f n +1(ε ) −15 / 16 x −7 / 2
Rn = ( x − x 0 )( x − x1 )...( x − x n ) = ( x −1)( x − 2)( x − 3)( x − 4)
( n +1)! 24

Como f ( x) = x entonces f ( iv ) ( x) = −15 / 16 x −7 / 2


Ahora, para algún ξ ϵ (1,1,5) se debe satisfacer la igualdad. Vamos a
tomar un ξ muy arbitrario (corriendo el riesgo de que no sea una
elección conveniente) hacemos:

x 0 + x 1 + 1,5
ξ= = = 1,25
2 2

Es decir trabajamos con el punto medio entre el valor inicial de los datos
y el valor a aproximar; por lo tanto

−15 / 16 (1,25 ) −7 / 2
R4 = (1,25 −1)(1,25 − 2)(1,25 − 3)(1,25 − 4) = 0,016141615
24

Podemos también ver estos coeficientes de la siguiente forma:

Teorema: Si f ∈C n +1 en [a,b] y x 0 ,..., x n son nodos en [a,b], entonces


existe ξ en (a,b) tal que
f n (ξ )
f [ x 0 ,..., x n ] =
n!

POLINOMIOS DE INTERPOLACION DE LAGRANGE

Presentamos ahora una forma alternativa del polinomio de interpolación P(x) asociado con
una tabla de datos (xi , yi) con 0≤ i ≤ n. Es importante entender que existe uno y solo un
polinomio de interpolación de grado ≤ n asociado con los datos (suponiendo, claro esta, que
las n+1 abscisas xi son distintas). Sin embargo, existe ciertamente la posibilidad de expresar
este polinomio de maneras distintas y de llegar a el a través de distintos algoritmos.

El problema al utilizar Polinomio de Newton para aproximar es que se debe tener la


derivada y muchas veces este lado no se tiene; una forma de evitar esto es trabajar con una
interpolación de Lagrange, que es una reformulación del Polinomio de Newton que evita
las diferencias divididas y se representa como:
n
Fn ( x) = ∑ Li ( x) F ( x i ) + R n
i =0 (3.3.1.2)

n x − xj
Donde Li (x) = Π ; Π es productoria y Rn es el error.
j= 0
i≠ i
x −i x j
Para obtener el polinomio de grado uno (lineal) reemplazamos n=1
1
F1 ( x ) = ∑ Li ( x) F ( x i )
i =0

= L0 ( x) F ( x 0 ) + L1 ( x) F ( x1 )
n =1 x − xj x − x1
L0 ( x ) = ∏ =
j =0 xi − x j x 0 − x1
i≠ j

x − x0
L1 ( x) =
x1 − x 0

x − x1 x − x0
F1 ( x ) = f ( x0 ) + f ( x1 )
x 0 − x1 x1 − x 0

Ahora calcularemos el polinomio de interpolación de grado dos (Cuadrático), haciendo


n=2:
2
F2 ( x ) = ∑ Li ( x ) F ( x i )
i =0

= L0 ( x) F ( x 0 ) + L1 ( x) F ( x1 ) + L2 ( x) F ( x 2 )

x − x1 x − x 2 x − x0 x − x2 x − x 0 x − x1
F2 ( x ) = f ( x0 ) + f ( x1 ) + f ( x2 )
x 0 − x1 x 0 − x 2 x1 − x 0 x1 − x 2 x 2 − x 0 x 2 − x1

La aproximación del polinomio cúbico es:


3
F3 ( x) = ∑ Li ( x) F ( xi )
i =0

= L0 ( x) F ( x 0 ) + L1 ( x) F ( x1 ) + L2 ( x) F ( x 2 ) + L3 ( x) F ( x 3 )
x − x1 x − x 2 x − x3 x − x 0 x − x 2 x − x3
F3 ( x) = f ( x0 ) + f ( x1 )
x 0 − x1 x 0 − x 2 x 0 − x3 x1 − x 0 x1 − x 2 x1 − x3
x − x 0 x − x1 x − x 3 x − x 0 x − x1 x − x 2
+ f ( x2 ) + f ( x3 )
x 2 − x 0 x 2 − x1 x 2 − x3 x 3 − x 0 x 3 − x1 x 3 − x 2

La ecuación (3.3.3.2) se obtiene de manera directa del polinomio de Newton, sin


embargo, el razonamiento detrás de la formulación de lagrange se comprende
directamente al darse cuenta que cada termino Li(x) será 1 en x=xi y 0 en todos los otros
puntos(Ver figura). De esta forma, cada producto Li(x) f(xi) toma el valor de f(xi) en el
punto xi En consecuencia, la sumatoria de todos los productos en la ecuación (3.3.2) es el
único polinomio de n-ésimo grado que pasa exactamente a través de todos los n+1
puntos, que se tienen como datos.

GRAFICA

Descripción visual del razonamiento detrás del polinomio de Lagrange. Esta figura
muestra un caso de segundo grado. Cada uno de los tres términos de la ecuación (3.3.2)
pasa a través de uno de los puntos que se tienen como datos y es cero en los otros dos.
La suma de los tres términos, por lo tanto, debe ser el único polinomio de segundo grado
f2(x) que pasa exactamente a través de os tres puntos.

EJEMPLO
Con un polinomio de interpolación de Lagrange de primero, segundo y tercer grado
evalué 1,5 ; basándose en los datos dados a continuación:

x0 = 1 f(x0)= 1
x1 = 2 f(x1)= 1,414213
x2 = 3 f(x2)= 1,732050
x3 = 4 f(x3)= 2

Solución:
Primero hallamos el polinomio lineal:
x −2 x −1
F1 ( x ) = (1) + (1,414213 ) = 0.414213 x + 0.585787 ⇒ F1 (1.5) = 1.2071065
1−2 2 −1
Ahora hallamos el polinomio cuadrático:
x − 2 x −3 x −1 x − 3 x −1 x − 2
F2 ( x ) = (1) + (1.414213 ) + (1.732050 ) ⇒ F2 (1.5) = 1.219153825
1 − 2 1 −3 2 −1 2 − 3 3 −1 3 − 2
Finalmente el polinomio cúbico es:
x −2 x −3 x −4 x −1 x − 3 x − 4 x −1 x − 2 x − 4 x −1 x − 2 x − 3
F3 ( x) = (1) + (1.414213 ) + (1.732050 ) +
1−2 1−3 1− 4 2 −1 2 − 3 2 − 4 3 −1 3 − 2 3 − 4 4 −1 4 − 2 4 − 3
F3 ( x) = 1.22205934

Como se esperaba, ambos resultados concuerdan con los que se obtuvieron antes al usar
el polinomio de interpolación de Newton.
EJERCICIO PROPUESTO

Hallar el valor de 2 utilizando 3 funciones diferentes y llenar la siguiente tabla


Primer grado Segundo grado Tercer grado
Aproximación EN ER Aproximación EN ER Aproximación EN ER
F(x)
G(x)
H(x)

1) Obtenga el Polinomio de Lagrange de grado dos a partir del Polinomio de


Newton.
2) Estime el log 5 usando interpolación lineal, cuadrática y cúbica; y compare
los errores. ¿Cuál es el mejor método? ¿Porqué?.
3) Del libro de Burden resolver los ejercicios 3 y 10 de la página 119.

POLINOMIOS DE INTERPOLACION DE AITKEN


Una de las dificultades de la interpolación de Lagrange, es que el error es difícil (o
imposible) de calcular. La forma habitual de trabajar es ir incrementando el orden de los
polinomios, hasta que se obtiene un valor deseado. Sin embargo, cada cálculo es
independiente del previo, perdiéndose contacto entre uno y otro. Los polinomios de
Legendre también se pueden generar aprovechando los cálculos previos, en forma iterativa.

El polinomio de interpolación de Aitken nos permite generar los polinomios de grados más
altos partiendo de polinomios de grados más bajos.
Se genera un dispositivo triangulas de polinomios Pk,d mediante un determinante de orden
2. Aquí Pk,d es cierto polinomio de grado d que se interpola sobre un conjunto de d+1
puntos que dependen de k.

El esquema de Aitken es el que sigue:


Para d = 0, 1, 2,..., n genérese el polinomio Pk,d como sigue:
Pk,0(x) = Fk(x) k = 0, 1, 2, ........, n
( xk − x ) Pd , d ( x) − ( xd − x) Pk , d ( x)
Pk , d +1 ( x ) = ; k = d +1, d + 2, ........., n
xk − xd

1 Pd , d xd − x
Pk , d +1 ( x ) = ; k = d + 1, d + 2, ........., n
xk − xd Pk , d xk − x

La disposición de los polinomios Pk,d se muestra en la siguiente tabla:


d 0 1 2 ............. n

X0 P0,0 X0 – X
X1 P1,0 P1,1 X1 – X
X2 P2,0 P2,1 P2,2 X2 – X
. . . . . . .
. . . . . . .
. . . . . . .

Xk Pk,0 Pk,1 Pk,2 Xk – X


. . . . . . .
. . . . . . .
. . . . . . .

Xn Pn,0 Pn,1 Pk,2 Pn,n Xn – X

• EJEMPLO
Hallar una aproximación de 1,5 utilizando el polinomio de interpolación de Aitken
de grado 3; para los siguientes valores:

x0 = 1 f(x0)= 1
x1 = 2 f(x1)= 1,414213
x2 = 3 f(x2)= 1,732050
x3 = 4 f(x3)= 2
Solución:
Utilizando las formulas descritas anteriormente; tenemos:
1 P0, 0 x0 − x 1 1 1 − 1.5
P1,1 ( x) = = = 1.20710678
x1 − x 0 P1, 0 x1 − x 2 −1 1.414213 2 −1.5
k =1
d =0
1 P0, 0 x0 − x 1 1 1 − 1.5
P2 ,1 ( x) = = = 1.1830127
x 2 − x 0 P2 , 0 x2 − x 3 + 1 1.73205081 3 − 1.5
k =2
d =0
1 P0,0 x0 − x 1 1 1 − 1.5
P3,1 ( x ) = = = 1.1666667
x3 − x 0 P3, 0 x3 − x 4 −1 2 4 − 1.5
k =3
d =0
1 P1,1 x1 − x 1 1.20710678 2 − 1.5
P2, 2 ( x) = = = 1.22205934
x 2 − x1 P2,1 x2 − x 3 − 2 1.1830127 3 −1.5
k =2
d =1
1 P1,1 x1 − x 1 1,20719678 − 2 −3
P3, 2 ( x ) = = = 1.21721681
x3 − x1 P3,1 x3 − x 4 − 2 1.16666667 4 −1.5
k =3
d =1
1 P2, 2 x2 − x 1 3 − 1.5 0 −3
P3,3 ( x ) = = = −24
x3 − x 2 P3, 2 x3 − x 4 − 3 1.21721681 4 − 1.5
k =3
d =2

k Xk Pk,0 Pk,1 Pk,2 Pk,3 Pk,4


0 -4 256
1 -2 16 -584
2 0 0 -192 396
3 2 16 -24 116 -24
4 4 256 256 116 186 81

Ejercicios propuestos
1. Dado el ejemplo anterior; realizar la aproximación de 1,5 utilizando:

a. f ( x) = 2 b. g ( x) = x c. h( x) = 4
x 3 x

Realizar una tabla con los polinomios de grado uno, dos y tres, donde se relacione l error
relativo. Hallar los puntos de tabulación de forma tal que el máximo intervalo que los
contenga sea de longitud 2

EJERCICIOS PROPUESTOS
1. El número de turistas que visitaron España en el periodo 1975-1990 está reflejado
en la siguiente tabla:
1975 1980 1985 1990
Años
Millones de turistas 24,1 30,1 38,1 43,2
Calcular, utilizando un polinomio de interpolación adecuado (cuadrático, al menos),
el número de turistas que visitarán España en 1995.
2. En la tabla siguiente se indica el tiempo (en días) y el peso (en gramos) de tres
embriones de cierta especie animal:
3 5 8
Tiempo
Peso 8 22 73
a) Obtener el polinomio de interpolación de 2º grado correspondiente.
b) Determinar, a partir de dicho polinomio, el peso que correspondería a un embrión
de 6,5 días.

3. Dada la siguiente tabla, obtener por interpolación lineal el valor de .


x 0 1 2
1 1,4142 1,7321

(Sol. 0,7514)
4. De una función f(x) se conocen los valores f(1)=0, f(2)=4, f(5)=52. Hallar el
correspondiente polinomio cuadrático de interpolación. Estimar el valor de la función en
x=3 y en x=6. (Sol. P(x) = 3x2 –5x +2, P(3)=14 y P(6)=80)
5. Obtener la ecuación de la interpolación cuadrática que pasa por los puntos A(0,4),
B(1,3) y C(-1, 9). (Sol. P(x)= 2x2 – 3x + 4)
6. El aumento de líneas telefónicas instaladas en España durante los tres últimos
años fue:
1995 1996 1997
Años
Millones de líneas 8,457 8,882 9,640
a) ¿Es lineal el aumento producido?
b) Calcular el valor esperado en 1998 mediante una extrapolación cuadrática. (Sol.
10,731)
7. Dada la tabla de la función y = f(x)
x 1 2 3 4
f(x) 2 -1 6 0
Calcular el error cometido cuando se calcula f(4) mediante la interpolación
cuadrática, obtenida usando los otros valores de la tabla. (Sol. 23)

 Polinomios de Hermite
Los polinomios osculadores son una generalización de los polinomios de Taylor y de
Lagrange. Estos interpolan la función dada, coincidiendo con ella en n+1 puntos y en sus m
derivadas.
Un caso particular son los polinomios de Hermite, que interpola la función dada, y
coincide con ella en n+1, y en n puntos de la derivada primera. El polinomio de Hermite
está dado por

H2n+1(x) = Sumj=0n f(xj)Hn,j(x) + Sumj=0n f'(xj)HHn,j(x)

donde

Hn,j(x) = [1 - 2(x-xj)L'n,j(xj)]L2n,j(x)

HHn,j(x) = (x-xj)L2n,j(x)

y los Ln,j son los polinomios de Lagrange.


Ejercicios:
 Dibujar esquemáticamente los polinomios de Hermite (losH y los HH)

Si bien la descripción anterior es completa, el hecho de tener que evaluar los polinomios de
Lagrange y sus derivadas, lo hace un poco tedioso.
Una forma simple de encontrar los coeficientes es utilizando diferencias finitas, pero
definiendo nuevos puntos zi en la forma:

z1 = z2 = x1
z3 = z4 = x2
y en general:
z2i = z2i-1 = xi

Se hace el cálculo de diferencias finitas explicado anteriormente, pero como f[z2i,z2i-


1]=f[xi,xi] y este no está definido, entonces se usa la expresión del límite
f[z2i,z2i-1]=f'(xi)

Ejercicios:
 Modificar el programa divideddiff.for para calcular los polinomios de Hermite.
 Plotear la función y su derivada para nuestro viejo conocido caso de J0

Splines
Las interpolaciones con polinomios sufren de un problema básico, y es la aparición de
grandes oscilaciones espúreas, especialmente si el grado del polinomio es alto.
Una forma alternativa de obtener funciones interpoladoras, es dividiendo el intervalo en
sucesivos intervalos, y generar polinomios de bajo grado en cada uno de estos intervalos.
Esto se llama aproximación polinomial por piezas.
Para que el resultado quede "bien", estos polinomios deben mantener continuidad en la
función, la derivada primera y la derivada segunda, en cada uno de estos puntos límites.
Dada una función f definida en [a,b], y un grupo de nodos a = x0 < x1 < ... < x n = b , se
llama cubic spline interpolant S, a la función que satisface las siguientes condiciones para
j<(n+1):
(a) S es un polinomio cúbico, que en cada subintervalo [xj,xj+1] se
denomina Sj
(b) S(xj) = f(xj) (para todo j)
(c) Sj+1(xj+1) = Sj(xj+1)
(d) S'j+1(xj+1) = S'j(xj+1)
(e) S''j+1(xj+1) = S''j(xj+1)
(f) S''(x0) = S''(xn) = 0 ("free boundary")
o
S'(x0) = f'(x0) y S'(xn) = f'(xn) ("Clamped boundary")

El procedimiento para encontrar S es el siguiente:


denominamos

Sj(x) = aj + bj(x - xj) + cj(x - xj)2 + dj(x - xj)3

y aplicamos las condiciones pedidas anteriormente. Por ejemplo, para que se cumpla (b):

Sj(xj) = fj(xj) = aj

para que se cumpla (c):

aj+1 = Sj+1(xj+1) = Sj(xj+1) = aj + bj(x - xj+1) + cj(x - xj+1)2 + dj(x - xj+1)3

que para simplificar, haciendo hj = (xj+1 - xj) es:

aj+1 = aj + bjhj + cjhj2 + djhj3

Respecto a la derivada, que se escribe

S'j(x) = bj + 2cj(x - xj) + 3dj(x - xj)2

y aplicando la condición (d) obtenemos:

bj+1(x) = bj + 2cjhj + 3djhj2

la condición (e) se cumple si


cj+1(x) = cj + 3djhj

(para que se cumpla también en el último punto n se define cn = S''(xj)/2).


Subsituyendo todas estas condiciones, nos queda un sistema de ecuaciones (matriz
tridiagonal):

hj-1cj-1 + 2(hj-1 + hj)cj + hjcj+1 =


= 3(aj+1 - aj)/hj - 3(aj - aj-1)/hj-1

donde j=2,3, ... ,n-2. En las filas j=0 y j=n, se escriben las condiciones de contorno en la
diagonal.
Ejercicios:
 Utilizar el programa splines.for para interpolar la siguiente figura.

Debido a que las derivadas no son contínuas en algunos puntos, se interpolan 3 funciones
diferentes, cuyos valores estan dados en curva1.dat, curva2.dat y curva3.dat.

 Dibujar la figura junto con el polinomio interpolador.


 Cambiar las condiciones de contorno a clamped boundary conditions, modificando el
programa dado, y comparar los resultados.

Darío Mitnik

S-ar putea să vă placă și