1.3 Derivación e integración numéricas.

Anuncio
Apuntes de J. Lorente
1.3
1.3.1
25
Derivación e integración numéricas.
Fórmulas de tipo interpolatorio
Sea L : F → R un funcional real sobre un conjunto de funciones y sean Li : F → R i = 0, 1, . . . , n
funcionales conocidos dados.
Llamamos Fórmula Numérica para L (f ) a la expresión:
n
P
αi Li (f ). Ası́, podemos escribir,
i=0
L (f ) =
n
X
αi Li (f ) + R (f )
(1.11)
i=0
donde R (f ) representa el error de la fórmula.
Como casos particulares de nuestro interés están las fórmulas de derivación e integración
numéricas (D.N. e I.N.).
Una fórmula de D.N. para calcular la derivada primera en un punto a de f (x) conocidos los
valores de ésta en puntos x0 , x1 , . . . , xn es una expresión del tipo:
0
f (a) =
n
X
αi f (xi ) + R (f )
(1.12)
i=0
Aquı́, L (f ) = f 0 (a) y los funcionales Li (f ) = f (xi ) i = 0, 1, . . . , n.
De forma similar al caso de D.N. si se conocen los valores de f en x0 , x1 , . . . , xn entonces una
fórmula de I.N. clásica tiene la forma:
b
Z
f (x) dx =
a
(ahora, el funcional es L (f ) =
n
X
αi f (xi ) + R (f )
(1.13)
i=0
Rb
a
f (x) dx y Li (f ) = f (xi ) i = 0, 1, . . . , n).
Otro caso habitual de I.N. es cuando usamos valores de la función y su derivada en nodos dados;
a saber,
Z b
n
X
f (x) dx =
(αi f (xi ) + βi f 0 (xi )) + R (f )
a
i=0
¿Cómo se obtienen fórmulas particulares que tengan propiedades de interés?
Una respuesta es utilizar criterios de interpolación, exactitud en cierto espacio de funciones elementales, etc,..
26
Prelininares.
Definición 1.10 (tipo interpolatorio)
1. La fórmula (1.11) es de tipo interpolatorio si se obtiene a partir del interpolante, p ∈ H ⊂ F,
de f ; es decir,
!
n
X
L (f ) = L (p) + R (f )
αi Li (f ) = L (p)
(1.14)
i=0
donde dim(H) = n + 1 y Li (p) = Li (f ) i = 0, 1, . . . , n.
2. si H = Pn diremos que la fórmula es de tipo interpolatorio clásico.
Además, usando la fórmula de interpolación de Lagrange, se obtiene:
αi = L (li (x)) i = 0, 1, . . . , n
donde li (x) i = 0, 1, . . . , n son los polinomios (caso H = Pn ) básicos de Lagrange asociados a los
funcionales {Lj }.
Definición 1.11 (exactitud)
• Diremos que la fórmula (1.11) es exacta para ϕ sii R (ϕ) = 0.
• Se dice que una fórmula tiene grado de exactitud m sii la fórmula es exacta para {1, x, . . . , xm }
y R (xm+1 ) 6= 0.
Teorema 1.34
Una fórmula (1.11) es de tipo interpolatorio clásico si, y sólo si, tiene grado de exactitud al menos n
(la fórmula es exacta en Pn )
En (1.14) es sencillo obtener una expresión de R(f ) a partir del error de interpolación. Ası́, si
E(f ) = f − p es el error de interpolación, entonces:
R (f ) = L (f ) − L (p)
=
↑
por la linealidad
L (f − p) = L (EI (f ))
es decir, el error de la fórmula es el operador L aplicado al error de interpolación.
1.3.2
Derivación numérica.
Supongamos que deseamos obtener una fórmula de D.N. de tipo interpolatorio para calcular f 0 (a);
entonces, ésta será de la forma:
f 0 (a) =
n
X
αi f (xi ) + R (f )
i=0
los coeficientes de la fórmula se pueden obtener como sigue:
(1.15)
Apuntes de J. Lorente
• Si li (x) =
n
Q
j=0
j6=i
x−xj
xi −xj
27
son polinomios de Lagrange para los nodos {xi }; entonces: αi = li0 (a)
• Mediante exactitud para {1, x, . . . , xn }; entonces, los coeficientes αi son la solución del sistema
lineal (n + 1) × (n + 1).
• Usando desarrollos de Taylor; a saber, en cada nodo la función se puede escribir como:
f (xi ) = f (a) + f 0 (a) hi + · · · + f k) (a)
hm
hki
+ · · · + f m) (θi ) i
k!
m!
donde hi = xi − a.
Ası́, para conseguir los coeficientes de la fórmula basta obtener la suma indicada en (1.13) e
imponer que sean cero los términos que corresponden a derivadas sucesivas salvo la de primer
orden que se iguala a 1 (hasta conseguir un sistema lineal de orden (n + 1) × (n + 1)).
Si lo que se desea es una fórmula de derivación numérica para f k) (a), ¿cómo procederı́amos?
Error de la fórmula mediante Newton
Ası́, si pn (x) es el interpolante de f (x) en {x0 , x1 , . . . , xn } entonces:
EI (f, x) = f (x) − pn (x) = f [x0 , x1 , . . . , xn , x]
n
Y
(x − xi )
i=0
Por lo tanto, para funciones suficientemente derivables, se puede obtener la expresión de error,
para la fórmula (1.15), siguiente:
R (f ) = EI0 (f ) |x=a =
f n+2) (θ1 )
f n+1) (θ2 ) 0
Π (a) +
Π (a)
(n + 2)!
(n + 1)!
donde Π (x) = (x − x0 ) (x − x1 ) · · · (x − xn ).
Algunas fórmulas habituales.
Fórmulas con dos nodos (x0 , x1 ):
f 0 (a) ≈ f [x0 , x1 ] =
con error R (f ) =
f 3) (θ1 )
3!
f (x1 ) − f (x0 )
1
1
=−
f (x0 ) +
f (x1 )
x1 − x0
x1 − x0
x1 − x0
(a − x0 ) (a − x1 ) +
f 2) (θ2 )
2
(2a − x0 − x1 )
Como casos particulares de interés se tienen las fórmulas con término de error siguientes:
(1.16)
28
Prelininares.
Fórmula de diferencia progresiva (a, a + h):
f 0 (a) =
f (a + h) − f (a)
+ R(f )
h
con R(f ) = −
f 00 (θ1 )
h
2
Fórmula de diferencia regresiva (a, a − h):
f 0 (a) =
f (a) − f (a − h)
+ R(f )
h
con R(f ) =
f 00 (θ2 )
h
2
Fórmula de diferencia centrada (a + h, a − h):
f 0 (a) =
f (a + h) − f (a − h) f 000 (θ3 ) 2
−
h
2h
6
Fórmula centrada para f 00 (a) con tres nodos (a − h, a, a + h):
f 00 (a) =
donde R (f ) = − f
iv) (θ)
12
f (a − h) − 2f (a) + f (a + h)
+ R(f )
h2
h2
Errores y condicionamiento en la derivación numérica.
h→0
Si bien, en las fórmulas descritas anteriormente, R (f ) → 0, veamos qué puede ocurrir, en la práctica,
por ejemplo para la fórmula de dos nodos:
f 0 (a) =
f (a + h) − f (a − h) f 000 (θ3 ) 2
−
h
2h
6
Supongamos que en cada evaluación de f se comete un error de redondeo acotado por el valor fijo
ε; es decir,
f˜ (a + h) = f (a + h) + δh ; f˜ (a − h) = f (a − h) + δ−h con |δh | , |δ−h | ≤ ε
en consecuencia al evaluar la fórmula de derivación numérica para un h > 0 tendremos:
f˜ (a + h) − f˜ (a − h) f 000 (θ3 ) 2 ε
0
h +
f (a) −
≤
2h
6
h
≤
↑
si f 000 está acot
M 2 ε
h +
6
h
Para responder hagamos la función g (h) = M6 h2 + hε mı́nima. El valor mı́nimo se consigue para
q
√
3
3ε
h= 3 M
dando un valor mı́nimo para la cota: g (h) = 21 9ε2 M . Este cálculo nos dice que no es
conveniente una elección de h mucho menor que el obtenido. Por ejemplo, si tomamos M = 10,
ε = 0.01, la gráfica de g(h) es:
Apuntes de J. Lorente
29
Figura 1.1:
1.3.3
Integración Numérica.
Consideramos fórmulas de tipo interpolatorio de la forma:
b
Z
f (x) dx =
a
n
X
αi f (xi ) + R (f )
(1.17)
i=0
Si p(x) es el polinomio de interpolación de f (x) en {x0 , x1 , . . . , xn } y li (x) los polinomios de
Lagrange, entonces la fórmula (1.17) es:
Z
b
Z
b
p (x) dx + R(f ) =
f (x) dx =
a
a
donde αi =
Rb
a
li (x)dx
y
R(f ) =
n
X
αi f (xi ) + R (f )
i=0
Rb
a
f [x0 , x1 , . . . , xn , x]Π(x)dx
con Π(x) = (x − x0 )(x − x1 ) · · · (x − xn )
Fórmulas particulares:
• fórmula del punto medio (un nodo x0 =
a+b
):
2
b
Z
f (x)dx = (b − a) f
a
donde R (f ) =
(b−a)3 00
f
24
a+b
2
+ R(f )
(ξ)
• Fórmula del trapecio (usa los nodos x0 = a, x1 = b):
Z
b
f (x)dx =
a
3
b−a
(f (a) + f (b)) + R(f )
2
con término de error: R (f ) = − (b−a)
f 00 (ξ)
12
(1.18)
30
Prelininares.
• Fórmula de Simpson (usa los nodos x0 = a, x1 =
Z
a
b
b−a
f (x)dx =
6
a+b
, x2
2
= b):
a+b
f (a) + 4f
+ f (b) + R(f )
2
5
y el término de error es: R (f ) = − (b−a)
f iv) (ξ)
2880
Estas fórmulas se obtienen mediante interpolación o también mediante exactitud.
Fórmulas de Newton-Cotes.
Una fórmula de integración numérica de tipo interpolatorio se llama de Newton-Cotes si adopta
una de las formas siguientes:
• Fórmulas Cerradas:
• Fórmulas Abiertas:
donde h =
Rb
a
Rb
a
f (x)dx =
n
P
αi f (a + ih) + R(f )
i=0
f (x)dx =
n−1
P
αi f (a + ih) + R(f )
i=1
b−a
n
Por lo tanto, las fórmulas abiertas usan los nodos interiores de una partición uniforme del intervalo
de integración y las cerradas usan todos los nodos de la partición. Ası́, las fórmulas del trapecio y
Simpson son cerradas y la del punto medio es abierta.
1.3.4
Fórmulas gaussianas
El grado de exactitud que se puede alcanzar con una F.I.N de tipo interpolatorio es > n pero, ¿cuál
es el grado real de la fórmula?
Teorema 1.35
Dada la fórmula de I.N. (1.17), se satisfacen:
1. El grado máximo de exactitud es 2n + 1.
2. La fórmula tiene grado de exactitud n + q (q > 1) si, y sólo si, se satisface:

