Está en la página 1de 21

Interpolación y Diferenciación Numérica

Alessandri Canchoa Q.

Setiembre 2020
Contents

0.1 Interpolación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
0.2 Diferenciación Numérica . . . . . . . . . . . . . . . . . . . . . . . 15

0.1 Interpolación
Qué signi…ca interpolar?
Interpolar , se trata el problema de
Aproximar una función, la que es muy difícil calcular con funciones simples.
Encontrar una función simple para valores de una tabla.
El cálculo general para la solución de este problema consiste en encontrar
una función
g(x; 0 ; ; r );
de la cual se elije los parámetros tal que la función aproxima los valores de la
tabla lo mejor posible. La función puede ser un polinomio
2 r
g(x; 0; ; r) = 0 + 1x + 2x + + rx

Para funciones periódicas se podría elegir

g(x; 0; ; r) = 0 + 1 Sen( 2 )x + 3 Cos( 4 )x + + r 1 Cos( r )x

o para oscilaciones amortiguadas


2x 5x 1x
g(x; 0; ; r) = 0+ 1e Sen( 3 )x+ 4 e Cos( 6 )x+ + r 2e
r
Cos( r )x

o para una función con polos


s
0 + 1x + + sx
g(x; 0; ; r) = s+1 + r
s+1 x + rx

con una función racional fraccionaria.


Se puede determinar 0 ; ; r , tal que la función g tiene la propiedad que
el promedio de la desviación es un mínimo,esto es una aproximación.
Otro método es, exigir que g tenga en las abcisas x0 ; ; xr los mismos
valores como la función aproximada.

1
Se dice que una función g : R ! R interpola a los puntos (x0 ; f0 ) ; (x1 ; f1 ) ; ; (xr ; fr )
si g (x0 ) = f0 ; g (x1 ) = f1 ; ; g (xr ) = fr .
La función g, de…nida por g(x) = x2 interpola a los puntos (0; 0) ; (1; 1) ; ; (2; 4),
pues se veri…can g(0) = 0; g(1) = 1; ; g(2) = 4. La función h, de…nida por
2x
h(x) = también interpola a los puntos dados.
3 x

6
y
5

-2 -1 1 2
x

Interpolación Polinomial
x0 ; ; xn (n + 1) puntos distintos del eje real
Sean .
f0 ; ; fn valores correspondientes de la ordenada
Buscamos un polinomio Pn de grado n;

Pn (x) = a0 + a1 x + a2 x2 + + an xn

tal que
Pn (xk ) = fk ; k = 0; 1; ;n
Para n + 1 puntos de IR2 (x0 ; f0 ); ; (xn ; fn ) con abcisas distintas, xi 6= xj
para i 6= j existe exactamente un polinomio Pn de grado menor o igual a n con
la propiedad
Pn (x0 ) = f0 ; Pn (x1 ) = f1 ; ; Pn (xn ) = fn

Prueba:Pn (x) = a0 + a1 x + a2 x2 + + an xn
2 n
Pn (xk ) = a0 + a1 xk + a2 xk + + an xk = fk ; k = 0; 1; 2; ;n
a0 + a1 x0 + a2 x20 + + an xn0 = f0
a0 + a1 x1 + a2 x21 + + an xn1 = f1
2
a0 + a1 x2 + a2 x2 + + an xn2 = f2
.................................................
a0 + a1 xn + a2 x2n + + an xnn = fn

2
Se cumple
0 10 1 0 1
1 x0 x20 xn0 a0 f0
B 1 x1 x21 xn1 CB a1 C B f1 C
B CB C B C
B .. .. CB .. C=B .. C (*)
@ . . A@ . A @ . A
1 xn x2n xnn an fn
| {z }| {z } | {z }
=A =x =b

El determinante
0 1
1 x0 x20 xn0
B .. .. C = Y
det (A) = det @ . . A (xr xs ):
1 xn x2n xnn r>s; r=0;
s=0; ;n
;n

es denominado determinante de Vandermonde.Para xi 6= xj , i 6= j, el determi-


nante es distinto de cero. La solución del sistema lineal es único. Entonces el
polinomio dado por (x0 ; f0 ); ; (xn ; fn ) es único.
Teóricamente se podría solucionar el problema interpolante, solucionando
un sistema de ecuaciones lineales, pero la matriz A es mal condicionada, sobre
todo si dos abcisas están relativamente cerca.
Fórmulas de Lagrange:
a) (x0 ; f0 )
P0 (x) = f0
b) (x0 ; f0 ) ; (x1 ; f1 ) :
(x x1 ) (x x0 )
P1 (x) = f0 + f1
(x0 x1 ) (x1 x0 )
| {z } | {z }
=L0 (x) =L1 (x)

P1 (x) = L0 (x) f0 + L1 (x) f1


P1 (x0 ) = L0 (x0 )f0 + L1 (x0 )f1 = f0
| {z } | {z }
=1 =0
P1 (x1 ) = L0 (x1 )f0 + L1 (x1 )f1 = f1
| {z } | {z }
=0 =1

