Vous êtes sur la page 1sur 24

METODOS DE

INTERPOLACIN
Introduccin:
Se trata de obtener un polinomio (polinomio de interpolacin) que
cumpla:
f(x ) p(x).
en una serie de n puntos x
0
, x
1
, , x
n
.
Dos casos tpicos:
1) Los datos x
0
, x
1
, , x
n
, se han obtenido experimentalmente.
2) Una funcin complicada f(x) la aproximamos a un polinomio.

En ambos casos hallamos el polinomio de interpolacin p(x) .
Mtodos de hallar el polinomio de
interpolacin p(x):

* Mtodo de Lagrange
* Mtodo de Newton
G1. Polinomio de interpolacin de Lagrange
Sea una funcin f(x), de tal manera que conozcamos su valor en cada uno de
n+1 puntos: f(x
0
), f(x
1
), , f(x
n
).
1. Obtenemos los multiplicadores o coeficientes de Lagrange):
0 1 1 1
0 1 1 1
( ) ( ) ... ( ) ( ) ... ( )
( )
( ) ( ) ... ( ) ( ) ... ( )
k k n
k
k k k k k k k n
x x x x x x x x x x
L x
x x x x x x x x x x
+
+

=

Son n+1 coeficientes: con k=0, 1, 2, , n .
0
( )
( )
( )
n
i
k
i
k i
i k
x x
L x
x x
=
=

