You are on page 1of 60

Mg.

Elizabeth Ramos Saira

INTRODUCCION
El problema de la interpolación consiste en estimar
el valor de una función en un punto a partir de valores
conocidos en puntos cercanos. Para obtener esta
estimación se aproxima la función con polinomios ya
que son fáciles de evaluar y por el hecho fundamental de
que dados n+1 puntos de abscisa distinta, (x0, y0), (x1,
y1),..., (xn, yn), existe exactamente un polinomio Pn(x) de
grado no superior a n, que pasa por dichos puntos, es
decir
Pn(xi) = yi para i = 0, …, n .

Así, el problema de interpolación consiste en la
obtención de un polinomio, llamado polinomio de
interpolación, de grado menor o igual que n que pasa
por n+1 puntos (xi,yi), i=0,1,...,n, también llamados
nodos de interpolación. Plantearemos tres
formulaciones diferentes para este problema que nos
llevan al mismo polinomio interpolador:
1) Planteando directamente las condiciones
anteriores se obtiene un sistema de ecuaciones lineales
con solución única, pero generalmente mal
condicionado o de difícil solución si el número de
puntos es elevado

y sobre todo. Aunque no tiene expresión explícita. se puede actualizar fácilmente si se añaden nuevos nodos de interpolación. . su obtención es más estable que por los métodos anteriores. 3) Numéricamente es mucho más útil la forma de Newton del polinomio de interpolación. pues es difícil de evaluar en puntos concretos. 2) Los polinomios de Lagrange permiten obtener una expresión explícita del polinomio de interpolación cuyo interés es más bien teórico. su evaluación no presenta los inconvenientes de los polinomios de Lagrange.

para toda x ∈[a. b]. con la propiedad de que /f (x) − P(x)/ <∈.Teorema (Teorema de la aproximación de Weierstrass) Si f está definida y es continua en [a. existe un polinomio P definido en [a. dado ∈> 0 .b]. b]. .

Forma de Lagrange. Interpolación Polinómica Un problema de interpolación Interpolación lineal y cuadrática Forma normal del polinomio de interpolación ( Método de serie de potencias). Tabla de diferencias divididas Evaluación y error del polinomio de interpolación Conclusiones y alternativas . Forma de Newton.

Para estimar la temperatura en un instante t que no aparece en la tabla. Grados 7 9 12 18 21 19 15 10 Sea T=f(t) la función (desconocida) que da la temperatura ambiente en cada instante t. Método de Serie de Potencias Ejemplo Midiendo la temperatura ambiente a distintas horas del día hemos obtenido la siguiente tabla Hora 6 8 10 12 14 16 18 20 . . aproximaremos la función f mediante polinomios de interpolación.

Si hacemos que pase por tres puntos. y así sucesivamente podemos ir añadiendo puntos e incrementando el grado.Estos polinomios se determinan exigiendo que coincidan con f en alguno de los valores tabulados. . obtenemos una recta. queda un polinomio de grado 2. Si exigimos que pase por dos puntos. o sea un polinomio de grado 1.

 Evoluió de la temperatura diurna Hora 6 8 10 12 14 16 18 20 Grados 7 9 12 18 21 19 15 10 22 20 18 Grados 16 14 12 10 8 6 4 6 8 10 12 14 16 18 20 22 Hora .

Exigiendo que pase por los puntos (x0. la ordenada de la recta que pasa por (12. Para otros instantes en el mismo intervalo tomamos una media ponderada.5º. que es de 19. y0) y (x1.21).18) y por (14. y1) obtenemos un sistema de ecuaciones lineales a0 + a1x0 = y0 a0 + a1x1 = y1 . Interpolación lineal El modo más simple de estimar la temperatura a las 13 horas es tomar la media entre las temperaturas de las 12h y las 14h. o geométricamente hablando. La ecuación general de la recta es P1(x) = a0 + a1x.

Luego reemplazando en nuestro polinomio de grado uno tenemos P1(x) = 0 + 3/2 x .En nuestro ejemplo tenemos el sistema a0 + 12a1 = 18 a0 + 14a1 = 21 cuya solución es a0 = 0 y a1 = 3/2.

