Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para introducir este capítulo se analiza un problema para el cual se requiere como modelo un
polinomio de interpolación.
Problema. La inversión en la promoción para cierto producto en una región ha producido los
siguientes resultados:
(x, f): (5, 1.2), (10, 2.5), (15, 4.3), (20, 4.0)
Se desea usar los datos para determinar la cantidad óptima de horas deberían invertirse en
regiones similares para maximizar la eficiencia de las ventas.
Análisis
Con los datos obtenidos se debe construir alguna función que permita obtener la respuesta y
también estimar el error en el resultado.
Dados los puntos (xi, fi), i = 0, 1, 2, . . ., n que pertenecen a alguna función f que supondremos
desconocida pero diferenciable, se debe encontrar alguna función g para aproximarla.
Dados los datos (xi, fi), i = 0, 1, 2, . . ., n, el polinomio de interpolación que incluye a todos los
puntos es único.
6.2 El polinomio de interpolación de Lagrange
Dados los datos (xi, fi), i = 0, 1, 2, . . ., n. La siguiente fórmula permite obtener el polinomio de
interpolación:
n
pn (x) = ∑
i=0
fi Li (x)
.
x-x j
n
Li (x) = ∏ , i = 0, 1, . . . , n
j=0,j≠ i xi -x j
Para probar que esta definición proporciona el polinomio de interpolación, la expresamos en forma
desarrollada:
pn (x) = f0L0 (x) + f1L1 (x) + . . . + fi-1Li −1 (x) + fiLi (x) + fi+1Li + 1 (x) + . . . + fnLn (x) (1)
(x-x 0 )(x-x1 ) . . . (x-xi-1 )(x-x i+1 ) . . . (x-x n )
Li (x) = , i=0,1,...,n (2)
(xi -x 0 )(xi -x1 ) . . . (xi -xi-1 )(xi -xi+1 ) . . . (x i -x n )
De la definición (2):
Li (xi ) = 1, i=0,1,...,n (Por simplificación directa)
Li (xk ) = 0 , k=0,1,...,n; k ≠ i , (Contiene un factor nulo para algún j = 0, 1, . . . , n; j≠i)
Por otra parte, cada factor Li(x) es un polinomio de grado n, por lo tanto pn(x) también será un
polinomio de grado n con lo cual la demostración está completa.
Ejemplo. Dados los siguientes puntos: (2, 5), (4, 6), (5, 3)
Con la fórmula de Lagrange, encuentre el polinomio de interpolación que incluye a estos puntos.
2
p2 (x) = ∑ fL (x) = f L
i=0
i i 0 0 (x) + f1L1 (x) + f2L2 (x) = 5L0 (x) + 6L1 (x) + 3L2 (x)
2 (x-x j )
Li (x) = ∏
j=0,j ≠ i (xi -x j )
, i=0, 1, 2
Se puede verificar que este polinomio incluye a los tres puntos dados.
Si únicamente se desea evaluar el polinomio de interpolación, entonces no es necesario obtener
las expresiones algebraicas Li(x). Conviene sustituir desde el inicio el valor de x para obtener
directamente el resultado numérico.
Ejemplo. Dados los siguientes puntos: (2, 5), (4, 6), (5, 3)
Con la fórmula de Lagrange, evalúe en x = 3, el polinomio de interpolación que incluye a estos tres
puntos dados.
2
p2 (3) = ∑ fL (3) = f L
i=0
i i 0 0 (3) + f1L1 (3) + f2L2 (3) = 5L0 (3) + 6L1 (3) + 3L2 (3)
2 (3-x j )
Li (3) = ∏
j=0,j ≠ i (xi -x j )
, i=0, 1, 2
La fórmula de Lagrange involucra dos ciclos anidados que dependen del número de datos n:
n
pn (x) = ∑
i=0
fi Li (x)
n x-x j
Li (x) = ∏
j=0,j≠ i x -x
, i = 0, 1, . . . , n
i j
La evaluación de esta fórmula es un método directo que incluye un ciclo para sumar n+1 términos.
Cada factor Li(x) de esta suma requiere un ciclo con 2n multiplicaciones, por lo tanto, la eficiencia
de este algoritmo es T(n) = 2n(n+1) = O(n2).
6.2.2 Instrumentación computacional
La siguiente función recibe los puntos dados y entrega el polinomio de interpolación en forma
algebraica usando la fórmula de Lagrange. Opcionalmente, si la función recibe como parámetro
adicional el valor a interpolar, el resultado entregado es un valor numérico, resultado de la
interpolación.
x, f: puntos base para la interpolación
v: valor para interpolar (parámetro opcional). Puede ser un vector
function p = lagrange(x, f, v)
n=length(x);
syms t; %Variable para el polinomio
p=0;
for i=1:n
L=1;
for j=1:n
if i ~= j
L=L*(t-x(j))/(x(i)-x(j));
end
end
p=p+L*f(i); %entrega p(t) en forma simbólica
end
p=expand(p); %simplificación algebraica
if nargin==3 %verifica si existe un parámetro adicional
t=v;
p=eval(p); % entrega el resultado de p evaluado en v
end
Esta instrumentación es una oportunidad para explorar algunas de las características interesantes
de MATLAB paral manejo matemático simbólico:
>> p=lagrange(x,f)
p=
-7/6*t^2+15/2*t-16/3
>> g=diff(p) (ecuación que debe resolverse: g(x)=p’(x)=0)
g=
-7/3*t+15/2
>> t=eval(solve(g)) (obtener la solución con un método MATLAB)
t=
3.2143
>> r=lagrange(x,f,t)
r=
6.7202 (coordenadas del máximo (t, r))
6.3 Interpolación múltiple
Se puede extender la interpolación a funciones de más variables. El procedimiento consiste en
interpolar en una variable, fijando los valores de las otras variables y luego combinar los
resultados. En esta sección se usará el polinomio de Lagrange en un ejemplo que contiene datos
de una función que depende de dos variables. No es de interés encontrar la forma analítica del
polinomio de interpolación que tendría términos con más de una variable.
Ejemplo. Se tienen tabulados los siguientes datos f(x,y) de una función f que depende de las
variables independientes x, y. Se deben usar todos los datos disponibles para estimar mediante
interpolación polinomial el valor de f(3,12)
y
5 10 15 20
x
2 3.7 4.2 5.8 7.1
Primero interpolamos para x=3 con los datos de cada columna y = 5, 10, 15, 20. Debe usarse un
polinomio de segundo grado pues hay tres datos en la dirección x:
2
p2 (x) = ∑ fL (x) = f L
i=0
i i 0 0 (x) + f1L1 (x) + f2L2 (x) ;
2 (x-x j )
Li (x) = ∏
j=0,j ≠ i (xi -x j )
, i=0, 1, 2
y
5 10 15 20
x
3 3.7625 4.7125 5.8250 7.5625
3
p3 (y) = ∑ fL (y) = f L
i=0
i i 0 0 (y) + f1L1 (y) + f2L2 (y) + f3L3 (y) ;
3 (y-y j )
Li (y) = ∏
j=0,j ≠ i (yi -y j )
, i=0, 1, 2, 3
Resultado final:
y=12: p3 (12) = f0L0 (12) + f1L1 (12) + f2L2 (12) + f3L3 (12)
Para interpolar en dos o más variable, se puede usar la función lagrange para interpolar en una
variable. Al aplicarla en cada dirección se obtienen los resultados parciales. Interpolando con estos
resultados producirá el resultado final.
>> y = [5, 10, 15, 20]; Interpolación en y con los resultados parciales
>> f = [r1, r2, r3, r4];
>> p = lagrange(y, f, 12)
p= Resultado final
5.1121
Si se planea usar este tipo de interpolación con frecuencia, conviene instrumentar una función en
MATLAB para interpolar en dos dimensiones con la fórmula de Lagrange.
Esta función se llamará lagrange2, y usará internamente a la función lagrange para interpolar con
una variable, y con los resultados realizar la interpolación con la otra variable.
Sean:
x,y: vectores con valores de las variables independientes X, Y
f: matriz con los datos de la variable dependiente organizados en filas
u,v: valores para los cuales se realizará la interpolación en x e y respectivamente
function p=lagrange2(x, y, f, u, v)
[n,m]=size(f);
for i=1:m
r(i)=lagrange(x, f(:, i), u); % cada columnas es enviada (resultados parciales)
end
p=lagrange(y, r, v); % interpolación final en la otra dirección
Ejemplo. Suponga que se desea aproximar la función f(x)=ex, 0≤x≤2, con un polinomio de
segundo grado.
Para obtener este polinomio tomamos tres puntos de la función f: (0, e0), (1, e1), (2, e2) y usamos
la fórmula de Lagrange para obtener el polinomio de interpolación, con cinco decimales:
p2(x) = 1.4762x2 + 0.24204x+1
En general, dados los puntos (xi, fi), i=0, 1, ..., n, siendo f desconocida
Sea pn(x) el polinomio de interpolación, es decir el polinomio tal que pn(xi) = fi , i=0, 1, ..., n
pn(t)
...
f(t)
Siendo f desconocida, no es posible conocer el error pues el valor exacto f(t) es desconocido.
Únicamente se tiene el valor aproximado pn(t). Pero es importante establecer al menos alguna
expresión para estimar o acotar el valor del error En(t). En los puntos dados En(xi) = 0, i=0,1, ..., n
h(x) = f(x) – pn(x) – g(x)En(t)/g(t). h es una función con las siguientes propiedades
Se obtiene finalmente:
En(t) = g(t) f(n+1)(z)/(n+1)!, t≠xi, z∈[x0, xn]
En el siguiente capítulo se introduce una técnica para estimar f(n+1)(z) usando los puntos de f.
6.9 Ejercicios y problemas con el polinomio de interpolación
Fórmula de Lagrange
1. Los siguientes datos son observaciones de los ingresos f en base al monto de inversión x
realizada en cierto negocio, en miles de dólares: (5.5, 83.0), (8.2, 94.5), (12.4, 105.0), (19.0, 92.0).
a) Encuentre el polinomio de interpolación de tercer grado con la fórmula de Lagrange
Con este polinomio determine:
b) La ganancia que se obtiene si la inversión fuese 15.0
c) Cuanto habría que invertir si se desea una ganancia de 100.0
d) Para que valor de inversión se obtiene la máxima ganancia.
3. Los siguientes datos pertenecen a la curva de Lorentz, la cual relaciona el porcentaje de ingreso
económico global de la población en función del porcentaje de la población:
a) Use los cuatro datos para construir un polinomio para expresar esta relación
b) Con el polinomio determine el porcentaje de ingreso económico que le corresponde al 60% de la
población
c) Con el polinomio determine a que porcentaje de la población le corresponde el 60% de ingreso
económico global. Resuelva la ecuación resultante con el método de Newton
Error en la Interpolación
También se había hecho una interpolación lineal con el polinomio de diferencias finitas en x = 1.4
obteniéndose como resultado de la interpolación el valor 4.0755
a) Reconstruya la tabla de diferencias finitas
b) Encuentre el valor de f(1.62) con un polinomio de interpolación de Diferencias Finitas
Hacia adelante de tercer grado, y estime el error en la interpolación.
c) Encuentre el valor de x tal que f(x) = 5.4 con un polinomio de interpolación de diferencias
finitas hacia adelante de tercer grado. Para obtener la respuesta debe resolver una
ecuación cúbica. Use el Método de Newton y obtenga el resultado con cuatro decimales
exactos. Previamente encuentre un intervalo de convergencia.
Fertilizante 2
Fert. 1 1.2 1.4 1.6 1.8
1.0 7.2 7.8 7.5 7.3
1.5 8.2 8.6 9.2 9.0
2.0 9.5 9.6 9.3 8.6
Use todos los datos dados para determinar mediante una interpolación polinomial con el método de
Lagrange, la cantidad de producto que se obtendría si se usaran 1.2 de fertilizante 1 y 1.5 de
fertilizante 2.
2. Una empresa que vende cierto producto ha observado que su demanda depende del precio al
que lo vende (P en $/unidad) y también del precio al que la competencia vende un producto de
similares características (Q en $/unidad). Recopilando información histórica respecto a lo que ha
sucedido en el pasado se observó que la demanda diaria (unidades vendidas por día) de este
producto fueron de:
P
1 1.1 1.2
1 100 91 83
1.1 110 100 92
Q 1.2 120 109 100
1.3 130 118 108
Use todos los datos dados y el polinomio de interpolación de Lagrange para estimar los ingresos
mensuales de la empresa por la venta de este producto si decide venderlo a $1.15 por unidad y
conoce que la competencia estableció un precio de $1.25 por unidad.