(x x1 ) (x x0 )
P1 (x) = f0 + f1
(x0 x1 ) (x1 x0 )

c) (x0 ; f0 ) ; (x1 ; f1 ) ; (x2 ; f2 )

P2 (x) = L0 (x) f0 + L1 (x) f1 + L2 (x) f2


(x x1 ) (x x2 ) (x x0 ) (x x2 )
= f0 + f1
(x0 x1 ) (x0 x2 ) (x1 x0 ) (x1 x2 )
(x x0 ) (x x1 )
+ f2
(x2 x0 ) (x2 x1 )

3
d) (x0 ; f0 ) ; (x1 ; f1 ) ; (x2 ; f2 ) ; (x3 ; f3 )

P3 (x) = L0 (x) f0 + L1 (x) f1 + L2 (x) f2 + L3 (x) f3


(x x1 ) (x x2 ) (x x3 ) (x x0 ) (x x2 ) (x x3 )
= f0 + f1
(x0 x1 ) (x0 x2 ) (x0 x3 ) (x1 x0 ) (x1 x2 ) (x1 x3 )
(x x0 ) (x x1 ) (x x3 ) (x x0 ) (x x1 ) (x x2 )
+ f2 + f3
(x2 x0 ) (x2 x1 ) (x2 x3 ) (x3 x0 ) (x3 x1 ) (x3 x2 )
Fórmulas de Lagrange y Newton
Los polinomios básicos de Lagrange se de…nen por
(x x0 )(x x1 ) (x xj 1 )(x xj+1 ) (x xn )
Lj (x) =
(xj x0 )(xj x1 ) (xj xj 1 ) (xj xj+1 ) (xj xn )
Y x xk
= j = 0; ; n:
k=0
xj xk
k6=j

Los polinomios L0 ; L1 ; ; Ln son de grado n. Para j; k = 0; 1; ; n se


cumple
0 ; si k 6= j
Lj (xk ) =
1 ; si k = j
Para el polinomio interpolante resulta:
n
X n
X Yn
x xk
Pn (x) = fi Lj (x) = fj ; j = 0; ;n
j=1 j=0 k=0
xj xk
k6=j

Según esta construcción podemos formulas el siguiente teorema.


Dados (xi ; fi ) 2R2 , i = 0; ; n; xi 6= xj para i 6= j. Entonces el único
polinomio interpolante se puede expresar como
n
X Yn
x xk
Pn (x) = fi Lj (x) con Lj (x) = ; j = 0; ; n:
j=1 k=0
xj xk
k6=j

que es la representación del polinomio en la forma de Lagrange.


Tratamos de construir este polinomio. Escribiendo

Pn (x) = f0 L0 (x) + f1 L1 (x) + + fn Ln (x);

se cumple que Pn es un polinomio de grado n dado que los polinomios


L0 ; L1 ; ; Ln son de grado n.
Dado que
0 ; si k =
6 j
Lj (xk ) =
1 ; si k = j
se cumplen las condiciones interpolantes

fj = Pn (xj ) = f0 L0 (xj ) + + fn Ln (xj ); j = 0; 1; ; n:

4
Para los puntos (x0 ; f0 ) ; (x1 ; f1 ) :

P1 (x) = f0 L0 (x) + f1 L1 (x)


x x1 x x0
= f0 + f1
x0 x1 x1 x0
Para los puntos (x0 ; f0 ) ; (x1 ; f1 ) ; (x2 ; f2 ) :

P2 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x)


x x1 x x2 x x0 x x2 x x0 x x1
= f0 + f1 + f2
x0 x1 x0 x2 x1 x0 x1 x2 x2 x0 x2 x1
Encuentre el polinomio interpolante de Lagrange y el polinomio interpolante
(simpli…cado) para los datos

j 0 1 2
xj 0 0:5 1
fj 1 0:8 0:5

Solución.- Se está buscando

P2 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x)

x x1 x x2 (x 0:5)(x 1)
L0 (x) = = = 2 (x 0:5) (x 1) ;
x0 x1 x0 x2 (0 0:5)(0 1)
x x0 x x2 (x 0)(x 1)
L1 (x) = = = 4x (x 1) ;
x1 x0 x1 x2 (0:5 0)(0:5 1)
x x0 x x1 (x 0)(x 0:5)
L2 (x) = = = 2x (x 0:5)
x2 x0 x2 x1 (1 0)(1 0:5)

El polinomio interpolante en la forma de Lagrange está dado por


P2 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x)
= 1 L0 (x) + 0:8 L1 (x) + 0:5 L2 (x)
= 1 2 (x 0:5) (x 1) + 0:8 ( 4x (x 1)) + 0:5 2x (x 0:5)
Para los puntos (x0 ; f0 ) ; (x1 ; f1 ) ; (x2 ; f2 ) ; (x3 ; f3 ) ; el polinomio interpolante
en la forma de Lagrange está dado por

P3 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) + f2 L2 (x)


