Está en la página 1de 9

1

Universidad Peruana Unión


Ingeniería
Métodos Numéricos

Laboratorio 10

0.1. Interpolación y Aproximación


Es frecuente encontrar libros de cálculos elemental funciones representando el comportamiento de
algún hecho real, lo primero que viene a la mente es la siguiente pregunta ¿de donde salió esa función?
Algunas de estas funciones se obtienen de la solución de una ecuacion diferencial que representa algún
fenómeno físico, pero algunos también resultan de simples observaciones.

Suponga que disponemos de los siguientes datos, resultados de observaciones, donde el par (ti , ci )
representa el precio del dólar ci (soles) en el tiempo ti (horas).

ti 0 1 2 3 4 5 6 7 8 9
ci 3.42 3.45 3.47 3.5 3.48 3.46 3.44 3.39 3.49 3.56

Supóngase que se quiere calcular:

1. El precio del dólar en el tiempo t = 3.5h

2. La hora en que el precio del dólar esté en 3.465 soles

El estudio de la interpolación y aproximación además de responder a estos requerimientos, nos


permite encontrar funciones que representen estos datos, estas funciones frecuentemente son contin-
uas y hasta diferenciables, esto a su vez nos permitirá manejar matemáticamente un problema que
consistía de apenas algunos datos.

0.1.1. Interpolación
Interpolar una función consiste en aproximar una función f por otra función g, escogida dentro de
una clase definida de antemano y satisfaciendo algunas propiedades. La función g es entonces usada
en reemplazo de f.

Considere n + 1 puntos distintos: x0 , x1 , ..., xn y los valores respectivos de f en esos puntos:


f(x0 ), f(x1 ), ..., f(xn ). La forma de interpolación de f que veremos a seguir consiste en determinar una
función g tal que

g(x0 ) = f(x0 )
g(x1 ) = f(x1 )
..
.
g(xn ) = f(xn )

Una manera práctica y muy utilizada es considerar la función interpolante g como polinomio. No
obstante, g puede ser una función racional, trigonométrica, etc. En la figura 1 se muestra un ejemplo
2

para el caso n = 5.

Figura 1: La función g interpolando f en 6 puntos


Si x ∈ [x0 , xn ] se dice que estamos interpolando
/ [x0 , xn ] se dice que estamos extrapolando
Si x ∈

Interpolación Polinomial
Dados n + 1 pares ((x0 , f(x0 )), (x1 , f(x1 )), ..., (xn , f(xn )), queremos aproximar f por un polinomio
pn de grado menor o igual a n, tal que
f(xk ) = pn (xk ), k = 0, 1, ..., n (1)
Naturalmente, podemos preguntarnos ahora: ¿existe siempre un polinomio que satisface tales condi-
ciones?, y si existe, ¿el polinomio es único?.

Para responder a esto, representaremos el polinomio pn por


pn (x) = an xn + an−1 xn−1 + ... + a1 x + a0
Así, al encontrar los valores an , an−1, ..., a1 , a0 conoceremos al polinomio pn . Usando la condición (1)
formamos el siguiente sistema lineal con n + 1 ecuaciones y n + 1 variables, note que las variables
son an , an−1, ..., a1 , a0
pn (x0 ) = an xn0 + an−1 xn−1
0 + ... + a1 x0 + a0 = f(x0 )
pn (x1 ) = an xn1 + an−1 xn−1
1 + ... + a1 x1 + a0 = f(x1 )
..
.
pn (xn ) = an xnn + an−1 xn−1
n + ... + a1 xn + a0 = f(xn )
Observe que el sistema anterior es de la forma
Aα = b (2)
donde ⎡ ⎤ ⎡ ⎤ ⎡ ⎤
xn0 xn−1
0 ··· x0 1 αn f(x0 )
⎢ xn1 xn−1 ··· x1 1 ⎥ ⎢ αn−1 ⎥ ⎢ f(x1 ) ⎥
⎢ 1 ⎥ ⎢ ⎥ ⎢ ⎥
A=⎢ .. .. .. .. .. ⎥, α=⎢ .. ⎥ y b=⎢ .. ⎥
⎣ . . . . . ⎦ ⎣ . ⎦ ⎣ . ⎦
xnn xn−1
n ··· xn 1 α0 f(xn )
Note que α es el vector de incógnitas. La matriz A se le conoce como la matriz de Vandermonde, y
por lo tanto, si x0 , x1 , ..., xn son todos distintos, entonces
Y
det(A) = (xi − xj ) 6= 0
0≤i<j≤n

Esto significa que A es invertible y, en consecuencia, el sistema lineal (2) tiene solución y ésta es
única. Esto constituye la prueba del siguiente teorema:
3

Teorema 0.1 Existe un único polinomio pn de grado menor o igual a n, tal que

f(xk ) = pn (xk ), k = 0, 1, ..., n

desde que xk 6= xj , k 6= j, k, j = 0, 1, ..., n

Ejemplo 0.1 Si se conoce los valores de una determinada función f(x), en la siguiente tabla

x 0 1 2
f(x) 1 3 7

Calcularemos un polinomio de segundo grado

p2 (x) = a2 x2 + a1 x + a0

como los valores de x utilizados son 0, 1, 2 y todos ellos son distintos entre si, por el teorema anterior,
podemos concluir que el polinomio p2 existe y es único.
Para que p2 interpole en esos tres puntos bastará exigir que

p2 (0) = a2 (0)2 + a1 (0) + a0 = 1


p2 (1) = a2 (1)2 + a1 (1) + a0 = 3
p2 (2) = a2 (2)2 + a1 (2) + a0 = 7

resta solamente encontrar los valores de a2 , a1 y a0


⎡ ⎤⎡ ⎤ ⎡ ⎤
1 0 1 a2 1
⎣ 1 1 1 ⎦ ⎣ a1 ⎦ = ⎣ 3 ⎦
4 2 1 a0 7

resolviendo a0 = 1, a1 = 1 y a2 = 1
Por lo que p2 (x) = x2 + x + 1. Podemos interpolar y extrapolar

Interpolar el valor f(1.5) ' p(1.5) = 4,75


Interpolar el valor f(2.5) ' p(2.5) = 9,75
Interpolar el valor f(3.5) ' p(3.5) = 16,75
Extrapolar el valor f(4) ' p(4) = 21
Extrapolar el valor f(4.5) ' p(4.5) = 25,75

Ejercicio 0.1 Interpolar f en los puntos x0 = 0, x1 = 1, x2 = 2 y x3 = 3, hallando el polinomio


p3 (x) = a3 x3 + a2 x2 + a1 x + a0 con los siguientes datos:

xi 0 1 2 3
f (xi ) 4 10 26 58

Ejercicio 0.2 Obtener el polinomio de interpolación de los puntos

(0, −5), (1, −3), (2, 1), (3, 13)

mediante resolución de un sistema de ecuaciones

Ejercicio 0.3 Encuentre la ecuación del polinomio cuya gráfica pasa por los puntos

(1, 6), (2, 3), (3, 2)


4

Ejercicio 0.4 Hallar el polinomio p2 (x) = a2 x2 + a1 x + a0 cuya gráfica pasa por los puntos

(1, 4), (2, 0), (3, 12)

Ejercicio 0.5 Encuentre el polinomio que se ejuste a los puntos

xi −2 −1 0 1 2
f (xi ) 3 5 1 4 10

Ejemplo 0.2 Considere la función polinomial de tercer grado f(x) = x3 − 5x2 + x − 1 concéntrece en
el intervalo [0, 2] es decir, cuando x = 0, 1, 2 y obtenemos tres puntos las cuales son

x 0 1 2
f(x)

deseamos interpolar f en los tres puntos

(0, ), (1, ), (2, )

con una función polinomial de segundo grado:

p2 (x) = a2 x2 + a1 x + a0

p2 (0) = a2 (0)2 + a1 (0) + a0 = −1


p2 (1) = a2 (1)2 + a1 (1) + a0 = −4
p2 (2) = a2 (2)2 + a1 (2) + a0 = −11

Resta solamente encontrar los valores de a2 , a1 , a0 y hága sus respectivas gráficas de ambas funciones

x=0:0.2:2;
y=x.^3-5*x.^2+x-1;
plot(x,y,’r’);
hold on
y=-2*x.^2-x-1;
plot(x,y,’--’);

El polinomio f (línea continua) siendo interpolado por p2 (línea discontinua)


en los puntos (0, −1), (1, −4), (2, −11)
5

Ejercicio 0.6 Aproximar la función f(x) = ex mediante un polinomio de grado 2 en el intervalo


[−1, 1] y hága sus respectivas gráficas de ambas funciones para compararlas

Ejercicio 0.7 Sea f alguna función cuya gráfica pasa por los puntos (−2, 6), (0, 4), (1, 5) y (4, 8)
interpolar f en esos 4 puntos con un polinomio p3 de grado menor a igual a 3.

0.1.2. Polinomios de Lagrange


Dados n + 1 puntos diferentes x0 , x1 , ..., xn , donde

y0 = f(x0 ), y1 = f(x1 ) ... yn = f(xn )

. Sea pn un polinomio de grado menor o igual que n, tal que interpola a f en los puntos

(x0 , y0 ), (x1 , y1 ), ..., (xn , yn ) (3)

Es posible representar pn en la forma

pn (x) = y0 L0 (x) + y1 L1 (x) + ... + yn Ln (x)

o
pn (x) = f(x0 )L0 (x) + f(x1 )L1 (x) + ... + f(xn )Ln (x)
donde los polinomios Lk son de grado n. Como estamos interpolando, queremos que para cada i se
cumpla la condición pn (xi ) = yi , es decir:

pn (xi ) = y0 L0 (xi ) + y1 L1 (xi ) + ... + yn Ln (xi ) = yi i = 0, 1, ..., n

Una forma simple de elegir Lk consiste en exigir lque cumpla


¯
0 si k 6= j
Lk (xk ) =
1 si k = j

donde j, k = 0, 1, ..., n, esto se consigue definiendo

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

Como el numerador de Lk es el producto de n factores (x − xi ), i = 0, 1, ..., n, i 6= k, entonces


el polinomio Lk es de grado n. Con esto, el polinomio pn tiene grado menor o igual que n, como
requerimos. Más aún, para xi , i = 0, 1, ..., n, tenemos

pn (xi ) = yi Li (xi ) = yi

y vemos que pn realmente interpola f en tales puntos.

Por lo tanto, la forma de Lagrange para el polinomio interpolador es:


n
X
pn (x) = yk Lk (x)
k=0

donde Yn
i=0 (x − xi )
i6=k
Lk (x) = Yn
i=0 (xk − xi )
i6=k
6

Ejemplo 0.3 La siguiente tabla resume los datos de alguna observación

xi −2 0 3 5
yi = f(xi ) −3 1 4 9

Queremos interpolar f usando un polinomio interpolador según la forma de Lagrange. Así, el poli-
nomio buscado es
p3 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) + y3 L3 (x)
Como y0 , ..., y3 son conocidos, resta sólo conocer los polinomios L0 , ..., L3 :

