Está en la página 1de 5

INTERPOLACION Y AJUSTE DE CURVAS

Interpolación polinomial de Lagrange. Otro medio de obtener un polinomio interpolado es usando la


fórmula de Lagrange:

n
Pn−1 ( x) = ∑ yi Li
i =1
donde

x − x1 x − x2 x − xi −1 x − xi +1 x − xn
Li ( x) = . ... . .
xi − x1 xi − x2 xi − xi −1 xi − xi +1 xi − xn

son llamadas las funciones cardinales.

Por ejemplo, si n=2, el interpolante es la línea recta P1(x)=y1L1(x)+y2L2(x), donde

x − x2 x − x1
L1 ( x) = L2 ( x) =
x1 − x2 x2 − x1

Con n = 3, la interpolación es parabólica: P2(x)=y1L1(x)+y2L2(x)+y3L3(x), donde

( x − x2 )( x − x3 )
L1 ( x ) =
( x1 − x2 )( x1 − x3 )
( x − x1 )( x − x3 )
L2 ( x) =
( x2 − x1 )( x2 − x3 )
( x − x1 )( x − x2 )
L3 ( x) =
( x3 − x1 )( x3 − x2 )
- Ejemplo. Use el polinomio interpolador de Lagrange de primer y segundo orden para evaluar la
densidad de un aceite de motor sin usar a T = 15 °C basado en los siguientes datos:

x1 = 0, f(x1) = 3.85
x2 = 20, f(x2) = 0.800
x3 = 40, f(x3) = 0.212

Solución. El polinomio de primer orden puede ser usado para obtener la estimación a x = 15:

f1 ( x) = y1 L1 ( x) + y2 L2 ( x)
(15 − 20) (15 − 0)
f1 ( x) = 3.85 + 0.800 = 1.5625
(0 − 20) (20 − 0)

En forma similar, el polinomio de segundo orden se puede desarrollar como:

f 2 ( x) = y1 L1 ( x) + y2 L2 ( x) + y3 L3 ( x)

(15 − 20)(15 − 40) (15 − 0)(15 − 40) (15 − 0)(15 − 20)


f 2 ( x) = 3.85 + 0.800 + 0.212 = 1.3316875
(0 − 20)(0 − 40) (20 − 0)(20 − 40) (40 − 0)(40 − 20)

Archivo m para el método de Lagrange. Como en el archivo m para el método de interpolación e


Newton, la función es ejecutada para dos vectores conteniendo las variables independientes (x) y las
variables dependientes (y). El otro argumento de entrada es valor a interpolar (xx). El orden del
polinomio es basado en la longitud del vector x.

function yint = Lagrange(x,y,xx)


% Lagrange: Lagrange interpolating polynomial
% yint = Lagrange(x,y,xx): Uses an (n - 1)-order
% Lagrange interpolating polynomial based on n data points
% to determine a value of the dependent variable (yint) at
% a given value of the independent variable, xx.
% input:
% x = independent variable
% y = dependent variable
% xx = value of independent variable at which the
% interpolation is calculated
% output:
% yint = interpolated value of dependent variable
n = length(x);
if length(y)~=n, error('x and y must be same length'); end
s = 0;
for i = 1:n
product = y(i);
for j = 1:n
if i ~= j
product = product*(xx-x(j))/(x(i)-x(j));
end
end
s = s+product;
end
yint = s;
Como ejemplo, usemos la función para predecir la densidad del aire a 1 atm de presión a una
temperatura de 15 °C basados en cuatro valores (ver Tabla 1 del archivo interpolación y ajuste de curvas
(1)). Debido a que cuatro valores son pasados por la función, un polinomio de orden tres será
implementado por la función Lagrange para dar:

>> format long


>> T = [-40 0 20 50];
>> d = [1.52 1.29 1.2 1.09];
>> density = Lagrange(T,d,15)
density =
1.22112847222222

Limitations of Polynomial Interpolation. La interpolación polinomial debe ser llevada a cabo con el
número factible más bajo de datos. La interpolación lineal que usa los dos puntos más cercanos es
generalmente suficiente si los puntos de datos están cercanamente espaciados. De tres a seis puntos de
vecinos más cercanos producen buenos resultados en la mayoría de los casos. Un interpolador
interceptando más de seis puntos deberá ser visto son sospecha. La razón es que los puntos de datos
que están lejos del punto de interés no contribuyen a la exactitud del interpolador. De hecho, ellos
pueden ser perjudiciales.

El peligro de usar demasiados puntos es ilustrado en la figura. Hay 11 datos igualmente espaciados
representados por círculos. La línea sólida es el interpolador, un polinomio de grado 10, que intercepta
todos los puntos. Como se ve en la figura, un polinomio de tan alto grado tiene la tendencia a oscilar
entre los puntos de datos. Un resultado más suave podría ser obtenido usando un interpolador cúbico
abarcando los cuatro puntos más cercanos.
Extrapolación polinomial (interpolando afuera del rango de datos) es peligroso. Como ejemplo considere
la figura. Hay seis datos mostrados mediante círculos. El polinomio interpolador de quinto grado es
representado por la línea sólida. El interpolador parece bien dentro del rango de los datos, pero
drásticamente sale de la tendencia obvia cuando x>12. Extrapolando y en x=14, por ejemplo, sería
absurdo en este caso.

Si la extrapolación no puede ser evitada, las siguientes dos medidas pueden ser útiles:

• Graficar los datos y visualmente verificar que los valores extrapolados tengan sentido.
• Usar un polinomio de bajo orden basado en los puntos vecinos más cercanos. En la figura
anterior, un interpolador cuadrático originaría una estimación razonable de y(14) para los datos
en la figura.
• Trabajar con una gráfica de log x vs. log y, la cual es usualmente mucho más suave que la curva
x–y, y de esta forma más segura para extrapolar. Frecuentemente esta gráfica es casi una línea
recta. Esto es ilustrado en la siguiente figura la cual representa la gráfica logarítmica de los datos
en la curva anterior.
- Problema.
1) Use el polinomio interpolador de Newton para determinar y en x = 3.5 con la mejor exactitud posible.
Ordene los puntos para asegurar la exactitud óptima y la convergencia. Es decir, los puntos deben estar
centrados alrededor y lo más cerca posible a la incógnita.

X 0 1 2.5 3 4.5 5 6
y 2 5.4375 7.3516 7.5625 8.4453 9.1875 12

2) Los datos de la siguiente tabla yacen en la gráfica de f(x) = 4.8 cos πx/20. Interpole estos datos
mediante el método de Newton en x = 0, 0.5, 1.0, . . . , 8.0 y compare los resultados con los valores
"exactos" dados por y = f (x).

X 0.15 2.30 3.15 4.85 6.25 7.95


y 4.79867 4.49013 4.2243 3.47313 2.66674 1.51909

3) Dado los datos:

X 1 2 3 5 6
y 7 4 5.5 40 82
Calcule f(4) usando el polinomio interpolador de Lagrange desde el orden 1 a 3.

Referencias:
- J. Kiusalaas, Numerical methods in engineering with Matlab, Cambridge University Press (2005).
- S.C. Chapra, Applied numerical methods with Matlab, Mc Graw Hill (2008).
- C. Woodford y C. Phillips, Numerical methods with worked examples, Springer (1997).

También podría gustarte