x x1 x x2 x x3 x x0 x x2 x x3
= f0 + f1 +
x0 x1 x0 x2 x0 x3 x1 x0 x1 x2 x1 x3
x x0 x x1 x x3 x x0 x x1 x x2
+f2 + f3
x2 x0 x2 x1 x2 x3 x3 x0 x3 x1 x3 x2

5
Encuentre el polinomio interpolante de Lagrange y el polinomio interpolante
(simpli…cado) para los datos

j 0 1 2 3
xj 0:5 1:5 2:0 3:5
fj 4:0 1:0 3:0 5:0

Solución.- Se está buscando

P3 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) + f3 L3 (x)

x x1 x x2 x x3 (x 1:5) (x 2:0) (x 3:5)


L0 (x) = =
x0 x1 x0 x2 x0 x3 (0:5 1:5) (0:5 2:0) (0:5 3:5)
1
= (x 1:5) (x 2:0) (x 3:5)
4:5
x x0 x x2 x x3 (x 0:5) (x 2:0) (x 3:5)
L1 (x) = =
x1 x0 x1 x2 x1 x3 (1:5 0:5) (1:5 2:0) (1:5 3:5)
= (x 0:5) (x 2:0) (x 3:5)
x x0 x x1 x x3 (x 0:5) (x 1:5) (x 3:5)
L2 (x) = =
x2 x0 x2 x1 x2 x3 (2:0 0:5) (2:0 1:5) (2:0 3:5)
1
= (x 0:5) (x 1:5) (x 3:5)
1:125
x x0 x x1 x x2 (x 0:5) (x 1:5) (x 2:0)
L3 (x) = =
x3 x0 x3 x1 x3 x2 (3:5 0:5) (3:5 1:5) (3:5 2:0)
1
= (x 0:5) (x 1:5) (x 2:0)
9
El polinomio interpolante en la forma de Lagrange está dado por

P3 (x) = f0 L0 (x) + f1 L1 (x) + f2 L2 (x) + f3 L3 (x)


= 4:0 L0 (x) + 1:0 L1 (x) + 3:0 L2 (x) + 5:0 L3 (x)
1
= 4:0 4:5 (x 1:5) (x 2:0) (x 3:5) +
+1:0 ((x 0:5) (x 2:0) (x 3:5)) +
1
+3:0 ( 1:125 (x 0:5) (x 1:5) (x 3:5)) +
1
+5:0 ( 9 (x 0:5) (x 1:5) (x 2:0))
8
= (x 1:5) (x 2:0) (x 3:5) + (x 0:5) (x 2:0) (x 3:5) +
9
8 5
(x 0:5) (x 1:5) (x 3:5) + (x 0:5) (x 1:5) (x 2:0)
3 9
La desventaja de estas fórmulas es evidente. Añadiendo nuevos puntos in-
terpolantes hay que calcular todo el polinomio nuevamente. Eso se puede evitar
utilizando las fórmulas de Newton, basado en las siguientes diferencias dividi-
das.

6
IDEA: Comenzamos con el polinomio de grado 0, que pasa por el punto
(x0 ; f0 ) :
P0 (x) = f0 8x 2R:
Añadiendo (x1 ; f1 ) se obtiene el polinomio de primer grado con P1 (x0 ) = f0 ,
P1 (x1 ) = f1 tal que

P1 (x) = P0 (x) + Q1 (x); grad(Q1 ) 1

De P1 (x0 ) = f0 se cumple

P1 (x0 ) = P0 (x0 ) + Q1 (x0 )


= f0 + Q1 (x0 ) = f0 ) Q1 (x0 ) = 0.

Luego Q1 tiene la forma Q1 (x) = b1 (x x0 ), reemplazando se obtiene

P1 (x) = f0 + b1 (x x0 ):

Por la segunda condición P (x1 ) = f1 se obtiene

f1 f0
P1 (x1 ) = f0 + b1 (x1 x0 ) = f1 =) b1 = =: f [x0 ; x1 ]:
x1 x0
Añadiendo (x2 ; f2 ) obtenemos el polinomio interpolante de grado 2.

P2 (x) = P1 (x) + Q2 (x); grad(Q2 ) 2

P2 (x0 ) = P1 (x0 ) + Q2 (x0 ) = f0 + Q2 (x0 ) = f0 ) Q2 (x0 ) = 0


P2 (x1 ) = p1 (x1 ) + Q2 (x1 ) = f1 + Q2 (x1 ) = f1 ) Q2 (x1 ) = 0
) Q2 (x) = b2 (x x0 )(x x1 )
Reemplazando

P2 (x) = P1 (x) + b2 (x x0 )(x x1 ) = f0 + b1 (x x0 ) + b2 (x x0 )(x x1 );

determinando b2 por P2 (x2 ) = f2 .

f0 + b1 (x2 x0 ) + b2 (x2 x0 )(x2 x1 ) = f2


f2 f1
b1
x2 x1 f [x1 ; x2 ] f [x0 ; x1 ]
=) b2 = =: =: f [x0 ; x1 ; x2 ]
x2 x0 x2 x0
En general:
Teniendo un polinomio interpolante que pasa por (x0 ; f0 ); (x1 ; f1 ); ; (xn 1 ; fn 1 ),
se calcula Pn (x), que pasa además por (xn ; fn ), por

