metodos de interpolaciÓn
DESCRIPTION
METODOS DE INTERPOLACIÓN. Introducción :. Se trata de obtener un polinomio ( polinomio de interpolación ) que cumpla: f(x ) ≈ p(x) . en una serie de n puntos x 0 , x 1 , …, x n. Dos casos típicos: 1) Los datos x 0 , x 1 , … , x n , se han obtenido experimentalmente. - PowerPoint PPT PresentationTRANSCRIPT
METODOS DE
INTERPOLACIÓN
Introducción:
Se trata de obtener un polinomio (polinomio de interpolación) que cumpla:
f(x )≈ p(x).
en una serie de n puntos x0, x1, …, xn .
Dos casos típicos:
1) Los datos x0, x1, … , xn , se han obtenido experimentalmente.
2) Una función complicada f(x) la aproximamos a un polinomio.
En ambos casos hallamos el polinomio de interpolación p(x) .
Métodos de hallar el polinomio de interpolación p(x):
* Método de Lagrange
* Método de Newton
G1. Polinomio de interpolación de Lagrange
Sea una función f(x), de tal manera que conozcamos su valor en cada uno de n+1 puntos: f(x0), f(x1), …, f(xn).
1º. Obtenemos los “multiplicadores o coeficientes de Lagrange”):
0 1 1 1
0 1 1 1
( ) ( ) ... ( ) ( ) ... ( )( )
( ) ( ) ... ( ) ( ) ... ( )k k n
kk k k k k k k n
x x x x x x x x x xL x
x x x x x x x x x x
Son n+1 coeficientes: con k=0, 1, 2, …, n .
0
( )( )
( )
ni
ki k ii k
x xL x
x x
i = 0, 1, 2, …, n
k = 0, 1, 2, …, n
Propiedad de los coeficientes Lk(x):
El coeficiente Lk(x) se anula en cada punto xi, excepto en el xk que tiene el valor 1 (valor máximo).
Ejemplo: Supongamos como soporte los seis puntos siguientes,
x0 = 1, x1 = 3, x2 = 4, x3 = 6, x4 = 8, x5 = 9.
3
( 1) ( 3) ( 4) ( 8) ( 9)( )
(6 1) (6 3) (6 4) (6 8) (6 9)
x x x x xL x
El polinomio de interpolación deLagrange se obtiene:
0
( ) ( ) ( )n
k kk
p x f x L x
EJEMPLO: Sea la función f(x)=ex. Supongamos conocido el valor que toma esta función en los cuatro puntos: x0=2, x1=2.5, x2=3, x3=4, es decir:f(x0) = 7.3890, f(x1) = 12.1825, f(x2) = 20.0855, f(x3) = 54.5980
Hallemos el polinomio de interpolación de Lagrange:
3 20
3 21
3 22
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 xL x x x x
x x xL x x x x
x x xL x x x x
x xL x
3 2.5) ( 3)0.3333 3.5 6.16667 5
(4 2) (4 2.5) (4 3)
xx x x
El polinomio de interpolación de Lagrange es:
p(x) = f(x0) L0(x) + f(x1) L1(x) + f(x2) L2(x) + f(x3) L3(x)
p(x) = 3.12601 x3 – 17.2259 x2 + 39.432 x – 27.5792
G2. Polinomio de interpolación de Newton.
La fórmula de interpolación de Newton viene dada por:
1
0 10 0
( ) , ,...,in
i ji j
p x f x x x x x
Siendo las llamadas diferencias divididas de f para los x0, x1, …, xn .
0 1, ,..., if 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 21 2 3
3 1
, ,, ,
f x x f x xf x x x
x x
1 2 3 0 1 20 1 2 3
3 0
, , , ,, , ,
f x x x f x x xf x x x x
x x
*
*
El polinomio de interpolación 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 interpolación para la función f(x) = ex, en los puntos {2, 2.5, 3, 4}, pero en esta ocasión por el método 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 x3 – 17.2259 x2 + 39.4318 x – 27.5791
G2. Método de los Mínimos Cuadrados (Cuadratura Gaussiana)
Supongamos que al realizar una serie de mediciones de dos variables (x, y) , se ha obtenido una distribución de pares de valores o puntos: (x1, y1) , (x2, y2) , … , (xi, yi) , … , (xn, yn) .
El método de los mínimos cuadrados busca una curva, como se indica en la gráfica, de tal manera que se minimice la suma de los cuadrados de los errores, ei , cometidos al sustituir los puntos por la ordenada y(xi).
y = axm + bxm-1+ …+ c
Matemáticamente equivale a un problema de hallar un mínimo para una función de m+1 variables: f(a, b, …, c)
EJEMPLO: Apliquemos el método para el caso de un polinomio de grado 2 (función polinómica), es decir, mediante una parábola: y = ax2 + bx+ c
Si observamos la figura anterior, tenemos:
ei = axi2 + bxi+ c – yi → ei
2 = (axi2 + bxi+ c – yi )2 .
Por tanto la suma de los cuadrados de los errores es:
22 2
1 1
( , , )n n
i i i ii i
e ax bx c y f a b c
Se trata, pues, de minimizar esta función 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 ii
n
b i i i ii
n
c i i ii
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 ii
n
i i i ii
n
i i ii
ax bx c y x
ax bx c y x
ax bx c y
Condiciones de mínimo:
Ejemplo: Hay que hallar un polinomio de interpolación (de grado 2)
para la tabla de datos: x1 = 1, x2 = 2, x3 = 3 .
y1 = 3, y2 = 4, y3 = 6 .
Solución:
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 intepolación: p(x) = 5 x2 – 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”) cúbica
Si como polinomio interpolatorio tomamos un polinomio de grado 3:
P(x) = ax3 + bx2 + cx + d, recibe el nombre de “Spline”.
Interpolación de datos 1-D con MATLAB.
>> yi = interp1(x, y, xi, método);>> 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, …]
Métodos .
- ‘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 interpolación podemos estimar la población en cualquier año:
>> 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 población anual: