Professional Documents
Culture Documents
Contenido
1. Objetivo de los mtodos numricos
2. Errores
3. Dgitos significativos y decimales exactos
4. Polinomios de Taylor
5. Resto del polinomio de Taylor
6. Polinomio interpolador de Lagrange
7. Forma de Lagrange para el polinomio interpolador
8. Error de interpolacin
9. Forma de Newton para el polinomio interpolador
10. Polinomio interpolador de Hermite
Resumen y ejemplos
0 0.1 0.2
0.5 1.7 2.3
R 0.2
aproximar el valor de f (0.07), 0 f (x) dx, f 0 (0.07).
0
5. Si y = y(x) cumple
y = x cos
y y(0) = 0
aproximar y(0.1), y(0.2), y(0.3).
1.1
Mtodo iterativo
xn+1 = g(xn ),
x0 = valor inicial.
1
c
xn+1 =
xn +
,
xn
2
xn+1 = 1 xn +
2
Podemos tomar como estimacin inicial x0
x0
x1
x2
x3
x4
= 5,
1
27
=
5+
= 5. 2,
2
5
1
27
=
= 5. 19615 3846,
5.2 +
2
5.2
1
27
=
= 5. 19615 2423,
5. 19615 3846 +
2
5. 19615 3846
1
27
=
= 5. 19615 2423.
5. 19615 2423 +
2
5. 19615 2423
Errores
ej = xj .
xj
Error relativo
rj =
ej
=
|e | = | x | , |r | = xj , |r | = xj .
j
j
j
j
xj
del modelo.
y parmetros.
Fuentes
de error
Errores accidentales.
En la resolucin
numrica.
Truncamiento de procesoso infinitos.
Redondeo.
X
1 1
1
1
+ +
+
=
2 = 1 +
n
4 9 16
n=1
X
1
2
=
,
n2
6
n=1
2
1. 491389 = 0. 15354 5.
6
r6 =
Obviamente, al realizar los clculos, tambin se han producido errores de redondeo, sin embargo, en este caso, los errores de redondeo son muy inferiores
al error de truncamiento.
3
Dgitos significativos y decimales
exactos
Decimos que x aproxima con t decimales exactos si
|ex | = | x| 0.5 10t .
Decimos que x aproxima con t dgitos significativos si
|rx | =
Ejemplo 3.1
(a) Cuntos
(b) Cuntos
(c) Cuantos
| x|
|| 5 10t .
Polinomio de Taylor
por lo tanto
+
+
+
.
6
24 120
2
(b) Valor aproximado. Sustituyendo x = 0.5 en el polinomio, resulta
P5 (0.5) = 1. 648698.
(c) Error. El valor de e0.5 , calculado con 6 decimales es
e0.5 = 1. 64872 1,
el valor absoluto del error absoluto es
5
5
|e | = e0.5 P (0.5) = 0.000023 = 0.2 3 104 .
Por lo tanto, la aproximacin P5 (0.5) tiene 4 decimales exactos.
f (0) = 0,
f 0 (0) =
1, f 00 (0)
= 0,
f (3) (0) = 1,
f (4) (0) = 0,
f (5) (0) = 1,
x3
por lo tanto
P5 (x) = x
1
x5
+
120
El argumento de sin(x) est en radianes. Debes tener en cuenta que las reglas usuales
de derivacin de funciones trigonomtricas, como
cos (x) = sin(x),
d
d
dx sin (x) = cos (x) ,
dx
slo son vlidas si el ngulo est en radianes.
Sea
I = [a, b] y c un punto interior, esto es a < c < b.
f (x) una funcin de clase2 C n+1 [a, b].
Para cada x [a, b] se cumple
f (x) = Pn (x) +
Rn (x),
donde:
f 0 (c)
Pn (x) = f (c) +
1!
Rn (x) =
f 00 (c)
(x c) +
2!
(x
f (n+1) (t)
(x c)n+1 ,
(n + 1)!
c) + +
f (n) (c)
n!
(x
c) ,
t est entre c y x.
Cota de error
Si representamos por Mn+1 una cota superior de f (n+1) (t), esto es
n+1
Ejemplo 5.1 Aproxima sin(0.2) usando un polinomio de McLaurin de grado 3. Determina una cota superior de error y verifica los resultados.
(a) Valor de la aproximacin. En principio, tomaramos
P3 (x) = x
x3
,
6
f (4) (0) = 0,
x3
.
6
cos
t
5
|e4 (x)| =
x ,
5!
t entre 0 y x.
|e4 (0.2)|
(0.2)
= 0.2 6667 105 .
5!
(1)
6.1
Planteamiento
Dada la tabla de valores
donde
(2)
x
y
x0
y0
x1
y1
xn
yn
para j = 0, 1, . . . , n.
(3)
Propiedad
Si de
lasgrado
abscisas
, x1cumple
, . . . , xn las
soncondiciones
distintas, existe un nico polinomio Pn (x)
nx0que
Pn (xj ) = yj ,
para j = 0, 1, . . . , n.
x0
y0
x1
y1
xn
yn
para j = 0, 1, . . . ,
n,
x
y
1
1
2
1/2
3
1/3
P2 (1) = 1,
P (2) = 1/2,
2
P2 (3) = 1/3.
(4)
(5)
a0 + a1 + a2 = 1
a + 2a1 + 4a2 = 1/2
0
a0 + 3a1 + 9a2 = 1/3
Se trata de un sistema de 3 ecuaciones lineales con 3 incgnitas. Resolvemos
por reduccin
a0 + a1 + a2 = 1
(2a 1a )
a1 + 3a2 = 1/2
(3a 2a )
a1 + 5a2 = 1/6
a0 + a1 + a2 = 1
a1 + 3a2 = 1/2
(3a 2a )
2a2 = 1/3
de donde resulta
1
, a1 = 1,
6
El polinomio interpolador, es por lo tanto
a2 =
a0 =
11
.
6
2
P2 (x) = 11 x + x .
6
6
6.2
Intervalo de interpolacin
f(x)=1/x
f(x)=11/6-x+x^2
interpolado2 r
funcin
x
-1
-0.5
0.5
1.5
2.5
3.5
4.5
Intervalo de interpolacin
-1
-2
-3
Observamos que:
El polinomio interpolador coincide con la funcin en los puntos de
interpolacin (xj , f (xj )).
El polinomio interpolador es un buen aproximante de la funcin cuando x pertenece al intervalo de interpolacin.
Fuera del intervalo de interpolacin, el error |en (x)| = |f (x) Pn (x)|
aumenta rpidamente.
Consideremos la tabla
x
y
x0
y0
x1
y1
xn
yn
donde los nodos xj son distintos. Sabemos que existe un nico polinomio
Pn (x) de grado n que interpola la tabla. Hemos visto que podemos determinar Pn (x) resolviendo un sistema de ecuaciones. Podemos obtener el polinomio interpolador de forma directa (sin resolver un sistema de ecuaciones)
expresndolo en una forma especial, conocida como la forma de Lagrange
Pn (x) = l0 (x) y0 + l1 (x) y1 + + ln (x) yn .
1 si j = k,
0 si j = k.
Es decir, el polinomio componente lj (x) vale 1 en su nodo xj y se anula en
los restantes.
Como lj (x) se anula para
x0 , x1 , . . . , xj1 , xj+1 , . . . , xn ,
y es de grado n, debe ser de la forma
lj (x) = C (x x0 ) (x x1 ) (x xj1 ) (x xj+1 ) (x xn ) .
Para cumplir lj (xj ) = 1, debe ser
1
,
(x
x
)
(x
x
)
(x
xj1 ) (xj xj+1 ) (xj xn )
0
j
1
j
C= j
por lo tanto
lj (x) =
(x x0 ) (x x1 ) (x xj1 ) (x xj+1 ) (x xn )
.
x ) (x
x )
(x
x ) (x
x ) (x j xn )
(x j 0
j 1
j j1
j j+1
x x0
y y0
Los polinomios componentes son
x1
y1
x2
y2
(x x1 ) (x x2 )
x0
x1
x2
x0
x1
x2
x0
x1
x2
l0 (x) =
(x x0 ) (x x2 )
l1 (x) =
.
(x 1 x 0) (x 1 x2 )
(x x0 ) (x x1 )
l2 (x) =
.
(x 2 x 0) (x 2 x1 )
(x
x 1) (x 0 x2 )
l1 (x0 ) = 0
l2 (x0 ) = 0
l
(x
)
=
1
0 0
l (x ) = 1 ,
l (x ) = 0 .
l (x ) = 0 ,
1 1
2 1
0 1
l
(x
)
=
0
l
1
2
2 (x2 ) = 1
l0 (x2 ) = 0
2
1/2
(x 2) (x 3)
x0 = 1
x1 = 2
x2 = 3
x0 = 1
x1 = 2
x2 = 3
x1 = 2
x2 = 3
x0 = 1
3
1/3
1
l0 (x) =
(x= 1) (x 3)
l1 (x)
= (x 1) (x 3) .
(2 1) (2 3)
l2 (x) (x
=
= (x 2) (x 3) .
2
(1 2) (1 3)
1) (x 2)
1
= (x 1) (x 2) .
1)
(3
2
2)
(3
El polinomio interpolador es
P2 (x) = l0 (x) 1 + l1 (x)
1
1
+ l2 (x) .
2
3
1
1
1
(x 2) (x 3) (x 1) (x 3) + (x 1) (x 2) .
(6)
2
2
6
La tabla de valores es la misma que la del Ejemplo 6.1, si operamos en (6),
resulta
1
11
P2 (x) = x2 x + ,
6
6
que coincide con el obtenido mediante la resolucin de un sistema de ecuaciones.
P2 (x) =
Error de interpolacin
Para el polinomio interpolador de una funcin, es posible obtener una expresin del error que es muy parecida a la frmula de error para el polinomio
de Taylor.
Sean
(n + 1) nodos distintos x0 , x1 , . . . , xn .
[a, b] = hx0 , x1 , . . . , xn i (el menor intervalo que contiene los nodos)
f (x) funcin de clase C n+1 [a, b].
Pn (x) el polinomio interpolador de f (x) en los nodos x0 , x1 , . . . , xn .
Para cada x [a, b], el error de interpolacin admite la siguiente expresin
en (x) = f (x) Pn (x) =
n+1
Si M
f (n+1) (t)
(x x0 ) (x xn ),
(n + 1)!
t [a, b].
Mn+1
|(x x0 ) (x xn )| .
(n + 1)!
x0 = 0
x1 = 0.1
x2 = 0.2
l0 (x) =
0.2)
l0(x(x) 0.1)
= (x 0.1)
(0 0.2) .
(0
1
(x 0.1) (x 0.2) .
0.02
x0 = 0
x1 = 0.1
x2 = 0.2
l1 (x) =
x0 = 0
x1 = 0.1
x2 = 0.2
l2 (x) =
l1 (x) (x)
= (x 0.2)
(0.1 0) (0.1 0.2)
1
x (x 0.2)
0.01
l2 (x) =
(x) (x 0.1)
(0.2 0) (0.2 0.1)
1
x (x 0.1) .
0.02
Polinomio interpolador
P2 (x) = l0 (x) y0 + l1 (x) y1 + l2 (x) y2 .
Para calcular P2 (1.14), sustituimos en los polinomios componentes
1
l0 (0.14) =
(0.14 0.1) (0.14 0.2) = (0.04) (0.06) = 0.12,
0.02
0.02
(0.14) (0.14 0.2) = (0.14) (0.06) = 0.84,
1
l1 (0.14) =
0.01
0.01
(0.14) (0.04)
1
l2 (0.14) =
(0.14) (0.14 0.1) =
= 0.28,
0.02
0.02
finalmente
P2 (0.14)
con
M3 max f (3) (t) = max et = e0.2 = 1.221403,
t[0,0.2]
t[0,0.2]
por lo tanto
e2 (0.14)
1.221403
|(0.14 0) (0.14 0.1) (0.14 0.2)|
3!
4
3
0.6 83986 10 = 0.06 83986 10 .
2
2
|e (0.14)| = e0.14 P (0.14) = |1. 150273 1. 150336|
= 0. 63 104
vemos que, efectivamente, el error real es inferior a la cota de error calculada.
En esta seccin se presenta otra forma para calcular el polinomio interpolador, conocida como la forma de Newton. Esta forma es especialmente adecuada para realizar los clculos manualmente. Adems, permite incorporar
nuevos puntos de interpolacin sin tener que rehacer todos los clculos.
9.1
Diferencias divididas
x0
y0
x1
y1
x2
y2
x3
y3
x4
y4
f
f
f
f
f
[x0 ]
[x1 ]
[x2 ]
[x3 ]
[x4 ]
f
f
f
f
[x0 , x1 ]
[x1 , x2 ] f [x0 , x1 , x2 ]
[x2 , x3 ] f [x1 , x2 , x3 ] f [x0 , x1 , x2 , x3 ]
[x3 , x4 ] f [x2 , x3 , x4 ] f [x1 , x2 , x3 , x4 ] f [x0 , x1 , x2 , x3 , x4 ]
f [x0 , x1 ] =
f [x1 ] f [x0 ]
,
x1 x0
f [x1 , x2 ] =
f [x2 ] f [x1 ]
,
x2 x1
f [x0 , x1 , x2 ] =
f [x1 , x2 , x3 , x4 ] =
f [x1 , x2 ] f [x0 , x1 ]
,
x2 x0
f [x2 , x3 , x4 ] f [x1 , x2 , x3 ]
.
x4 x1
f [x0 ]= 1
f [x1 ] = 3
f [x2 ] = 1
0
1
f [x0 , x1 ]=
f [x1 , x2 ]=
1
3
3
.
1
31
1 =
31
13
2
= 2 f [x0 , x1 , x2 ]=
30
22
3
4
9.2 Interpolador de
Newton
Dada la tabla de valores
x
y
x0
y0
x1
y1
x2
y2
x3
y3
x4
y4
x x0
y y0
P0 (x) = f [x0 ].
Dos nodos
x x0 x1
y y0 y1
P1 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ).
Tres nodos
x
y
x0
y0
x1
y1
x2
y2
P3 (x)
x
y
x0
y0
x1
y1
x2
y2
x3
y3
Cinco nodos
x
y
x0
y0
x1
y1
x2
y2
x3
y3
x4
y4
0
1
1
3
3
1
f [x0 ]= 1
f [x1 ]= 3
f [x2 ]= 1
f [x0 , x1 ] = 2
f [x1 , x2 ] = 2 f [x0 , x1 , x2 ] =
4
3
El interpolador es
P2 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 ).
En nuestro caso
4
x (x 1).
3
El polinomio P2 (x) es de grado 2. En los nodos xj toma los valores
P2 (x) = 1 + 2x +
P2 (0)
= 1,
P2 (1)
= 1 + 2 = 3,
4
P2 (3) = 1 + 6 6 = 7 8 = 1.
3
Se trata, por lo tanto, del polinomio interpolador.
Ejemplo 9.4 Calcula el polinomio interpolador de la tabla
.
Hemos obtenido la
x0 = 0
x1 = 1
x2 = 1
x
y
0
0
1
0
1
2
El interpolador es
P2 (x) = f [x0 ] + f [x0 , x1 ] (x x0 ) + f [x0 , x1 , x2 ] (x x0 )(x x1 ),
en nuestro caso
P2 (x) = x (x 1).
10
10.1
Interpolacin de Hermite
Presentacin del problema
x
y
y0
x0
y0
y0
x1
y1
y0
xn
yn
n
0
H2n+1 (xj ) = yj
para j = 0, 1, . . . , n.
0
(xj ) = y0j
H 2n+1
x
y
y0
0
1
1
1
3
1
H3 (0) = 1,
H3 (0) = 1,
0
H3 (1) = 3,
H
0
3 (1) = 1.
Calculamos H 30 (x)
(7)
(8)
a0 = 1
a1 = 1
a + a1 + a2 + a3 = 3
0
a1 + 2a2 + 3a3 = 1
a0 = 1
a1 = 1
a
+ a3 = 1
2
2a2 + 3a3 = 2
(9)
a0 = 1
a1 = 1
a
=5
2
a3 = 4
H3 (1) = 3,
si calculamos la derivada
H 30 (x) = 1 + 10x 12x2
y sustituimos en x0 = 0 y x1 = 1, resulta
H 30 (0) = 1,
H30 (1) = 1.
10.2
f
f
f
f
f
f
[x0 ]
[x0 ]
[x1 ]
[x1 ]
[x2 ]
[x2 ]
f
f
f
f
f
[x0 , x0 ]
[x0 , x1 ]
[x1 , x1 ]
[x1 , x2 ]
[x2 , x2 ]
f
f
f
f
[x0 , x0 , x1 ]
[x0 , x1 , x1 ] f [x0 , x0 , x1 , x1 ]
[x1 , x1 , x2 ] f [x0 , x1 , x1 , x2 ] f [x0 , x0 , x1 , x1 ,
[x1 , x2 , x2 ] x2 ]
f [x1 , x1 , x2 , x2 ] f [x0 , x1 , x1 , x2 ,
La diferencia es que ahora hay nodos xj repetidos, las diferencias f [xj , xj ]
se definen como
f [xj , xj ] = f 0 (xj ) =j
y0 .
Los polinomios de Hermite H1 (x), H2 (x), H2 (x), tienen la siguiente forma:
Un nodo. Tabla de datos
Tabla de diferencias
x0
x0
x x0
y y0
y 0 y00
f [x0 ]
f [x0 ] f [x0 , x0 ]
Interpolador
H1 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ).
Observa que en este caso, se obtiene la recta tangente en x = x0 .
x
y
y0
x0
y0
y0
x1
y1
y0
Tabla de diferencias
x0
x0
x1
x1
f
f
f
f
[x0 ]
[x0 ] f [x0 , x0 ]
[x1 ] f [x0 , x1 ]
[x1 ] f [x1 , x1 ]
f [x0 , x0 , x1 ]
f [x0 , x1 , x1 ]
f [x0 , x0 , x1 , x1 ]
Interpolador
H3 (x) = f [x0 ] + f [x0 , x0 ] (x x0 ) + f [x0 , x0 , x1 ] (x x0 )2 +
+f [x0 , x0 , x1 , x1 ] (x x0 )2 (x x1 ) .
Tres nodos. Los datos son
x
y
y0
x0
y0
y0
x1
y1
y0
x2
y2
y0
0
1
1
1
3
1
=0
=0
=1
=1
f [x0 ] = 1
f [x0 ] = 1
f [x1 ] = 3
f [x1 ] = 3
f [x0 , x0 ] = 1
f [x0 , x1 ]
f [x1 , x1 ] = 1
=0
=0
=1
=1
f [x0 ] = 1
f [x0 ] = 1
f [x1 ] = 3
f [x1 ] = 3
f [x0 , x0 ] = 1
f [x0 , x1 ] = 2
f [x1 , x1 ] = 1
f [x0 , x0 , x1 ]
f [x0 , x1 , x1 ]
x1 ]
f [x0 , x0 , x1 ,
f [x0 , x0 , x1 ] = 1
f [x0 , x1 , x1 ] = 3
f [x0 , x0 , x1 , x1 ] = 4
Si operamos, resulta
H3 (x) = 1 + x + 5x2 4x3 .
que coincide con el obtenido en el Ejemplo 10.1
10.3
Sean
(n + 1) nodos distintos x0 , x1 , . . . , xn .
[a, b] = hx0 , x1 , . . . , xn i (el menor intervalo que contiene los nodos).
f (x) funcin de clase C 2n+2 [a, b].
H2n+1 (x) el polinomio interpolador de Hermite para f (x) en los nodos
x0 , x1 , . . . , xn .
Para cada x [a, b], el error de interpolacin admite la siguiente expresin
(2n+2)
f
(t)
|e2n+1 (x)| = |f (x) H2n+1 (x)| =
(x x0 )2 (x xn )2 , t [a, b].
(2n + 2)!
Si M
2n+2
M2n+2
(x x0 )2 (x xn ) 2.
(2n + 2)!
Tenemos
f (x) = sin(x),
f 0 (x) =
cos(x), f (0) = 0,
f 0 (0)
= 1,
f ( ) = 1
4
2 = 0. 70710 678,
) = 0.70710 678.
f 0(
4
La tabla de datos es
x
y
y0
x0 = 0
0
1
x1 = 0. 78539 816
0.70710 678
0.70710 678
=0
=0
= 0. 78539 816
= 0. 78539 816
f [x0 ] = 0
f [x0 , x0 ] = 1.
f [x0 ] = 0
f [x1 ] = 0.70710 678 f [x0 , x1 ]
f [x1 ] = 0.70710 678 f [x1 , x1 ] = 0.70710 678
de donde obtenemos
f [x0 , x0 ] = 1.
f [x0 , x1 ] = 0. 90031 632
f [x1 , x1 ] = 0.70710 678
842
f [x0 , x0 , x1 ] = 0. 12692 12
f [x0 , x1 , x1 ] = 0. 24600 203
f [x0 , x0 , x1 , x1 ] = 0. 15161
f [x0 , x0 ] = 1,
f [x0 , x0 , x1 , x1 ] = 0. 15161 842.
(10)
M4
2
2
|e3 (x)| = |f (x) H3 (x)| 4! (x x0 ) (x x1 ) .
M4 = max
(t) = sin(/4) = ,
t[0,/4]
2
de donde resulta la cota de error
1
|e3 (0.5)|
24