Pn (x) = Pn 1 (x) + Qn (x); grad(Qn ) = n

) Qn (xj ) = 0; j = 0; ;n 1

7
) Qn (x) = bn (x x0 )(x x1 ) (x xn 1)

Para bn resulta:
bn es el coe…ciente de xn en el polinomio Qn . Como Pn y Qn se distinguen
solamete por Pn 1 (de grado n-1), bn es también el coe…ciente con la potencia
más alta de Pn .
Sea Rn 1 el polinomio interpolante que pasa por

(x1 ; f1 ); (x2 ; f2 ); ; (xn ; fn )


1
) Pn (x) = ((x xn )Pn 1 (x) (x x0 )Rn 1 (x))
x0 xn
Pn (x) cumple las condiciones interpolantes Pn (xj ) = fj , j = 0; ; n:.
(R)
Sea bn 1 el coe…ciente con la potencia más alta de x en Rn 1 ,

1 (R)
) ( ) bn = (bn 1 bn 1)
x0 xn
Denominamos con f [xk ; xk+1 ; : : : ; xk+r ] el coe…ciente de xr en el polinomio
interpolante que pasa por los puntos

(xk ; fk ); (xk+1 ; fk+1 ) ; ; (xk+r ; fk+r )

) bn = f [x0 ; ; xn ]; bn 1 = f [x0 ; ; xn 1]
(R)
bn 1 = f [x1 ; ; xn ]
por ( )

f [x1 ; : : : ; xn ] f [x0 ; : : : ; xn 1]
) f [x0 ; x1 ; : : : ; xn 1 ; xn ] =
xn x0
Los f [xk ; : : : ; xk+r ] son llamados diferencias divididas.
Se comienza con f [x0 ] = f0 , f [xk ] = fk , k = 0; 1; 2; ;

f [xk+1 ] f [xk ] fk+1 fk


f [xk ; xk+1 ] = =
xk+1 xk xk+1 xk

f [xk+1 ; xk+2 ] f [xk ; xk+1 ]


f [xk ; xk+1 ; xk+2 ] =
xk+2 xk

y se obtiene con la fórmula

f [xk+1 ; ; xk+r ] f [xk ; ; xk+r 1]


f [xk ; xk+1 ; ; xk+r 1 ; xk+r ] =
xk+r xk

Se tiene el siguiente esquema de las diferencias divididas para el cálculo de

f [x0 ; ; xn ]

8
x0 f0 =: f [x0 ]
f1 f0
> f [x0 ; x1 ] = x1 x0
f [x1 ;x2 ] f [x0 ;x1 ]
x1 f1 =: f [x1 ] > f [x0 ; x1 ; x2 ] = x2 x0
.. ..
. : > f [x1 ; x2 ] .
.. ..
. . > f [x1 ; x2 ; x3 ] f [x0 ; ; xn ]
: :
xn 1 fn 1 =: f [xn 1] :: ::
> f [xn 1 ; xn ]
xn fn =: f [xn ]
Obtenemos
Sean (xi ; fi ) 2 R2 , i = 0; ; n, xi 6= xj para i 6= j. Entonces se escribe
el único polinomio interpolante Pn (x) con la propiedad que Pn (xi ) = fi , i =
0; ; n en la forma de Newton:

Pn (x) =b0 +b1 (x-x0 ) +b2 (x-x0 ) (x-x1 ) + +bn (x-x0 ) (x-xn 1)

con

bi := f [x0 ; ; xi ] i = 0; ; n:
El algoritmo correspondiente es

Dados x0 ; ; xn ; f0 ; ; fn .

De…nir f [x0 ] := f0 , ; f [xn ] := fn

Para k = 1; ;n

Para j = 0; ;n k

Calcular