(x − x1 )(x − x2 )(x − x3 ) (x − 0)(x − 3)(x − 5) x3 − 8x2 + 15x


L0 = = =−
(x0 − x1 )(x0 − x2 )(x0 − x3 ) (−2 − 0)(−2 − 3)(−2 − 5) 70
(x − x0 )(x − x2 )(x − x3 ) (x − (−2))(x − 3)(x − 5) 3 2
x − 6x − x + 30
L1 = = =
(x1 − x0 )(x1 − x2 )(x1 − x3 ) (0 − (−2))(0 − 3)(0 − 5) 30
(x − x0 )(x − x1 )(x − x3 ) (x − (−2))(x − 0)(x − 5) x − 3x2 − 10x
3
L2 = = =−
(x2 − x0 )(x2 − x1 )(x2 − x3 ) (3 − (−2))(3 − 0)(3 − 5) 30
(x − x0 )(x − x1 )(x − x2 ) (x − 0)(x − 3)(x − 5) 3 2
x − x − 6x
L3 = = =
(x3 − x0 )(x3 − x1 )(x3 − x2 ) (5 − (−2))(5 − 0)(5 − 3) 70

Por lo tanto,
µ 3 ¶ µ 3 ¶ µ 3 ¶
x − 8x2 + 15x x − 6x2 − x + 30 x − 3x2 − 10x
p3 (x) = (−3) − +1 +4 −
70 30 30
µ 3 2

x − x − 6x
+9
70
1 3 19 2 41
= ( x − x + x + 1)
14 70 35
Observe la figura adjunta

Figura 3: Polinomio p3 interpolando 4 puntos, según Lagrange


7

Una Implementación particular

function C=LAGRANGE(x,y)
n=length(x); L=zeros(n,n);
for i=1:n
V=1;
for j=1:n
if j~=i
V=conv(V,poly(x(j)))/(x(i)-x(j));
end
end
L(i,:)=V;
end
C=y*L;
Yn
P
n i=0 (x−x i )
i6=k
Ejercicio 0.8 Si pn (x) = yk Lk (x) donde Lk (x) = Yn complemtar el desarrolla de:
k=0 i=0 (x k −x i )
i6=k