7) . ylabel('Grados') axis([-1 22 -1 25]) D=polyfit(t.T. Gráfico de la temperatura % Hora en Matlab t = [6 8 10 12 14 16 18 20]' % Temperatura T = [7 9 12 18 21 19 15 10]' plot(t. grid xlabel('Horas').T.'*').

0000 -0.8448 -106.8676 12.0327 -0.0976 -801.0006 0.5194 461.D= 0.0000 .

xx=linspace(5. yy=polyval(D.21.xx).yy) grid .y) hold on plot(xx.1000). % %dibujo del polinomio calculado sobre el anterior ya realizado de los puntos (x.

y0) y (x1.y1) P 1 (x) = a 0 + a 1 x 25 a0 + a1x0 = y0 20 a0 + a1x1 = y1 15 Grados a 0 + 12a 1 = 18 10 a 0 + 14a 1 = 21 5 5 10 15 20 Hora .Recta que pasa por los puntos (x0.

F = 1.[18 21].5000 0 .1) xx=linspace(5. yy=polyval(F.xx).F=polyfit([12 14].1000).21.

Interpolación cuadrática

Tomando un polinomio de mayor grado, podemos imponer más
condiciones para tener en cuenta la evolución de la
temperatura alrededor del intervalo [12,14].
El polinomio de grado dos

P2(x) = a0 + a1x + a2x2

que pasa por (x0, y0), (x1, y1) y (x2, y2) se determina
análogamente resolviendo el sistema.

a0 + a1x0 + a2x02 = y0
a0 + a1x1 + a2x12 = y1
a0 + a1x2 + a2x22 = y2

En nuestro ejemplo, tomando los puntos (10,12), (12,18) y
(14,21) queda un sistema cuya expresión matricial es

1 10 100  a 0  12 
    
1 12 144  a 1   18 
1 14 196  a   21
  2   

A=[1 10 100; 1 12 144;1 14 196]

A= 1 10 100
1 12 144
1 14 196

>> det(A) ans = 16

>> b=[12 18 21]‘ b= 12
18
21

>> x=inv(A)*b x= -63
11.25
-0.375
P2(x) = -63 + 11.25 x – 0.375 x2

1:22.y) p=A\Y . Polinomio de grado2 25 P2(x) = a0 + a1x + a2x2 20 a0 + a1x0 + a2x02 = y0 15 a0 + a1x1 + a2x12 = y1 Grados a0 + a1x2 + a2x22 = y2 10 5  1 10 100  a 0   12 5 10 15 20 Hora       1 12 144  a 1    18 X=10:2:14      Y=[12 18 21]' polyval(p.x). cond(A) plot(x. y=polyval(p.X)  1 14 196  a 2   21 A=vander(X) x=5:0.