; xj+k ] f [xj ;f [xj+1 ;


; xj+k 1 ]
f [xj ; ; xj+k ] :=
xj+k xj
Este algoritmo se puede mejorar, porque los coe…cientes importantes para el
cálculo del polinomio Pn (x) se encuentran en la primera …la oblicua de la tabla
de las diferencias divididas. No hay que almacenar entonces todas las columnas
de este esquema, sino solamente cada primer elemento:

9
Dados x0 ; ; xn ; f0 ; : : : ; fn

De…nir bj := fj , j = 0; ;n
Imprimir b0
Para k = 1; ;n
Para j = 0; ;n k
Calcular bj := (bj+1 bj )=(xj+k xj )
Imprimir b0
xj 0 0:5 1
fj 1 0:8 0:5

El esquema de las diferencias divididas es


xj fj =: f [xj ]
0 1 =: b0
0:8 1
> = 0:4 =: b1
0:5 0
0:6 ( 0:4)
= 0:2
0:5 0:8 > 1 0
=: b2
0:5 0:8
> = 0:6
1 0:5
1 0:5
El polinomio interpolante P2 (x) en la forma de Newton

P2 (x) = b0 + b1 (x x0 ) + b2 (x x0 )(x x1 )
= 1 0:4(x 0) 0:2(x 0)(x 0:5)
= 1 0:4x 0:2x(x 0:5)

Si se quiere obtener el polinomio que además pase por el punto (2; 2), esto
es el polinomio que interpole

xj 0 0:5 1 2
fj 1 0:8 0:5 2

en el esquema de diferencias divididas se agrega en la última línea diagonal


xj fj
0 1 =: b0
> 0:4 =: b1
0:5 0:8 > 0:2 =: b2
> 0:6 > 1:4 2( 00:2) = 0:8 =: b3
1 0:5 > 1:52 (0:50:6) = 1:4
2 0:5
> 2 1 = 1:5
2 2

10
El polinomio interpolante P3 (x) en la forma de Newton
P3 (x) = P2 (x) + b3 (x x0 )(x x1 )(x x2 )
= b0 + b1 (x x0 ) + b2 (x x0 )(x x1 ) + b3 (x x0 )(x x1 )(x x2 )
= 1 0:4(x 0) 0:2(x 0)(x 0:5) + 0:8(x 0)(x 0:5)(x 1)
= 1 0:4x 0:2x(x 0:5) + 0:8x(x 0:5)(x 1):
Fórmulas de Aitken-Neville
Cuando se quiere calcular el valor del polinomio en un solo punto x := t
el cálculo de todo el polinomio no es necesario. Desarrollamos el algoritmo de
Aitken-Neville:
Denominamos con Pj;k el polinomio interpolante de grado k, que pasa por los
puntos (xj k ; fj k ); ; (xj ; fj ) que son parte de los puntos (x0 ; f0 ); ; (xn ; fn ).
El primer índice j corresponde al número del último k + 1 punto, el segundo
índice k al grado del polinomio interpolante.
Las condiciones para Pj;k son

Pj;k (xi ) = fi ; i=j k; ;j

P4;2 es por ejemplo el polinomio interpolante de grado 2, que pasa por los
puntos (x2 ; f2 ); (x3 ; f3 ) y (x4 ; f4 ).
El polinomio Pn , que pasa por los puntos (x0 ; f0 ); ; (xn ; fn ), de la forma
anterior, es denominado Pn;n . Se quiere determinar Pn (t) = Pn;n (t) :
Proposición Sea Pj;k (x) el polinomio interpolante que pasa por los puntos
(xj k ; fj k ); ; (xj ; fj ) dentro de los puntos (x0 ; f0 ); ; (xn ; fn ). Entonces
se puede calcular este polinomio en un punto x := t necesariamnte, con

Pj;0 (t) := fj ; j = 0; 1;
(t xj k )Pj;k 1 (t) (t xj )Pj 1;k 1 (t)
Pj;k (t) :=
xj xj k
j = 1; 2; 3; ; k = 1; ;j

Se puede aplicar otra vez un esquema correspondiente al de las diferencias


divididas:
x0 f0 =: P0;0 (t)
iP1;1 (t)
x1 f1 =: P1;0 (t) iP2;2 (t)
..
iP (t) . 2;1
x1 f2 =: P2;0 (t)
.. ..
. . iPn 1;n 1 (t)
iPn;n (t)
.. ..
. . iPn;n 1 (t)
:
::
xn 1 fn 1 =: Pn 1;0 (t) iPn;2 (t)
iPn;1 (t)
xn fn =: Pn;0 (t)

11
Los valores del polinomio Pl (x), pasando por los puntos (x0 ; f0 ); ; (xl ; fl ),
l = 0; ; n, en el punto x := t se encuentran entonces en la primera …la oblicua.
Solamente estos valores nos interesan. Podemos formular entonces el algoritmo
de Aitken-Neville:

Entrada: x0 ; ; xn , f0 ; ; fn , t
Para j = 0; ;n
rj := t xj
dj := fj
Para k = 1; ;n
Para j = 0; ;n k
rj bj+1 rj+k bj
bj :=
xj+k xj
Salida d0 = Pn (t)

Ejemplo:
ri := t xi xi fi

r0 := t x0 x0 f0 =: d0
i r0xd11 r1 d0
x0 =: d0
r1 := t x1 x1 f1 =: d1 i r0xd12 r2 d0
x0 =: d0
i r0xd13 rx30d0
i r1xd22 r2 d1
x1 =: d1
=: d0
r2 := t x2 x2 f2 =: d2 i r1xd23 r3 d1
x1 =: d1
i r2xd33 xr32d2 =: d2
r3 := t x3 x3 f3 =: d3
Se obtieneP3 (t) := d0
Ejemplo: Calcular P (2:1) donde P es el polinomio interpolante de los
puntos (xi ; fi ) ; i = 0; 1; 2 donde

i xi fi
0 2:0 0:6931
1 2:2 0:7885
2 2:3 0:8329
En este caso se tiene t = 2:1
ri := t xi xi fi

0:1 2:0 0:6931


i 0:1 0:7885 ( 0:1) 0:6931
2:2 2:0 = 0:740 8
0:1 2:2 0:7885 iP (2:1)
i( 0:1) 0:8329 ( 0:2) 0:7885
2:3 2:2 = 0:744 1
0:2 2:3 0:8329
0:1 0:744 1 ( 0:2) 0:740 8
Finalmente se obtiene P (2:1) = 2:3 2:0 = 0:741 9.

12
Ejercicio Calcular P (1:5) donde P es el polinomio interpolante de los pun-
tos (xi ; fi ) ; i = 0; 1; 2 donde

xi fi
1:0 0:765 197 7
1:3 0:620 086 0
1:6 0:455 402 2
1:9 0:281 818 6
2:2 0:110 362 3
Solución.- En este caso tomamos t = 1:5:
t xi xi fi
0:5 1:0 0:7651977
i 0:5 0:6200860 0:2 0:7651977
1:3 1:0 = 0:5233449
0:2 1:3 0:6200860
i 0:2 0:45540221:6( 1:3
0:1) 0:6200860
= 0:5102968
0:1 1:6 0:4554022
i ( 0:1) 0:2818186 ( 0:4) 0:4554022
1:9 1:6 = 0:5132634
0:4 1:9 0:2818186
i ( 0:4) 0:1103623 ( 0:7) 0:2818186
2:2 1:9 = 0:5104270
0:7 2:2 0:1103623
t xi xi fi
0:5 1:0 0:7651977
> 0:5233449
0:2 1:3 0:6200860 > (0:5) 0:5102968 ( 0:1) 0:5233449
1:6 1:0 = 0:5124715
> 0:5102968
0:1 1:6 0:4554022 > (0:2) 0:5132634 ( 0:4) 0:5102968
1:9 1:3 = 0:5112857
> 0:5132634
0:4 1:9 0:2818186 > ( 0:1) 0:5104270 ( 0:7) 0:5132634
2:2 1:6 = 0:5137361
> 0:5104270
0:7 2:2 0:1103623
t xi xi fi
0:5 1:0 0:7651977
> 0:5233449
0:2 1:3 0:6200860 >0:5124715
> 0:5102968 > (0:5) 0:5112857 ( 0:4) 0:5124715
1:9 1:0
0:1 1:6 0:4554022 >0:5112857
> 0:5132634 > (0:2) 0:5137361 ( 0:7) 0:5112857
2:2 1:3
0:4 1:9 0:2818186 > 0:5137361
> 0:5104270
0:7 2:2 0:1103623

13
t xi xi fi
0:5 1:0 0:7651977
i0:5233449
0:2 1:3 0:6200860 i0:5124715
i0:5102968 i0:5118127
0:1 1:6 0:4554022 i0:5112857 iP (1:5)
i0:5132634 i0:5118302
0:4 1:9 0:2818186 i0:5137361
i0:5104270
0:7 2:2 0:1103623
Se obtiene
(0:5) 0:5118302 ( 0:7) 0:5118127
P (1:5) = = 0:5118200
2:2 1:0
Error del polinomio Interpolante
Sea f 2 C ( n+1) [a; b] y fx0 ; x1 ; ; xn g [a; b] y xi 6= xj para i 6= j. Sea
Pn (x) el polinomio interpolante con Pn (xi ) = fi , i = 0; ; n. Entonces para
cada x 2 [a; b] existe un número 2] minfx0 ; ; xn ; xg; maxfx0 ; ; xn ; xg[
con
f (n+1) ( )
f (x) Pn (x) = (x x0 )(x x1 ) (x xn )
(n + 1)!

Nota: Con este terema se puede encontrar una cota superior del error del
polinomio interpolante como:
jf (n+1) ( )j
jf (x) Pn (x)j max jx x0 jjx x1 j jx xn j
2[a;b] (n + 1)!

Errores redondeos:
Calculando con el esquema de las diferencias divididas, se suman enorme-
mente los errores de redondeo. En el siguiente esquema se puede ver la propa-
gación de un error " en un sólo punto, suponiendo idealmente que todos los
demás valores sean exactos.

0
0 0 "
0 0 " 6"
0 " 5"
0 " 4" 15"
" 3" 10"
" 2" 6" 20"
" 3" 10"
0 " 4" 15"
0 " 5"
0 0 " 6"
0 0 "
0
Por ello no se recomienda el uso de más de 20 puntos de partición

14
0.2 Diferenciación Numérica
Denotamos

O(hp ) = C1 hp + C2 hn+1 + C3 hp+2 + C4 hn+3 +

donde C1 6= 0; C2 ; C3 ; C4 ; ::: son constantes.


Diferenciación de fórmulas con alta exactitud
De la fórmula de Taylor

h2 00
f (x + h) = f (x) + hf 0 (x) + f ( ) (1)
2
donde 2 I, I intervalo con extremos x y (x + h).
De (1) :
f (x + h) f (x) h 00
f 0 (x) = f ( )
h | 2 {z }
O(h)

De esto se obtiene:
f (x + h) f (x)
f 0 (x) (2)
h
con error O(h).
De la fórmula de Taylor:

h2 00 h3
f (x + h) = f (x) + hf 0 (x) + f (x) + f 000
( 1) (3)
2 6

h2 00 h3
f (x h) = f (x) hf 0 (x) + f (x) f 000
( 2) (4)
2 6
De (3) - (4) :

h3
f (x + h) f (x h) = 2hf 0 (x) + (f 000
( 1) + f 000
( 2 ))
6
De esto se obtiene
f (x + h) f (x h)
f 0 (x) (5)
2h
con error O(h2 ).
Fórmulas de diferencias divididas …nitas hacia adelante:
h = xi+1 xi

Primera derivada Error


0 f (xi+1 ) f (xi )
f (xi ) O(h)
h
0 f (xi+2 ) + 4f (xi+1 ) 3f (xi )
f (xi ) O(h2 )
2h

15
Segunda derivada Error
00 f (xi+2 ) 2f (xi+1 ) + f (xi )
f (xi ) O(h)
h2
f (xi+3 ) + 4f (xi+2 ) 5f (xi+1 ) + 2f (xi )
f 00 (xi ) O(h2 )
h2
Fórmulas de diferencias divididas …nitas hacia atras:

Primera derivada Error


f (xi ) f (xi 1 )
f 0 (xi ) O(h)
h
0 3f (xi ) 4f (xi 1 ) + f (xi 2)
f (xi ) O(h2 )
2h
Segunda derivada Error
f (xi ) 2f (xi 1 ) + f (x i 2 )
f 00 (xi ) O(h)
h2
2f (xi ) 5f (xi 1 ) + 4f (xi 2 ) f (xi 3 )
f 00 (xi ) O(h2 )
h2
Fórmulas de diferencias divididas …nitas centradas:

Primera derivada Error


0 f (xi+1 ) f (xi 1 )
f (xi ) O(h2 )
2h
f (xi+2 ) + 8f (xi+1 ) 8f (xi 1 ) + f (xi 2)
f 0 (xi ) O(h4 )
12h

Segunda derivada Error


f (xi+1 ) 2f (xi ) + f (xi 1 )
f 00 (xi ) ; O(h2 )
h2
f (xi+2 ) + 16f (xi+1 ) 30f (xi ) + 16f (xi 1 ) f (xi 2 )
f 00 (xi ) ; O(h4 )
12h2
Calcular una aproximación de f 0 (0:50), para los siguientes datos
xi fi
xi 2 0:00 1:200 000 0
xi 1 0:25 1:103 516 0
xi 0:50 0:925 000 0
xi+1 0:75 0:636 328 1
xi+2 1:00 0:200 000 0
a) Usando la fórmula de diferencias hacia adelante de exactitud O(h2 ).
f (xi+2 ) + 4f (xi+1 ) 3f (xi )
f 0 (xi )
2h
0:200 000 0 + 4 0:636 328 1 3 0:925 000 0
f 0 (0:50)
2 (0:25)
= 0:859 375 2