Rb j

x
Π(x)dx
=
0
j
=
0,
.
.
.
,
q
−
1

a
Rb
a
q
x Π(x)dx 6= 0


donde Π(x) = (x − x0 )(x − x1 ) · · · (x − xn )
¿Existen fórmulas de tipo interpolatorio (1.17) con el grado máximo de exactitud?
(1.19)
Apuntes de J. Lorente
31
En definitiva, lo que estamos pidiendo es si podemos elegir los nodos de la fórmula de modo que
(1.19) se cumpla con q = n + 1; es decir,
Z b
xj Π(x)dx = 0 j = 0, . . . , n
(1.20)
a
Proposición 1.6
Existen (n + 1)−nodos únicos en el intervalo ]a, b[ para los que se cumple (1.20)
En la práctica, para obtener una fórmula con grado máximo de excatitud no se resuelve directamente el sistema (1.20) con incógnitas los xi i = 0, 1, . . . , n sino en la forma siguiente:
• Paso 1: Tomamos Π(x) = xn+1 −an xn −· · ·−a1 x−a0 y calculamos los coeficientes, resolviendo
el sistema (n + 1) × (n + 1):
Z b
Z b
j+n+1
x
dx =
xj (an xn + · · · + a1 x + a0 )dx j = 0, . . . , n
(1.21)
a
a
• Paso 2: Calculamos las raı́ces de Π(x) = 0. Estas serán los nodos para la fórmula.
• Paso 3: Por último obtenemos los coeficientes de la fórmula I.N. con nodos los del paso 2
(para ello podemos utilizar exactitud para {1, x, . . . , xn })
La fórmula obtenida mediante los pasos 1,2,3 se conoce como fórmula Gaussiana de (n + 1)nodos.
Fórmulas gaussianas clásicas:
Gauss-Legendre: son fórmulas con intervalo de integración [−1, 1]; es decir,
Z 1
n
X
f (x) dx =
αi f (xi ) + R (f )
−1
i=0
Gauss-Chebyshev: son fórmulas con intervalo de integración [−1, 1] y función peso w(x) =
es decir,
√ 1
;
1−x2
Z
1
w(x)f (x) dx =
−1
n
X
αi f (xi ) + R (f )
i=0
Error en una fórmula gaussiana.
Si la fórmula del tipo
Rb
a
f (x) dx =
n
P
αi f (xi ) + R (f ) es gaussiana; es decir, los nodos son elegidos
i=0
en las condiciones descritas, entonces es posible expresar el error como:
f 2n+2) (ξ)
R(f ) =
(2n + 2)!
Z
a
b
Π(x)2 dx
32
Prelininares.
suponiendo que f ∈ C 2n+2 ([a, b])
OBSERVACIONES:
1. Todo el desarrollo para I.N. sigue siendo válido para la obtención de fórmulas con función peso
en el integrado sin más que incluir en cada integración tal función peso.
2. En cada caso, el polinomio a calcular, Π(x), para la fórmula gaussiana es el polinomio mónico
de grado n + 1 ortogonal respecto del producto escalar asociado a la integral que se aproxima.
Por ejemplo, si queremos una fórmula de Gauss-Chebyshev para dos nodos podemos tomar
Π(x) = T2 (x)/2 = x2 − 12
3. Los coeficientes de una fórmula gaussiana son positivos y satisfacen la propiedad de simetrı́a
siguiente: αj = αn−j ∀j
4. Los nodos de la fórmula (ordenados de menor a mayor) son simétricos respecto del centro del
intervalo de integración.
5. Las fórmulas gaussianas son convergentes ( si n → ∞) para funciones continuas.
1.3.5
Fórmulas compuestas
Sea {a = x0 , x1 , . . . , xn = b} una partición del intervalo [a, b] entonces,
b
Z
f (x)dx =
a
n Z
X
i=1
xi
f (x)dx =
xi−1
n
X
Fi + RF C (f )
(1.22)
i=1
donde Fi representa la fórmula de I.N. para el subintervalo [xi−1 , xi ] y RF C (f ) es el error total en la
fórmula (1.22) que puede obtenerse a partir de los errores para Fi ; es decir,
RF C (f ) =
n
X
Ri (f )
(1.23)
i=1
Ejemplos (con partición uniforme de paso h =
Notamos fi = f (xi ) y fi− 1 = f ( xi−12+xi )
b−a
):
n
2
• Fórmula del trapecio compuesta:
Si usamos las fórmulas Fi = h2 (fi−1 + fi ); entonces,
Z
a
b
h
f (x)dx =
2
2
cuyo error es RT C (f ) = − (b−a)h
f 00 (ξ)
12
f (a) + 2
n−1
X
i=1
!
fi + f (b)
+ RT C (f )
(1.24)
Apuntes de J. Lorente
33
• Fórmula de Simpson compuesta:
Si usamos las fórmulas Fi = h6 (fi−1 + 4fi− 1 + fi ); es decir,
2
Z
a
b
h
f (x)dx =
6
f (a) + 4
n
X
fi− 1 + 2
n−1
X
2
i=1
!
fi + f (b)
+ RSC (f )
(1.25)
i=1
4
f iv) (ξ)
cuyo error es RSC (f ) = − (b−a)h
2880
Las fórmulas compuestas del trapecio y Simpson convergen al valor exacto de la integral que
aproximan cuando h → 0
1.3.6
Extrapolación de Richardson.
Esta es una técnica que permite mejorar el orden de convergencia de una fórmula numérica para la
aproximación de un valor L (f ). Supongamos que la fórmula utilizada expresada por el valor N (h)
es tal que:
L (f ) = N0 (h) + a1 hk +
∞
X
ai hki
(1.26)
i=2
donde k ∈ {1, 2, . . .}. Esto indica que la fórmula es de orden de convergencia k. ¿se puede obtener
una fórmula más precisa a partir de la anterior?
Nos ocupamos de esto como sigue:
Si sustituimos, en (1.26), h por h/2 se tendrá:
ki
∞
h
h
hk X
ai
L (f ) = N0
+ a1 k +
2
2
2
i=2
(1.27)
combinando de forma apropiada (1.26) y (1.27) se obtiene:
L (f ) =
2k N0
h
2
2k
∞
X
− N0 (h)
+ b2 h2k +
bi hk·i
−1
i=3
(1.28)
Por lo tanto, la fórmula:
N1 (h) =
2k N0
h
2
2k
− N0 (h)
−1
tiene orden de convergencia 2k.
Ası́, haciendo divisiones sucesivas de h; a partir de los valores N0 (h) , N0
se obtienen los de N1 2hj j = 0, 1, , m − 1:
N1
h
2j
=
2k N0
h
− N0
2j+1
k
2 −1
h
2j
h
2
, N0
h
4
, . . . , N0
h
2m
34
Prelininares.
Pero siguiendo la idea anterior podrı́amos mejorar la precisión de la nueva fórmula de forma que
se puede construir una tabla de valores numéricos:
N ivel 0 N ivel 1
N0 (h)
N0 h2
N1 (h)
N0 h4
N1 h2
·
·
..
..
.
.
h
h
N0 2m N1 2m−1
···
..
N ivel j
···
Nj (h)
..
.
...
N ivel m
.
···
···
Nj
h
2m−j
···
Nm (h)
donde, siguiendo lo hecho para (1.27) y (1.26) se tiene:
Nj (h) =
Proposición 1.7
Sean D[i.j] = Nj
1. D[i.j] =
h
2i−j
2k
j
h
2
k
(2 )j
Nj−1
− Nj−1 (h)
−1
j = 1, . . . , m
para j = 0, . . . , m, i = j, . . . , m. Entonces se verifica:
2k.j D[i,j−1]−D[i−1,j−1]
;
2k.j −1
2. L (f ) = D[j, j] +
∞
P
al,j hkl ¿al,j =?
l=j
EJEMPLO
Se puede aplicar este procedimiento denominado de EXTRAPOLACIÓN DE RICHARDSON a
la fórmula de diferencias centradas para la derivada f 0 (a).
En efecto, si escribimos el desarrollo de Taylor de f para a + h y a − h es fácil deducir la igualdad:
f 0 (a) =
f (a + h) − f (a − h)
+ a2 h2 + a4 h4 + . . . + a2m h2m + . . .
2h
expresión del tipo (1.26). Siguiendo el procedimiento descrito para L(f), podemos calcular los
valores de la tabla mediante el ALGORITMO siguiente:
Apuntes de J. Lorente
35
ENTRADA: f (x) , h, M
PROCESO:
1. Para i = 0, . . . , M calcular
D[i, 0] =
h
f (a + h) − f (a − h)
; h=
2h
2
2. para j = 1, . . . , M y i = j, . . . , M calcular
D[i.j] =
4j D[i, j − 1] − D[i − 1, j − 1]
4j − 1
SALIDA: valor aproximado de f 0 (a) es D[M, M ]
Descargar