1. p1 (x) = y0 L0 (x) + y1 L1 (x)


(x − ...) (x − ...)
p1 (x) = y0 + y1
(.. − ...) (.. − ...)
2. p2 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x)
(x − ...)(x − ...) (x − ...)(x − ...) (x − ...)(x − ...)
p2 (x) = y0 + y1 + y2
(.. − ...)(.. − ...) (.. − ...)(.. − ...) (.. − ...)(.. − ...)
3. p3 (x) = y0 L0 (x) + y1 L1 (x) + y2 L2 (x) + y3 L3 (x)
(x − ...)(x − ...)(x − ...) (x − ...)(x − ...)(x − ...) (x − ...)(x − ...)(x − ...)
p3 (x) = y0 + y1 + y2 +
(.. − ...)(.. − ...)(.. − ...) (.. − ...)(.. − ...)(.. − ...) (.. − ...)(.. − ...)(.. − ...)
(x − ...)(x − ...)(x − ...)
y3
(.. − ...)(.. − ...)(.. − ...)

Ejercicio 0.9 Aprenda a utilizar el comando polyfit mediante el help de MatLab

Ejercicio 0.10 La siguiente tabla resume los datos de alguna observación

xi 1 2 3 4
yi = f(xi ) 0 −1 2 −5

Interpolar f usando un polinomio interpolador según la forma de Lagrange.

Ejercicio 0.11 Obtener el polinomio de interpolaci´n de los puntos

(0, −5), (1, −3), (2, 1), (3, 13)

1. Mediante resolución de sistema de ecuaciones

2. Mediante la formula de lagrange

Ejercicio 0.12 Obtener el polinomio de interpolaci´n de los puntos

(0, 1), (1, 3), (2, 7)


8

1. Mediante resolución de sistema de ecuaciones

2. Mediante la formula de lagrange

Ejercicio 0.13 Obtener el polinomio de interpolación de los puntos

(1, 0), (2, −1), (3, 2), (4, −5)

1. Mediante resolución de sistema de ecuaciones

2. Mediante la formula de lagrange

Ejercicio 0.14 Determine el pòlinomio interpolador de Lagrange de la función f(x) = xex en el


intervalo {−1, 1, 2} es decir, cuando x = −1, 1, 2 y obtenemos tres puntos las cuales son

x −1 1 2
f(x)

y haga un gráfica en las abscisas [−2, 3]

1. Se desea determinar el caudal que tiene una bomba de agua; para lograrlo en forma experimen-
tal, se ha diseñado el siguiente esquema:

a) Se preparan 5 tambores de 200 litros de capacidad


b) Se llenan sin cortar el flujo y se toma el tiempo de llenado de cada tambor
El resultado obtenido es:
Tambor 1 2 3 4 5
tiempo(s) 5,0 9,0 12,0 14,9 17,7

2. Escribir los polinomios de interpolación de Lagrange y de newton para los siguientes datos

x −2 0 1
f(x) 0 1 −1

3. Considere los puntos de la función f(x) tabulados:

x −1 0 1 2
3 11
f(x) −5 − −1
2 2
a) Determine la matriz de Vandermonde V, y escriba la ecuación matricial que le permita
obtener el polinomio interpolante
b) Sabiendo que ⎡ ⎤
0 1 0 0
⎢ −1/3 −1/2 1 −1/6 ⎥
V −1 =⎢
⎣ 1/2

−1 1/2 0 ⎦
−1/6 1/2 −1/2 1/6
Determine el polinomio interpolante resolviendo la ecuación matricial escrito en (a)
c) Calcular el valor aproximado de la función en el punto x = 1,5
9

4. En la siguiente tabla de diferencias divididas, complete los datos que faltan

xi yi

0 2 −1

1 3 −1 0 1/2

2 3/2

3 1 2

4 3

5. Sea la tabla de diferencias divididas.


xi yi

1 4 d 6 1

2 a 19 f

3 b e

5 c

Hallar la aproximación de p(4)

6. Un polinomio interpolante toma los siguientes valores

x 0 1 3 6
y 3 4 30 219

aproximar p0 (6) a través de la tabla de las diferencias divididas.

7. Disponemos de los siguientes datos sacados de un polinomio p(x) de grado g ≤ 5.

x −2 −1 0 1 2 3
y −5 1 1 1 7 25

Hallar el grado del polinomio y p(1/2)

8. Fundamente y describa brevemente el método de interpolación Spline

También podría gustarte