16
b) Usando la fórmula de diferencias hacia atrás de exactitud O(h2 ).

3f (xi )4f (xi 1 ) + f (xi 2 )


f 0 (xi )
2h
3 0:925 000 0 4 1:103 516 0 + 1:200 000 0
f 0 (0:50)
2 (0:25)
= 0:878 128 0

c) Usando la fórmula de diferencias centradas de exactitud O(h4 ).

f (xi+2 ) + 8f (xi+1 ) 8f (xi 1 ) + f (xi 2 )


f 0 (xi )
12h
0:2000000 + 8 0:6363281 8 1:1035160 + 1:2000000
f 0 (0:50)
12 (0:25)
= 0:9125011 (más exacto)

Los datos han sido obtenidos de f (x) = 0:1x4 0:15x3 0:5x2 0:25x +
1:2; f 0 (0:50) = 0:9125:
Derivadas de datos desigualmentre espaciados
Se puede aplicar la interpolación de Lagrange.
Por ejemplo, para un conjunto de tres puntos adyacentes, usando una inter-
polación polinomial de Lagrange de segundo orden, luego diferenciando analíti-
camente el polinomio de segundo orden, se obtiene
2x xi xi+1 2x xi 1 xi+1
f 0 (x) = f (xi 1) + f (xi ) +
(xi 1 xi ) (xi 1 xi+1 ) (xi xi 1 ) (xi xi+1 )
2x xi 1 xi
+f (xi+1 )
(xi+1 xi 1 ) (xi+1 xi )

