Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Teoría de Interpolación.
1. REPÚBLICA BOLIVARIANA DE VENEZUELA.
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN SUPERIOR.
UNIVERSIDAD “FERMIN TORO”.
CABUDARE EDO. LARA.
Profesora:DomingoMéndez.
Materia: AnálisisNuméricoSAIA-B
Estudiante:AmilcarAragoza.
C.l:25644260
Cabudare, Diciembre del 2015.
2. TEORÍA DE INTERPOLACIÓN.
La teoría de la Interpolación permitirá la resolución de problemas cuyo análisis
matemático puede ser establecido pero para los cuales la solución analítica no es posible
determinar o encierra gran complejidad. Las técnicas interpoladoras permiten mediante
cálculos algebraicos determinar el valor de las derivadas e integrales de funciones que no
son elementales.
Por otra parte, no es posible desligar el aprendizaje de las técnicas numéricas del manejo
de los instrumentos de cálculo automático que permiten su verdadera puesta en práctica
en situaciones que no sean deliberadamente simples. La aplicación de los algoritmos
numéricos en entornos de cálculo automático es esencial para la perfecta comprensión de
la metodología del cálculo numérico. Por esta razón, junto con la realización de ejercicios
de naturaleza teórica destinados a la formación conceptual se planteará la resolución de
problemas en hojas de cálculo y entornos avanzados de cálculo científico.
Interpolación de Lagrange.
La fórmula clásica de interpolación de Lagrange. En los ejercicios s consideran de dos a
cinco puntos, y los grados resultantes van desde grado cero a grado cuatro en el
polinomio de interpolación. A lo largo de los ejercicios se puede comprobar que la
obtención del polinomio con Lagrange se vuelve una operación más laboriosa a medida
que aumenta el número de puntos considerados, aunque los puntos correspondan a un
polinomio de pequeño grado. Los ejercicios están ordenados según número de puntos.
Ejemplo:
Obtener el polinomio de interpolación usando la fórmula de interpolación de Lagrange
con la siguiente tabla de valores, e
Interpolar en el punto x = 1.
xk -4 -3 2 -6
yk -16 -5 -10 -50
4. Si en lugar de obtener el polinomio de interpolación se quiere interpolar en un punto, o
sea, se quiere calcular el valor del polinomio de interpolación en un punto concreto, basta
sustituir la variable "x" de la fórmula por ese valor y realizar las operaciones
correspondientes. En nuestro caso, si se quiere interpolar en el punto x=1, usando alguna
de las expresiones ya vistas para Lk(x), obtenemos:
Si ya se tuviera el polinomio explícitamente tal como se ha calculado aquí, en potencias de
x multiplicadas por sus coeficientes, es preferible utilizar el algoritmo de Ruffini-Horner
para evaluar el polinomio en los puntos deseados, ya que entonces el coste es lineal (ver
apuntes asignatura). En este caso, para obtener el valor en x = 1 del polinomio de
interpolación p(x) = 4−2 x2−3 x colocamos los coeficientes de mayor a menor exponente y
operamos de la forma usual:
Obteniendo el mismo resultado que antes, p(1) = −1, con muchas menos operaciones.
Sabemos que con Ruffini-Horner a lo sumo son necesarios n productos y n sumas para
obtener el valor de un polinomio de grado n. Claro que para llegar a este punto se han
debido realizar antes todas las operaciones necesarias para obtener el polinomio en
potencias de x. ¿cuántas sumas/restas y productos/divisiones son necesarias para obtener
el polinomio final?
Interpolación de Newton en diferencias divididas
Fórmula fundamental de Newton, más eficiente que la de Lagrange. El número de puntos
considerados oscila entre dos y seis, y grados del polinomio entre uno y cinco. Si bien con
Lagrange es importante el número de puntos con los que se trabaja, con Newton ya lo es
menos, porque p.e., si los datos proceden de un polinomio que tiene grado tres, el hecho
queda claro en los cálculos, ya que la tercera columna de la tabla de diferencias divididas
será constante, con todos sus elementos iguales, y por tanto, las columnas que siguen son
todas nulas. La última columna no nula decide por tanto el grado del polinomio de
interpolación. El coste en número de operaciones a realizar es bastante menor que con
5. Lagrange y el polinomio que se obtiene es más sencillo de evaluar y manejar. Los ejercicios
están ordenados según número de puntos.
Ejemplo:
Obtener el polinomio de interpolación usando la fórmula de interpolación de Newton en
diferencias divididas con los datos de la tabla que aparece a continuación, e interpolar en
el punto.
xk 6 -2 -4
yk 48 0 8
Solución: Sabemos que si tenemos los n+1 puntos (xi,yi), i=0... n, y queremos calcular el
polinomio que interpola en dichos puntos utilizando la fórmula de interpolación de
Newton en diferencias divididas, hemos de usar:
O también:
pn(x)= f[x0] + f[x0,x1](x−x0)+ f[x0,x1,x2](x−x0)(x−x1)+…+f[x0,x1,
…,xn](x−x0)(x−x1)...(x−xn−1) en las que aparecen las diferencias divididas f[x0,...,xi],
obtenidas a partir de los valores proporcionados por la tabla inicial. Calculamos entonces
la tabla de diferencias divididas:
Donde se ha expresado por brevedad la diferencia dividida f[xk,xk+1,...,xk+p] como f[xk ||
xk+p].La diagonal de la tabla de diferencias divididas, en color rojo, es entonces: [48,6,1],
que se corresponde exactamente con el conjunto de valores que aparece en la fórmula y
por tanto, los polinomios de Newton son los siguientes:
p0(x) = 48 (interpola en el primer punto)
p1(x) = 6 (x-6) + p0(x) = 6 x+12 (interpola en los 2 primeros puntos)
p2(x) = ( x−6 ) ( x+2 ) + p1(x) = x2+2 x (interpola en todos los puntos)
O también:
6. p(x) = 48 +6 (x−6) +1 ( x−6 ) ( x+2 ) = x2+2 x
La gráfica del polinomio de interpolación:
p(x) = x2+2 x
y de los puntos (xi,yi), i=0...2 es la que viene a continuación.
Si se quiere interpolar en un punto concreto, lo mejor es tomar el polinomio de
interpolación en su forma de Newton y reordenarlo al estilo Ruffini-Horner expresando el
polinomio como:
p(x) = 48 +(x−6) (6+(x+2) (1))
lo que supone realizar a lo sumo 4 sumas/restas y 2 multiplicaciones para interpolar en un
punto x. Para interpolar entonces en x = −1, basta sustituir la x de la expresión reordenada
anterior por su valor −1 para obtener p(−1) = −1.
Si se tuviera el polinomio en su forma normal, como combinación lineal de {1,x,x2,...,xn},
deberíamos usar el algoritmo clásico de Ruffini-Horner, ya que supondría 2 sumas y 2
multiplicaciones, como se ve a continuación. En este caso, para obtener el valor en x = −1
del polinomio de interpolación p(x) = x2+2 x colocamos los coeficientes de mayor a menor
exponente y operamos de la forma usual:
7. O bien
p(−1) = (1 . (−1) +2) . (−1) +0 = −1
Obteniendo el mismo resultado que antes, p(−1) = −1, con el mismo número de
multiplicaciones y la mitad de sumas/restas.
Interpolación de Newton en diferencias finitas
Uso de las fórmulas de interpolación de Newton en diferencias progresivas y regresivas,
cuando los datos están tabulados de forma que la diferencia entre dos valores
consecutivos del vector de abscisas es constante, o sea, sus valores son equidistantes. La
fórmula en diferencias progresivas se usa para interpolar en valores próximos al punto
inicial (x0), mientras que la fórmula en difrencias regresivas es conveniente cuando se
quiere interpolar en valores próximos al último de los que aparecen en la tabla (xn). Igual
que con la fórmula de Newton en diferencias divididas, la última columna no nula decide
el grado del polinomio de interpolación. Cada ejercicio se realiza con ambas fórmulas,
progresiva y regresiva, utilizando todos los puntos dados. Y se interpola en un punto
concreto, utilizando una de las fórmulas, según corresponda. Los ejercicios están
ordenados según número de puntos.
Ejemplo:
Obtener el polinomio de interpolación usando la fórmula de Newton en diferencias
progresivas/regresivas y utilizando la tabla de valores que sigue. Interpolar en el punto x =
1/5.
xk -1 -1/5 3/5
yk 10 202/25 218/25
Solución: Sabemos que si tenemos los n+1 puntos (xi,yi), i=0... n, en los cuales las abscisas
son equidistantes (es h=4/5), y queremos calcular el polinomio que interpola en dichos
puntos utilizando la fórmula de interpolación de Newton en diferencias finitas, hemos de
usar:
8. En las que aparecen las diferencias progresivas ∆k y0, obtenidas a partir de los valores en
los puntos proporcionados por la tabla. Esta fórmula se usa cuando el punto en el que se
quiere interpolar está próximo al punto inicial x0 (recuérdese que x0 < x1 < ... < xn si h > 0
y al contrario si h < 0). Cuando se quiere interpolar cerca de xn se usa la fórmula en
diferencias regresivas:
Primero calculamos la tabla de diferencias progresivas/regresivas/finitas:
La diagonal de la tabla de diferencias finitas está en color rojo, y sus valores representan
las diferencias progresivas en y0. En color azul, última línea horizontal, están las
diferencias regresivas en yn.
Formula Progresiva.
La diagonal es entonces: [10,−48/25,64/25], que se corresponde exactamente con el
conjunto de valores que aparece en la fórmula en diferencias finitas progresivas de y0 y
por tanto, los polinomios de Newton son los siguientes:
p0(s) = 10 (interpola en el primer punto)
p1(s) = -48/25 s + p0(s) = −48/25 s+10 (interpola en los 2 primeros puntos)
p2(s) = 32/25 s ( s−1 ) + p1(s) = 32/25 s2−16/5 s+10 (interpola en todos los puntos)
O también,
9. En función de s=[(x−x0)/h] = 5/4 x+5/4. Si lo queremos en función de x, deshaciendo el
cambio, tenemos:
p(x) = 32/25 ( 5/4 x+5/4 ) 2−4 x+6 = 8+2 x2
Formula Regresiva:
De forma análoga, la última línea horizontal de la tabla de diferencias finitas es
[[218/25],16/25,64/25], y sus valores se corresponden con las diferencias regresivas en
yn, que son los valores que aparecen en la fórmula en diferencias regresivas. En este caso,
los polinomios de Newton son los siguientes:
p0(u) = 218/25 (interpola en el último punto)
p1(u) = 16/25 u + p0(u) = 16/25 u+[218/25] (interpola en los 2 últimos puntos)
p2(u) = 32/25 u ( u+1 ) + p1(u) = 32/25 u2+48/25 u+[218/25] (interpola en todos los
puntos)
O también,
p(u) = [218/25] +16/25[u/1!] +64/25[(u ( u+1 ) )/2!] = 32/25 u2+48/25 u+[218/25]
En función de u=[(x−xn)/h] = 5/4 x−3/4. Si lo queremos en función de x, deshaciendo el
cambio, tenemos:
p(x) = 32/25 ( 5/4 x−3/4 ) 2+12/5 x+182/25 = 8+2 x2
Los polinomios obtenidos por la fórmula progresiva y la regresiva son idénticos, ya que se
ha considerado la totalidad de los puntos de la tabla en ambos casos. Y lógicamente,
también coincide con el polinomio que se obtendría si se utilizase la fórmula de Newton
en diferencias divididas o Lagrange con esta tabla de datos. La gráfica de p(x) y de los
puntos (xi,yi), i=0...2 es la que viene a continuación.
10. Interpolación.
Se trata de interpolar en el punto x = 1/5, que está próximo al último valor de la tabla, por
lo que utilizaremos la fórmula regresiva de Newton. Para x = 1/5 es u = (x-xn)/h = -1/2 y
sustituyendo este valor en alguna de las expresiones obtenidas para la fórmula regresiva
(todas las fórmulas obtenidas permiten una reformulación tipo Ruffini-Horner, de forma
que se puede minimizar el número de operaciones aritméticas a realizar) obtenemos.
p(−1/2) = 202/25
Si se quiere interpolar en puntos no cercanos a uno de los extremos de la tabla, p.e., en un
valor cercano a uno de los del centro de la tabla, podemos tomar una subtabla
(eliminando algunos elementos del comienzo o del final) de forma que uno de sus valores
extremos sea próximo al punto donde se quiere interpolar. Si se quieren utilizar todos los
valores de la tabla, hay que recurrir a una fórmula de interpolación en diferencias
centrales como Stirling, Bessel o Gauss.
Error en la interpolación polinómica
Los ejercicios consideran una determinada función que se quiere aproximar en un cierto
intervalo por interpolación polinómica. Para ello se toman un cierto número de puntos en
dicho intervalo y se utiliza la fórmula para estimar el error que se comete cuando se
11. utilizan esos puntos para aproximar esa función. La elección de los puntos puede ser de
forma aleatoria, equidistantes en el intervalo, o según Tchebychev. Se consideran entre
tres y cinco puntos. Existe salida gráfica de la propia función, del polinomio de
interpolación, puntos de interpolación en el intervalo considerado y punto donde se
interpola. Para obtener la estimación, en primer lugar se considera un punto fijo del
intervalo, diferente a los de interpolación. A continuación, se deja variable en el intervalo
el punto donde se interpola y se procede a acotar el error. Los ejercicios están ordenados
según número de puntos.
Ejemplo:
Se quiere aproximar la función f(x) = cos( 2 x ) en el intervalo [1,2] utilizando interpolación
polinómica con 3 puntos dados por el vector x=[1.3, 1.2, 1.9]. ¿Cuál es el error máximo
teórico que se cometería en el punto 1.5?
xk 1.30000000 1.20000000 1.90000000
yk -.85688875 -.73739372 -.79096771
Sabemos que la fórmula que nos da una estimación conservadora del error de
interpolación viene dada por:
en la que se han considerado los n+1 puntos (xk,yk), k=0,...,n. En nuestro caso son 3
puntos, por lo que necesitamos calcular la derivada tercera de la función f(x)=cos( 2 x ) .
Tenemos:
f (1)(x) = −2 sin( 2 x ) ⇒ f(2)(x) = −4 cos( 2 x ) ⇒ f(3)(x) = 8 sin( 2 x )
Esta última derivada tercera, considerada en valor absoluto, tiene su valor máximo en el
intervalo [1,2] en 8 sin( 2 ) (comprobar). Por tanto, la cota de error viene dada por:
El error real es la diferencia entre el valor de la función en el punto dado,o sea, f(1.5), y el
valor que nos proporciona el polinomio de interpolación, evaluado en el punto, o sea,
p(1.5). Con la tabla de valores del comienzo, podemos obtener el polinomio de
interpolación y su valor en x=1.5. Como solo necesitamos conocer el valor p(1.5)
12. podemos hacerlo por la fórmula de Newton en diferencias divididas y evaluar
directamente para obtener que p(1.5) = −0.98403721. Si lo calculamos explícitamente, el
polinomio resulta ser:
p(x) = 1.864026714 x2−5.855017085 x+3.604428314
El error real es por tanto:
Error real = |f(1.5) − p(1.5)| = |−0.9899925+0.98403721| = 0.00595529
A continuación aparecen las gráficas de la función f(x)=cos( 2 x ) (verde), del polinomio de
interpolación p(x) (azul) y de los puntos de interpolación (xi,yi), i=0...2 (rojo). También
aparecen el punto donde se calcula el error y el segmento que representa el error real que
se comete al interpolar, con un punteado en rojo, si la gráfica total lo permite.
Una cuestión más interesante es saber la cota del error en la totalidad del intervalo,
independientemente de cuál sea el punto x en dicho intervalo, y considerando estos
mismos puntos de interpolación. Para ello debemos encontrar una cota del producto
∏i=0n (x−xi) = | ( x−1.3 ) ( x−1.2 ) ( x−1.9 ) | en el intervalo [1,2]. En la gráfica que sigue, se
ha dibujado el producto ∏(x−xi) en color azul, y con trazo rojo, las correspondientes
13. partes positivas de la gráfica anterior que son negativas, ya que el producto ha de ser
considerado en valor absoluto, y por tanto, la gráfica a tener en cuenta queda en la región
no negativa y > =0. Como se observa, el valor máximo se presenta en el punto 2. donde la
función ∏(x−xi) vale 0.056 (comprobar)
Por tanto, la cota del error en todo el intervalo viene dada por:
= 0.07466666666 sin( 2 ) = 0.06789420786
Interpolación por splines cúbicos
Se considera una función arbitraria para ser aproximada en un cierto intervalo por splines
cúbicos, considerando un conjunto de puntos en dicho intervalo, entre tres y cinco
puntos. También se pide el valor por interpolación en un punto interior del intervalo. Se
construye analíticamente la función polinómica a trozos que representa el spline
mediante un procedimiento con cuatro pasos. Sobre la gráfica de la función en la totalidad
14. del intervalo en estudio, se dibujan los puntos de interpolación y los polinomios
correspondientes en cada subintervalo. Se indican asimismo el punto donde se interpola y
la diferencia con el valor de la función, analíticamente siempre, y gráficamente cuando sea
posible. El número de puntos determina el orden del sistema lineal a resolver, con un
valor máximo de 3. Los ejercicios están ordenados según número de puntos.
Técnica de los mínimos cuadrados discreta
Se tiene una determinada función expresada como combinación lineal de otras funciones
más elementales. Estas funciones básicas aparecen multiplicadas por unos ciertos
coeficientes por determinar. Se dispone de un conjunto de puntos u observaciones sobre
el comportamiento de la función inicial, eventualmente asociados a unos ciertos pesos,
estrictamente positivos. En ocasiones, todos los pesos son la unidad. Se obtienen los
coeficientes de la combinación lineal utilizando la técnica de mínimos cuadrados discreta,
ajustando los puntos y pesos considerados. El número de funciones básicas está limitado a
dos o tres funciones. El número de puntos y pesos oscila entre cuatro y seis. El ejercicio
también pide una estimación del valor de la función ajustada en un determinado punto.
Se calcula asimismo el error mínimo cuadrático con el conjunto de puntos dados.
Interpolación racional. Algoritmo de Thiele
Obtención de la función racional que interpola en el conjunto de puntos dado. Para
mantener los cálculos a realizar en unos límites razonables, se ha considerado que los
grados de los polinomios numerador y denominador no excedan de 3. El número de
puntos considerados para interpolación está entre tres y ocho. Una vez obtenida la tabla
de diferencias inversas, se obtienen las diferentes funciones racionales que interpolan en
los primeros puntos, hasta considerar la totalidad de los mismos. El orden de complejidad
de los ejercicios es progresivo, considerando primero los más sencillos, para luego ir
aumentando en número de puntos y grados de los polinomios, hasta el máximo de 3
indicado. Las ecuaciones en fracciones continuas aparecen con los primeros sumandos
desplazados hacia abajo.