0% encontró este documento útil (0 votos)
52 vistas22 páginas

Métodos de Interpolación Polinómica y Spline

Este documento describe varios métodos de interpolación para aproximar una función desconocida a partir de datos muestrales. Explica el método de Lagrange, que construye un polinomio que pasa exactamente por los puntos de datos, y el método de mínimos cuadrados, que minimiza el error cuadrático medio. También cubre spline cúbica, que usa polinomios de grado 3 en cada subintervalo con condiciones de suavidad en los nudos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
52 vistas22 páginas

Métodos de Interpolación Polinómica y Spline

Este documento describe varios métodos de interpolación para aproximar una función desconocida a partir de datos muestrales. Explica el método de Lagrange, que construye un polinomio que pasa exactamente por los puntos de datos, y el método de mínimos cuadrados, que minimiza el error cuadrático medio. También cubre spline cúbica, que usa polinomios de grado 3 en cada subintervalo con condiciones de suavidad en los nudos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

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.
3) Es una manera mas eficiente de construir el polinomio de interpolación.

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
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”):

( x  x0 )  ( x  x1 )  ...  ( x  xk 1 )  ( x  xk 1 )  ...  ( x  xn )
Lk ( x ) 
( xk  x0 )  ( xk  x1 )  ...  ( xk  xk 1 )  ( xk  xk 1 )  ...  ( xk  xn )

Son n+1 coeficientes: con k=0, 1, 2, …, n .


n
( x  xi )
Lk ( x )   i = 0, 1, 2, …, n
i  0 ( xk  xi ) k = 0, 1, 2, …, n
ik

n
El polinomio de interpolación de Lagrange p ( x )   f ( xk ) Lk ( x )
se obtiene como: k 0
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.
( x  1)  ( x  3)  ( x  4)  ( x  8)  ( x  9)
L3 ( x) 
(6  1)  (6  3)  (6  4)  (6  8)  (6  9)
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:

( x  2.5) ( x  3) ( x  4)
L0 ( x )    x 3  9.5 x 2  29.5 x  30
(2  2.5) (2  3) (2  4)
( x  2) ( x  3) ( x  4)
L1 ( x )   2.66667 x 3  24 x 2  69.3333 x  64
(2.5  2) (2.5  3) (2.5  4)
( x  2) ( x  2.5) ( x  4)
L2 ( x )   2 x 3  17 x 2  46 x  40
(3  2) (3  2.5) (3  4)
( x  2) ( x  2.5) ( x  3)
L3 ( x )   0.3333 x 3  3.5 x 2  6.16667 x  5
(4  2) (4  2.5) (4  3)
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


Interpolación Spline

Una opción mas recomendable en algunos problemas, es construir una función


de interpolación F, con la característica de ser polinomial en cada subintervalo ]
xi-1,Xi[ y cumplir con condiciones adicionales sobre los nodos xi en términos de
la primera y segunda derivada.

Un ejemplo de tal función F serian los

•trazadores o spline: Se ajustan polinomios localmente y se conectan los


puntos de la muestra.
• Conjunto de polinomios es de grado 1 se habla de : Linear spline
• Si son de grado 3 se habla de una Cubic spline.
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) .

y = axm + bxm-1+ …+ c

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).
Matemáticamente equivale a un problema de hallar un mínimo para una función
de m+1 variables:
f(a, b, …, c)

Regresión Lineal Simple


Se utiliza solo una variable predictora x, en caso de dos o más variables se
utiliza regresión lineal Múltiple.

Si los datos presentan una tendencia lineal se postula lo siguiente:


y = R(x) = mx+b

Si observamos la figura anterior, tenemos:

ei = mxi + b – yi → ei2 = (mxi + b– yi )2 .

Por tanto la suma de los cuadrados de los errores es:


Las condiciones de extremo se dan allí donde se anulan las derivadas parciales
primeras de f (x):

Condiciones de mínimo:
Regresión Cuadrática

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 = R(x) = ax2 + bx+ c

Si observamos la figura anterior, tenemos:

ei = axi2 + bxi+ c – yi → ei2 = (axi2 + bxi+ c – yi )2 .

Por tanto la suma de los cuadrados de los errores es:

n n

 e    ax  bxi  c  yi   f (a , b, c )
2 2 2
i i
i 1 i 1
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 parciales
primeras de f (x):
n
f a '   2  axi2  bxi  c  yi  . xi2  0
i 1
n
fb '   2  axi2  bxi  c  yi  . xi  0
i 1
n
f c '   2  axi2  bxi  c  yi  .1  0
i 1
n

  ax
i 1
2
i  bxi  c  yi  . xi2  0
n

Condiciones de mínimo:   ax
i 1
2
i  bxi  c  yi  . xi  0
n

  ax
i 1
2
i  bxi  c  yi  .1  0
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:
( a.12  b.1  c  3).12  ( a.2 2  b.2  c  4).2 2  ( a.3 2  b.3  c  6).3 2  0

 ( a.1  b.1  c  3).1  ( a.2  b.2  c  4).2  ( a.3  b.3  c  6).3  0
2 1 2 1 2 1

 ( a.12  b.1  c  3).10  ( a.2 2  b.2  c  4).2 0  ( a.3 2  b.3  c  6).3 0  0


O sea,
98 a  36 b  14 c  73  0

 36 a  14 b  6 c  29  0 Soluc.: a = 5, b= -18.5, c = 18
 14 a  6 b  3 c  13  0

Polinomio de intepolación: p(x) = 5 x2 – 18.5 x + 18


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.

Sean conocidos una tabla de datos:

x = [1, 1.2, 1.3, 1.5, …]


y = [4.254, 3.097, 5.671, …]

>> yi = interp1(x, y, xi, método);


>> plot(x, y, 'o', xi, yi);

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
Podemos representar la población anual:

>> 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)

También podría gustarte