donde x es el punto en el cual se quiere estimar la derivada.


Como se muestra en la …gura, un gradiente de temperatura se puede medir
debajo del suelo. El ‡ujo de calor en la interface suelo-tierra puede ser calculada
con la ley de Fourier :

dT
q (z = 0) = k C
dz z=0

donde q = ‡ujo de calor W=m2 , k = coe…ciente de difusividad térmica en el


suelo = 3:5 10 7 m2 =s ; = densidad del suelo = 1800 kg=m3 y C = calor
especí…co del suelo (= 840 J=kg:o C) : Se debe observar que un valor positivo
del ‡ujo signi…ca que el calor se trans…ere del aire al suelo. Use diferenciación
numérica para evaluar el gradiente en la interface suelo-aire y emplee dicha
estimación para determinar el ‡ujo de calor hacia el piso.

17
Aire 10 12 13.5 T(ºC)

Suelo

1.25

3.75

Z, cm

Cálculo de la derivada
k 0 1 2
zk 0 1:25 3:75
Tk 13:5 12 10

(z z1 )(z z2 ) (z z0 )(z z2 ) (z z0 )(z z1 )


T (z) = (z0 z1 )(z0 z2 ) T0 + (z1 z0 )(z1 z2 ) T1 + (z2 z0 )(z2 z1 ) T2