[
i = 0, 1, 2, , n
k = 0, 1, 2, , n
Propiedad de los coeficientes L
k
(x):
El coeficiente L
k
(x) se anula en cada punto x
i
, excepto en el x
k
que tiene el
valor 1 (valor mximo).
Ejemplo: Supongamos como soporte los seis puntos siguientes,
x
0
= 1, x
1
= 3, x
2
= 4, x
3
= 6, x
4
= 8, x
5
= 9.
3
( 1) ( 3) ( 4) ( 8) ( 9)
( )
(6 1) (6 3) (6 4) (6 8) (6 9)
x x x x x
L x

=

El polinomio de interpolacin deLagrange se
obtiene:



0
( ) ( ) ( )
n
k k
k
p x f x L x
=
=

EJEMPLO: Sea la funcin f(x)=e


x
. Supongamos conocido el
valor que toma esta funcin en los cuatro puntos:
x
0
=2, x
1
=2.5, x
2
=3, x
3
=4,
es decir:
f(x
0
) = 7.3890, f(x
1
) = 12.1825, f(x
2
) = 20.0855, f(x
3
) = 54.5980
Hallemos el polinomio de interpolacin de Lagrange:
3 2
0
3 2
1
3 2
2
3
( 2.5) ( 3) ( 4)
( ) 9.5 29.5 30
(2 2.5) (2 3) (2 4)
( 2) ( 3) ( 4)
( ) 2.66667 24 69.3333 64
(2.5 2) (2.5 3) (2.5 4)
( 2) ( 2.5) ( 4)
( ) 2 17 46 40
(3 2) (3 2.5) (3 4)
( 2) ( 2
( )
x x x
L x x x x
x x x
L x x x x
x x x
L x x x x
x x
L x

= = + +


= = +


= = + +


=
3 2
.5) ( 3)
0.3333 3.5 6.16667 5
(4 2) (4 2.5) (4 3)
x
x x x

= +

El polinomio de interpolacin de Lagrange es:
p(x) = f(x
0
) L
0
(x) + f(x
1
) L
1
(x) + f(x
2
) L
2
(x) + f(x
3
) L
3
(x)
p(x) = 3.12601 x
3
17.2259 x
2
+ 39.432 x 27.5792
G2. Polinomio de interpolacin de Newton.
La frmula de interpolacin de Newton viene dada por:
( )
1
0 1
0 0
( ) , ,...,
i n
i j
i j
p x f x x x x x

= =
=
[
Siendo las llamadas diferencias divididas de f para los
x
0
, x
1
, , x
n
.

0 1
, ,...,
i
f x x x
0 0
0 1
1 1 0 1 2
1 2 0 1 2 3
2 2 1 2 3
2 3
3 3
( )
,
( ) , ,
, , , ,
( ) , ,
,
( )
x f x
f x x
x f x f x x x
f x x f x x x x
x f x f x x x
f x x
x f x
En el caso de 4 puntos
Algunos ejemplos:
0 0
0 1
1 1 0 1 2
1 2 0 1 2 3
2 2 1 2 3
2 3
3 3
( )
,
( ) , ,
, , , ,
( ) , ,
,
( )
x f x
f x x
x f x f x x x
f x x f x x x x
x f x f x x x
f x x
x f x
2 3 1 2
1 2 3
3 1
, ,
, ,
f x x f x x
f x x x
x x

1 2 3 0 1 2
0 1 2 3
3 0
, , , ,
, , ,
f x x x f x x x
f x x x x
x x

*
*
El polinomio de interpolacin de Newton:
0 0 1 0 0 1 2 0 1
0 1 2 3 0 1 2
( ) ( ) , ( ) , , ( )( )
, , , ( )( )( )
p x f x f x x x x f x x x x x x x
f x x x x x x x x x x
= + + +
+
Ejemplo: Vamos a obtener el polinomio de interpolacin para la
funcin f(x) = e
x
, en los puntos {2, 2.5, 3, 4}, pero en esta ocasin
por el mtodo de Newton.
0
1
2
3
2.0 7.38906
9.58688
2.5 12.1825 6.21912
15.806 3.1260
3.0 20.0855 12.471133
34.5127
4.0 54.5982
x
x
x
x
=
=
=
=
p(x) = 7.38906 + 9.58688 (x 2) + 6.21912 (x 2) (x 2.5) +
+ 3.1260 (x 2) (x 2.5) (x 3)
p(x) = 3.126 x
3
17.2259 x
2
+ 39.4318 x 27.5791
G2. Mtodo de los Mnimos Cuadrados (Cuadratura Gaussiana)
Supongamos que al realizar una serie de mediciones de dos variables (x, y) ,
se ha obtenido una distribucin de pares de valores o puntos:
(x
1
, y
1
) , (x
2
, y
2
) , , (x
i
, y
i
) , , (x
n
, y
n
) .
El mtodo de los mnimos cuadrados busca una curva, como se indica en la
grfica, de tal manera que se minimice la suma de los cuadrados de los errores,
e
i
, cometidos al sustituir los puntos por la ordenada y(x
i
).
y = ax
m
+ bx
m-1
+ + c
Matemticamente equivale a un problema de hallar un mnimo para una funcin
de m+1 variables:
f(a, b, , c)
EJEMPLO: Apliquemos el mtodo para el caso de un polinomio de
grado 2 (funcin polinmica), es decir, mediante una parbola:
y = ax
2
+ bx+ c
Si observamos la figura anterior, tenemos:

e
i
= ax
i
2
+ bx
i
+ c y
i
e
i
2
= (ax
i
2
+ bx
i
+ c y
i
)
2
.

Por tanto la suma de los cuadrados de los errores es:
( )
2
2 2
1 1
( , , )
n n
i i i i
i i
e ax bx c y f a b c
= =
= + + =

Se trata, pues, de minimizar esta funcin de tres variables, f(a, b, c).

Las condiciones de extremo se dan all donde se anulan las derivadas primeras de
f (x):
( )
( )
( )
2 2
1
2
1
2
1
' 2 . 0
' 2 . 0
' 2 .1 0
n
a i i i i
i
n
b i i i i
i
n
c i i i
i
f ax bx c y x
f ax bx c y x
f ax bx c y
=
=
=
= + + =
= + + =
= + + =

( )
( )
( )
2 2
1
2
1
2
1
. 0
. 0
.1 0
n
i i i i
i
n
i i i i
i
n
i i i
i
ax bx c y x
ax bx c y x
ax bx c y
=
=
=
+ + =
+ + =
+ + =

Condiciones de mnimo:
Ejemplo: Hay que hallar un polinomio de interpolacin (de grado 2)
para la tabla de datos: x
1
= 1, x
2
= 2, x
3
= 3 .
y
1
= 3, y
2
= 4, y
3
= 6 .
Solucin:

O sea,
98 36 14 73 0
36 14 6 29 0
14 6 3 13 0
a b c
a b c
a b c
+ + =

+ + =

+ + =

Soluc.: a = 5, b= -18.5, c = 18
Polinomio de intepolacin: p(x) = 5 x
2
18.5 x + 18
2 2 2 2 2 2
2 1 2 1 2 1
2 0 2 0 2 0
( .1 .1 3).1 ( .2 .2 4).2 ( .3 .3 6).3 0
( .1 .1 3).1 ( .2 .2 4).2 ( .3 .3 6).3 0
( .1 .1 3).1 ( .2 .2 4).2 ( .3 .3 6).3 0
a b c a b c a b c
a b c a b c a b c
a b c a b c a b c
+ + + + + + + + =

+ + + + + + + + =

+ + + + + + + + =

Spline (Special Line) cbica


Si como polinomio interpolatorio tomamos un polinomio de grado 3:
P(x) = ax
3
+ bx
2
+ cx + d, recibe el nombre de Spline.
Interpolacin de datos 1-D con MATLAB.
>> yi = interp1(x, y, xi, mtodo);
>> plot(x, y, 'o', xi, yi);

Sean conocidos una tabla de datos:
x = [1, 1.2, 1.3, 1.5, ]
y = [4.254, 3.097, 5.671, ]
Mtodos .
- nearest
- linear (por defecto)
- spline Cubic spline interpola.
- cubic

Ejemplo 1:

>> x = 0:10;
>> y = exp(x);
>> xi = 0:0.2:10;
>> yi = interp1(x, y, xi);
>> plot(x, y, 'o , xi, yi);

Ejemplo 2:
Hay que interpolar mediante spline los datos de la tabla siguiente:

x 2 2.1 2.6 3 3.2 3.7 4 4.3
y 5 5.3 5.6 5.4 4.9 4.5 3.8 3.3
>> tab = [2 2.1 2.6 3 3.2 3.7 4 4.3; 5 5.3 5.6 5.4 4.9 4.5 3.8 3.3]
>> x = tab(1, :); y = tab(2, :);
>> xi = 2:0.25:4.5;
>> yi = interp1(x, y, xi, 'spline');
>> plot(x, y, 'o', xi, yi)

Ejemplo 3:
Tenemos dos vectores con los censos (por decadas) en el siglo XX, en
millones de personas:
>> t = 1900:10:1990;
>> p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633];

Por interpolacin podemos estimar la poblacin en cualquier ao:
>> t = 1900:10:1990;
>> p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633];
>> interp1(t, p, 1975)

ans =
214.8585

>> t = 1900:10:1990;
>> p = [75.995 91.972 105.711 123.203 131.669...
150.697 179.323 203.212 226.505 249.633];

>> x = 1900:1:2000;
>> y = interp1(t, p, x, 'spline'); plot(t,p,'o',x,y)

Podemos representar la poblacin anual:

Vous aimerez peut-être aussi