0000 .3750 11.E=polyfit([10 12 14].xx).2500 -63.1000).[12 18 21].2) xx=linspace(5. yy=polyval(E.21. E = -0.

166666666666669 -1. >> n=length(x).375 11.n-1) c= -0.y.y. y=[12 18 21].33333333333336 -1. y=[3 5 6 7].Polyfit : Comando de Matlab que realiza la misma tarea de interpolar una colección de n+1 puntos pares de datos en un polinomio de grado n x=[1 2 3 4]. >> n=length(x).0000000000002 . >> c=polyfit(x. >>c = 0.25 -63.00000000000002 Para nuestro ejemplo x=[10 12 14].n-1).50000000000001 5. >> c=polyfit(x.

y0)..2...n . (xn.. i=1...yn). existe un único polinomio de grado no superior a n tal que P(xi) = yi. Forma normal del polinomio de interpolación Pn(x) = a0 + a1x + a2x2 + ··· + anxn 1 x 0 x 20  x 0n-1   a 0   y0   2  n-1     1 x1 x1  x1   1  a  y1  1 x 2 x 22  x 2n-1   a 2    y 2                    n-1      1 xn xn  xn   n  2 a  yn   Dados n+1 puntos de abscisas distintas (x0...

x=[2.'.3.20) axis([0 8 0 8]) grid .'markersize'. plot(x.6]. y=[2.5.y.6.'.4.5.6].5.

V=vander(x) V= 16 8 4 2 1 81 27 9 3 1 256 64 16 4 1 625 125 25 5 1 1296 216 36 6 1 V=vander(x) . m=inv(V) .2500 4.5000 -29.2500 81.0000 -75.det(V).0000 . a=inv(V)*y' a= -0.

xx). yy=polyval(a. plot(xx. % polyval % Entrada: % aa -> los coeficientes del polinomio % de mayor a menor % xx -> una serie de puntos % Salida: % yy -> valor del polinomio en esos puntos % plot(x.'markersize'.'.max(x)).yy) % dibujamos el polinomio .'.y.xx=linspace(min(x).20) % dibujamos los puntos hold on.

.

Pn(x) = y0 L0n(x) + y1 L1n(x) + y2 L2n(x) + ··· + yn Lnn(x) . Forma de Lagrange del polinomio de interpolación Polinomios de Lagrange ( x  x 0 ) ( x  x i 1 )( x  x i 1 ) ( x  x n ) Lin ( x)  ( x i  x 0 ) ( x i  x i 1 )( x i  x i 1 ) ( x i  x n ) Existencia del polinomio de interpolación.

en la que sea más cómodo imponer las condiciones de interpolación. Forma de Lagrange del polinomio de interpolación La obtención del polinomio de interpolación en forma normal requiere la resolución de un sistema de ecuaciones lineales. . cuyo coste aritmético es alto y depende del el número n de nodos. Para reducir el coste podemos tomar una base del espacio de polinomios más adecuada.

La existencia de este polinomio se deriva del resultado anterior. pero puede obtenerse directamente. sin necesidad de resolver un sistema Nuevamente tenemos los datos : El polinomio de interpolación de Lagrange se plantea como sigue: P( x)  y0l0 ( x)  y1l1 ( x)    ynln ( x) .

P( x)  y0l0 ( x)  y1l1 ( x)    ynln ( x) Donde .

Recordar que para generar una interpolación de orden n. por ejemplo . es necesario Contar con n+1 datos conocidos.

.

.

Ejemplo 1 Calcular el polinomio de Lagrange usando los siguientes datos: ..

Tenemos que: f ( x)  y0l0 ( x)  y1l1 ( x)  y2l ( x)  y3l3 ( x) f ( x)  2l0 ( x)  l1 ( x)  2l2 ( x)  3l3 ( x) donde ( x  3)( x  5)( x  7) ( x  3)( x  5)( x  7) l0 ( x)   (2)( 4)( 6)  48 ( x  1)( x  5)( x  7) ( x  1)( x  5)( x  7) l1 ( x)   ( 2)( 2)( 4) 16 ( x  1)( x  3)( x  7) ( x  1)( x  3)( x  7) l2 ( x )   (4)( 2)( 2)  16 ( x  1)( x  3)( x  5) ( x  1)( x  3)( x  5) l3 ( x)   (6)( 4)( 2) 48 .Solución.

el polinomio de Lagrange queda definido como sigue:  ( x  3)( x  5)( x  7)   ( x  1)( x  5)( x  7)   ( x  1)( x  3)( x  7)   ( x  1)( x  3)( x  5)  f ( x)           24   16   8   16  . Sustituyendo arriba.

Ejemplo Hallar el polinomio interpolador correspondiente a los nodos: x0 = 1 y0 = f(1) = 1.6 x2 = 3 y2 = f(3) = 4.3 y1 = f(2.3) = 3.1 .5 x1 = 2.

3)(1  3) = 0.3) = 3.5 x1 = 2.Ejemplo x0 = 1 y0 = f(1) = 1.6 x2 = 3 y2 = f(3) = 4.3)( x  3) L 0 (x )   ( x 0  x 1 )( x 0  x 2 ) (1  2.3846 x2 – 2.0385 x + 2.3 y1 = f(2.1 ( x  x 1 )( x  x 2 ) ( x  2.6538 .

3  3) = -1.3956 x – 3.3  1)(2.6 x2 = 3 y2 = f(3) = 4.2967 .1 ( x  x 0 )( x  x 2 ) ( x  1)( x  3) L 1 (x )   ( x 1  x 0 )( x 1  x 2 ) (2.3 y1 = f(2.Ejemplo x0 = 1 y0 = f(1) = 1.5 x1 = 2.0989 x2 + 4.3) = 3.

6429 .5 x1 = 2.3571 x + 1.7143 x2 .2.6 x2 = 3 y2 = f(3) = 4.3) = 3.1 ( x  x 0 )( x  x 1 ) (x  1)( x  2.Ejemplo x0 = 1 y0 = f(1) = 1.3) L 2 (x )   ( x 2  x 0 )( x 2  x 1 ) (3  1)(3  2.3 y1 = f(2.3) = 0.

Ejemplo L0(x) L1(x) L2(x) .

2.6538)1.0385 x + 2.0.7143 x2 .15165 .0989 x2 + 4.1022x – 1.2967)3.3956 x – 3.3571 x + 1.Ejemplo p(x) = L0(x)y0 + L1(x)y1 + L2(x)y2 = (0.6429)4.6 + (0.3846 x2 – 2.4505x2 + 3.1 = .5 + (-1.

.

Ejemplo p(x) .

5 x1 = 2.1 Hallar el valor interpolado correspondiente ax=2 .6 x2 = 3 y2 = f(3) = 4.3 y1 = f(2.Ejemplo Dados los nodos: x0 = 1 y0 = f(1) = 1.3) = 3.

11538 .5 x1 = 2.3)(1  3) = 0.Ejemplo x0 = 1 y0 = f(1) = 1.3 y1 = f(2.3) = 3.6 x2 = 3 y2 = f(3) = 4.1 (2  x 1 )(2  x 2 ) (2  2.3)(2  3) L 0 (2 )   ( x 0  x 1 )( x 0  x 2 ) (1  2.

5 x1 = 2.3  3) = 1.3) = 3.1 (2  x 0 )(2  x 2 ) (2  1)(2  3) L 1 (2 )   ( x 1  x 0 )( x 1  x 2 ) (2.Ejemplo x0 = 1 y0 = f(1) = 1.6 x2 = 3 y2 = f(3) = 4.09890 .3  1)(2.3 y1 = f(2.

5 x1 = 2.3 y1 = f(2.21429 .6 x2 = 3 y2 = f(3) = 4.3) L 2 (2 )   ( x 2  x 0 )( x 2  x 1 ) (3  1)(3  2.3) = .1 (2  x 0 )(2  x 1 ) (2  1)(2  2.3) = 3.Ejemplo x0 = 1 y0 = f(1) = 1.0.

25055 .1 p(2) = 3.0.21429)4.11538 )1.Ejemplo p(2) = L0(2)y0 + L1(2)y1 + L2(2)y2 = (0.6 + (.5 + (1.09890)3.

ejercicios Hallar el polinomio interpolador de lagrange : a) La siguiente tabla resume los datos de alguna observacion .

. Forma de Newton del polinomio de interpolación Pn(x) = c0 + c1(xx0) + c2(xx0)(xx1) +    +    + cn(xx0)(xx1)    (xxn-1)  Determinación algebraica Pn(x0) = y0 = c0 Pn(x1) = y1 = c0+ c1(x1x0) Pn(x2) = y2 = c0+ c1(x2x0) + c2(x2x0)(x2x1)  Ventajas  El sistema es triangular  Permite añadir nuevos puntos sin rehacer todos los cálculos.

x1  f  x 0 . x 2   x2  x0    f x 1 .Tabla de diferencias divididas c0 = f[x0] = y0 y1  c 0 f  x1   f  x 0  c1 = f  x 0 .x1 . x 2   f  x 0 . x 2 . x k 1    f x 0 . x1    x1  x 0 x1  x 0 f  x1 . x k  xk  x0 . x k  f x 0 . x 1 . x 1 .

x 2 .5417 -0.3750 16 19 1.0417 . x1 ] y2  f[x2 ] f [ x1 . x1 . x 3 ] f [ x 0 . Tabla de diferencias divididas y0  f[x0 ] y1  f [ x1 ] f [ x 0 . x 2 ] f [ x 0 . x 2 . x 2 ] y3  f[x3 ] f[x2 . x1 . x3 ] f [ x1 .1667 -0.2500 -0.5000 10 12 2. x 3 ]     12 18 14 21 1.

Evaluación del polinomio de interpolación Pn(x) = c0+ = (((cn(xx n-1) c1(xx0) + + cn-1)(xx n-2) c2(xx0)(xx1) + + cn-2)(xx n-3) + + + cn(xx0)(xx1)  (xxn-1) = + c1)(xx0) + c0 .

Solución.Ejemplo Calcular la tabla de diferencias divididas finitas con los siguientes datos : Y usar la información en la tabla. para construir el polinomio de interpolación de Newton. Procedemos como sigue: Por lo tanto el polinomio de interpolación de Newton nos queda : .

Ejemplo Calcular la tabla de diferencias divididas finitas con los siguientes datos: Y utilizar la información de dicha tabla. Procedemos como sigue: Por lo tanto el polinomio de interpolación de Newton es . Solución. para construir el polinomio de interpolación de Newton.

4596977 2.4596977(x-0) -0.4596977(x-0) -0.0146568x(x-1)(x-2)(x-3) .4550973 0.5738457 0.6536436 0.0879318 -0.2483757(x)(x-1)+0. xk f [ xk ] 0.2483757 3.5403023 -0.0 1.0 -0.4596977(x-0) -0.9564491 -0.0000000 1.2483757(x)(x-1)+0.0 0.1465592 4.0 -0. Para f(x)=cos(x).1465592x(x-1)(x-2) - 0.0 -0.9899925 -0.1913017 0.divididas.0146568 P1(x)=1 -0.4596977(x-0) P2(x)=1 -0. Ejemplo: Construir la tabla de dif.2483757(x)(x-1) P3(x)= 1 -0.4161468 -0.1465592x(x-1)(x-2) P4(x)= 1 -0.3363499 0.

Error de interpolación f (n1) () f(x)  Pn (x)  (x  x0 )(x  x1 )(x  x n ) (n  1)! (n 1) ( )  f x0 . x n . . x1 . x n+1   f (n  1)! .

Splines . en las abscisas que no aparecen en la tabla.  El polinomio es muy sensible a los errores de los datos. Conclusiones  El polinomio de interpolación suele usarse para estimar valores de una función tabulada.  El aumento de grado no siempre mejora la aproximación. Alternativas  Método de Mínimos Cuadrados  Interpolación polinómica segmentaria.