T 0 (z) = 2z z1 z2
(z0 z1 )(z0 z2 ) T0 + 2z z0 z2
(z1 z0 )(z1 z2 ) T1 + 2z z0 z1
(z2 z0 )(z2 z1 ) T2
dT z1 +z2 z0 +z2 z0 +z1
= (z0 z1 )(z0 z2 ) T0 (z1 z0 )(z1 z2 ) T1 (z2 z0 )(z2 z1 ) T2
dz z=0
1:25+3:75 0+3:75 0+1:25
= (0 1:25)(0 3:75) 13:5 (1:25 0)(1:25 3:75) 12 (3:75 0)(3:75 1:25) 10
o o
= 1:333 3333 C=cm = 133:3 3333 C=m
Calculo del ‡ujo de calor:
2
7m kg
q (z = 0) = 3:5 10 1800
s m3
o
J C
840 133:3 3333
kg:o C m
= 70:56 W=m2
Recordar: 1W = 1J=s
Método de Romberg
Este método para diferenciación numérica fue creado por el matemático
alemán W. Romberg en el año 1955.
Sea f : R ! R y de…nimos el cociente
1
' (h) := hf (x0 ) = (f (x0 + h) f (x0 h))
2h
Se cumple
lim ' (h) := lim hf (x0 ) = f 0 (x0 )
h!0+ h!0+

18
La idea del método de Romberg es la aplicación de la extrapolación de h en
h = 0 a través del polinomio iinterpolante Pn (h) de los puntos (t0 ; ' (t0 )) ; (t1 ; ' (t1 )) ; (t2 ; ' (t2 )) ; ; (tn ; ' (tn ))
donde t0 := h0 =2n ; t1 := h0 =2n 1 ; ; tn 2 := h0 =22 ; tn 1 := h0 =2; tn := h0 y
0
h0 > 0 es pequeño. Esto es f (x0 ) P (0):
Algortimo del Método de Romberg

Entrada: n; h0 ; x0 ; ' (h) := hf (x0 )

Para j = 0; ;n

rj := h0 =2n j

dj := ' h0 =2n j

Para k = 1; ;n

Para j = 0; ;n k

rj dj+1 rj+k dj
dj :=
rj rj+k
Salida d0 f 0 (x0 )
Aplicando el método de Romberg, calcular una aproximación de df dt (0:5) para
f (x) = tanx:
En este caso x0 = 0:5, reemplazando en
1
' (h) := h f (x0 ) = (f (x0 + h) f (x0 h)) ;
2h
se obtiene
1
' (h) := h f (0:5) = (tan(0:5 + h) tan(0:5 h))
2h
Sea h0 = 0:25; n = 2; tj = h0 =2n j ; rj = 0 tj = tj ; dj = ' (tj )
t2 = h 0 = 0:25; r2 = t2 = 0:25;
t1 = h0 =2 = t2 =2 = 0:25=2 = 0:125; r1 = t1 = 0:125;
t0 = h0 =22 = t1 =2 = 0:125=2 = 0:0625; r0 = t0 = 0:0625;
1
d0 = ' (t0 ) = ' (0:0625) = 2 0:0625 (tan(0:5 + 0:0625) tan(0:5 0:0625)) = 1:30166
1
d1 = ' (t1 ) = ' (0:125) = 2 0:125 (tan(0:5 + 0:125) tan(0:5 0:125)) = 1:31143
1
d2 = ' (t2 ) = ' (0:25) = 2 0:25 (tan(0:5 + 0:25) tan(0:5 0:25)) = 1:35251
rj dj = ' (tj )
0:0625 1:3016 6
> ( 0:0625) ( 1:3114 3 ( 0:125) 1:3016 6
0:0625) ( 0:125) = 1:29189
0:125 1:3114 3
> ( 0:125) (1:3525 1 ( 0:25) 1:3114 3
0:125) ( 0:25) = 1:2703 5
0:25 1:3525 1

19
rj = 0 t j dj = ' (tj )
0:0625 1:3016 6
> 1:29189
0:125 1:3114 3 > f 0 (0:5)
> 1:2703 5
0:25 1:3525 1

( 0:0625) 1:2703 5 ( 0:25) 1:29189


f 0 (0:5) = 1:29907
( 0:0625) ( 0:25)

Se obtiene la aproximación f 0 (0:5) 1:29907.


Este es un ejemplo pequeño, en la práctica se debe tomar el número n más
grande.
Valor por calculadora: sec2 (0:5) = 1:298 4:

20

También podría gustarte