Beruflich Dokumente
Kultur Dokumente
Introducción.
Interpolación de Lagrange.
Diferenciación Numérica
Métodos cerrados de Newton-Côtes: Fórmulas del trapecio y de Simpson. Fórmulas compuestas.
Métodos Gauss-Legendre: Fórmulas de Gauss.
Demostración
este sistema tiene solución única ya que el determinante de la matriz de los coeficientes es
1 x0 x2 · · · xn
0 0
1 x1 x2 · · · xn
1 1
1 x2 x2 · · · xn Y
2 2 = (xj − xi ) 6= 0
.. .. .. . . .. 0≤i<j≤n
. . . . .
1 xn x2n · · · xnn
x x0 x1 · · · xn
Dada la tabla con x0 < x1 < . . . < xn , notamos
y y0 y1 · · · yn
n
Y
A(x) = (x − x0 )(x − x1 ) · · · (x − xn ) = (x − xi )
i=0
n
Y
Ak (x) = (x − x0 ) · · · (x − xk−1 )(x − xk+1 ) · · · (x − xn ) = (x − xi )
i=0,i6=k
Definiciones
Ejemplos Construir los correspondientes polinomios de Lagrange, P3 (x), para las siguientes tablas
de puntos
(1)
x −2 −1 1 2
y −5 1 1 7
Polinomios coeficientes de Lagrange de grado 3
3
X (x + 1)(x − 1)(x − 2) (x + 2)(x − 1)(x − 2)
P3 (x) = yk · L3,k (x) = (−5) · − +1· +
k=0
12 6
(x + 2)(x + 1)(x − 2) (x + 2)(x + 1)(x − 1)
+1 · − +7· = x3 − x + 1
6 12
(2)
x −2 −1 1 2
1 1 1 1 1
f (x) =
1 + x2 5 2 2 5
Los polinomios coeficientes de Lagrange, L3,k , son los mismos del ejemplo anterior ya que
coinciden los valores de xi . Luego el polinomio interpolador de Lagrange es
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 24
3
X 1 (x + 1)(x − 1)(x − 2) 1 (x + 2)(x − 1)(x − 2)
P3 (x) = f (xk ) · L3,k (x) = · − + · +
k=0
5 12 2 6
6 − x2
1 (x + 2)(x + 1)(x − 2) 1 (x + 2)(x + 1)(x − 1)
+ · − + · =
2 6 5 12 10
(3)
x −2 −1 1 2
3
X (x + 1)(x − 1)(x − 2) (x + 2)(x − 1)(x − 2)
P3 (x) = Q(xk )·L3,k (x) = (−15)· − +(−2)· +
k=0
12 6
(x + 2)(x + 1)(x − 2) (x + 2)(x + 1)(x − 1)
+0 · − +1· = x3 − 2x2 + 1
6 12
Consecuencia
El polinomio interpolador de Lagrange, Pm (x) m ≥ n, para un polinomio Q(x) de
grado n coincide con el propio polinomio, es decir
.
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 25
(4)
x −1 0 1 2
f (x) = x4 − 2x3 − x2 + 4x − 3 −5 −3 −1 1
Polinomios coeficientes de Lagrange de grado 3
(x − 0)(x − 1)(x − 2) x(x − 1)(x − 2)
L3,0 (x) = =−
(−1 − 0)(−1 − 1)(−1 − 2) 6
(x + 1)(x − 1)(x − 2) (x + 1)(x − 1)(x − 2)
L3,1 (x) = =
(0 + 1)(0 − 1)(0 − 2) 2
(x + 1)(x − 0)(x − 2) (x + 1)x(x − 2)
L3,2 (x) = =−
(1 + 1)(1 − 0)(1 − 2) 2
(x + 1)(x − 0)(x − 1) (x + 1)x(x − 1)
L3,3 (x) = =
(2 + 1)(2 − 0)(2 − 1) 6
Polinomio interpolador de Lagrange
3
X x(x − 1)(x − 2) (x + 1)(x − 1)(x − 2)
P3 (x) = f (xk ) · L3,k (x) = (−5) · − + (−3) · +
k=0
6 2
(x + 1)x(x − 2) (x + 1)x(x − 1)
+(−1) · − +1· = 2x − 3
2 6
Veamos que el error que se comete cuando utilizamos un polinomio interpolador de Lagrange
para aproximar una función f se puede evaluar y acotar.
Teorema
Sea f ∈ C n+1 ([a, b]). Sean x0 < x1 < . . . < xn , n + 1 puntos distintos del intervalo [a, b].
Entonces para cada x ∈ [a, b] se verifica que existe αx ∈ [a, b] tal que
donde Pn (x) es el polinomio interpolador de Lagrange para los nodos dados y En (x) es el
término del error cometido al aproximar f (x) por Pn (x) que se expresa como
Demostración
Si x = xi el resultado es trivial. Para cada x 6= xi fijo, definimos la siguiente función
Como F (x0 ) = F (x1 ) = . . . = F (xn ) = F (x) = 0 → F posee n + 2 ceros en el intervalo [a, b].
Por tanto aplicando el Tma. de Rolle, su derivada
posee al menos n + 1 ceros en el intervalo [a, b]. Aplicamos nuevamente el Tma. de Rolle, la
derivada segunda
F 00 (t) = A(x) (f 00 (t) − Pn00 (t)) − A00 (t) (f (x) − Pn (x)) t ∈ [a, b]
posee al menos n ceros en el intervalo [a, b]. Y ası́ sucesivamente, luego la derivada de F de
orden n + 1
F (n+1) (t) = A(x) f (n+1) (t) − Pn(n+1) (t) − A(n+1) (t) (f (x) − Pn (x)) t ∈ [a, b]
n
t=
x−x0 Y f (n+1) (αx )
En (x) =h hn+1 (t − k) ·
k=0
(n + 1)!
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 27
Teorema
Sea f una función definida en [a, b] que contiene a los nodos equiespaciados
x0 < x1 < . . . < xn → xk = x0 + h · k 0 ≤ k ≤ n . Si f ∈ C 4 ([a, b]), es decir las derivadas de
f hasta orden 4 son continuas en [a, b], por tanto acotadas en dicho intervalo. Sea
1 00 h2
Y f (α )
x
(1) |E1 (x)| = h2 (t − k) · ≤ · M2 · |t(t − 1)|
k=0
2! 2
1
calculamos el valor máximo de g(t) = |t(t − 1)| t ∈ [0, 1], se alcanza en g(1/2) = .
4
Por tanto
h2 h2
|E1 (x)| ≤ · M2 · |t(t − 1)| ≤ · M2
2 8
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 28
2
Y
3 f 000 (αx ) h3
(2) |E2 (x)| = h (t − k) · ≤ · M3 · |t(t − 1)(t − 2)|
k=0
3! 6
calculamos ! el valor máximo de g(t) = |t(t − 1)(t − 2)| t ∈ [0, 2], se alcanza en
√ √
3 2 3
g 1± = . Por tanto
3 9
h3 h3
|E2 (x)| ≤ · M3 · |t(t − 1)(t − 2)| ≤ √ · M3
6 9 3
3
Y
4 f (αx ) h4
iv
(3) |E3 (x)| = h (t − k) · ≤ · M4 · |t(t − 1)(t − 2)(t − 3)|
k=0
4! 24
calculamos !el valor máximo de g(t) = |t(t − 1)(t − 2)(t − 3)| t ∈ [0, 3], se alcanza en
√
3± 5
g = −1. Por tanto
2
h4 h4
|E3 (x)| ≤ · M4 · |t(t − 1)(t − 2)(t − 3)| ≤ · M4
24 24
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 29
Diferenciación Numérica
La derivación numérica tiene importancia en el desarrollo de algoritmos para resolver ecuaciones
diferenciales tanto ordinarias como en derivadas parciales. También es útil para aproximar (’calcu-
lar’) derivadas de funciones empı́ricas. El comportamiento de las derivadas de funciones elementales
conocidas nos ayudará a comparar los resultados numéricos con los exactos, y poder ası́ evaluar
(’acotar’) los errores que se cometen.
El problema numérico se puede abordar utilizando: la definición de derivada en un punto, el
polinomio de Taylor y el polinomio de interpolación.
Si partimos de la definición de derivada de una función f : R → R en un punto x del dominio
Tabla 1: Aproximación de la derivada a partir de la definición para las funciones f (x) = sen x y
g(x) = ex . Cálculos efectuados con MatLab.
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 30
−k g(xi+1 )−g(xi ) g(xi+1 )−g(xi ) 0 g(xi )−g(xi−1 ) g(xi )−g(xi−1 ) 0
h = 10 − g (1) − g (1)
h h h h
5
5
4
4
3
3
2
2
1
0 1
-1 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Si la función es de clase tres, f ∈ C 3 ([a, b]), podemos deducir una nueva fórmula de dos puntos
combinando los dos desarrollos de Taylor de la función f en xi de orden 2 y resto de orden 3
evaluados en los puntos xi−1 = xi − h, xi+1 = xi + h ∈ [a, b] con h > 0. El desarrollo de Taylor
de f en xi de orden 2 y resto de orden 3 queda:
f 00 (xi ) f 000 (α)
f (x) = f (xi ) + f 0 (xi ) · (x − xi ) + · (x − xi )2 + · (x − xi )3 α ∈ (xi , x) o α ∈ (x, xi )
2! 3!
Evaluamos el desarrollo en los puntos xi−1 = xi − h, xi+1 = xi + h
f 00 (xi ) 2 f 000 (α1 ) 3
f (xi+1 ) =f (xi + h) = f (xi ) + f 0 (xi ) · h ·h + ·h+ α1 ∈ (xi , xi+1 )
2! 3!
f 00 (xi ) f 000 (α2 )
f (xi−1 ) =f (xi − h) = f (xi ) + f 0 (xi ) · (−h) + · (−h)2 + · (−h)3 α2 ∈ (xi−1 , xi )
2! 3!
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 32
Nuevamente, podemos observar que los errores vuelven a crecer a partir de un valor de h.
Gráficamente, estamos aproximando la pendiente de la recta tangente en x = 1 a la gráfica
de la función g(x) por la pendiente de la recta tangente en x = 1 a la gráfica del polinomio
interpolador de grado dos, P2 (x), de la función g que pasa por los puntos (1 − h, g(1 −
h)), (1, g(1)), (1 + h, g(1 + h)) como podemos ver en la gráfica
Representación gráfica de la Fórmula de las diferencias centradas h=0.5
8
x
g(x)=e
7 tg
P 2 (x)
6
tP
5 Puntos interpolación
-1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
A partir de las acotaciones anteriores se puede hallar el valor de h para que el error sea menor
o igual que cierta tolerancia δ establecida, pero el efecto de los errores de redondeo en la
aproximación de los valores f (xi+1 ) y f (xi−1 ) es grande, para ello analizaremos el error con
más detalle e intentaremos establecer un tamaño de paso h que haga mı́nimo el error.
Nos centramos en el análisis del error para la fórmula de diferencias centradas (fórmula de dos
puntos) para una función de clase tres en un intervalo [a, b], donde el error de truncamiento es
de orden dos, E = O(h2 ).
Sea f ∈ C 3 ([a, b]), hemos deducido que la derivada en un punto xi ∈ [a, b] serı́a:
Sea M3 la cota de la derivada tercera de f en [a, b], y supongamos que el error de redondeo
está acotado por , es decir
siendo yi+1 , yi−1 los valores computados para f (xi+1 ), f (xi−1 ) respectivamente, entonces el
error absoluto que se comete al calcular f 0 (xi ) serı́a:
por tanto, vemos que el error de redondeo crece cuando h tiende a cero, mientras que el error
de truncamiento tiende a cero cuando h tiende a cero. ¿Existe un valor de h que minimice el
error? Para ello, buscamos los posibles extremos de la función ef (h):
h2 h
ef (h) = + · M3 → e0f (h) = − 2 + · M3
h 6 h 3
r
h 3
C.N. :e0f (h)= 0 → − 2 + · M3 = 0 → h = 3
h 3 M3
r r
00 2 M3 00 3 3 3
C.S. :ef (h) = 3 + → ef >0→h= 3 mı́nimo de ef (h)
h 3 M3 M3
Ejemplo: Siguiendo con el estudio de aproximar el valor de la derivada de la función g(x) = ex
en x = 1, g 0 (1) = e, utilizando MatLab podemos comprobar que el valor de h que minimiza
el error según la expresión anterior, y teniendo en cuenta que = 10−15 y |g 000 (x)| ≤ M3 =
e1.5 ∀x ∈ [0.5, 1.5], es
r r
−15
3 3 3 · 10
h= 3
→H= ≈ 8.747685833488152 · 10−6
M3 e1.5
utilizando este valor de h, podemos aproximar el valor de la derivada mediante la fórmula de
diferencias centradas y el error cometido:
0 g(1 + H) − g(1 − H) g(1 + H) − g(1 − H)
g (1) ≈ = 2.718281828483576, − e ≈ 0.000000000024530
2H 2H
Fórmulas de tres puntos Utilizamos ahora los polinomios de interpolación para estudiar el pro-
blema de la diferenciación numérica y obtener fórmulas con tres puntos.
Sea f ∈ C 3 ([a, b]), y sean x0 , x1 , x2 ∈ [a, b], sabemos que el polinomio de interpolación de grado
dos que pasa por esos tres puntos es
f 000 (c)
f 0 (x) =P20 (x) + ((x − x1 )(x − x2 ) + (x − x0 )(x − x2 ) + (x − x0 )(x − x1 )) +
3!
d
+ (f 000 (cx )) · (x − x0 )(x − x1 )(x − x2 )
dx
siendo
(x − x2 ) + (x − x1 ) (x − x2 ) + (x − x0 ) (x − x1 ) + (x − x0 )
P20 (x) = · f (x0 ) + · f (x1 ) + · f (x2 )
(x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 35
Ejemplo: El agua transcurre por un canal que cruza por tres detectores separados entre sı́ 0.3 m.
Al medir el tiempo necesario para que el agua se desplace del detector (1) al (2) y del (2) al (3)
se obtuvieron 0.0550 s y 0.0554 s, respectivamente. Estima la velocidad del agua cuando cruza
por el detector (2).
Reflejamos los datos en la siguiente tabla
t (s) t0 = 0 t1 = 0.0550 t2 = 0.1104
s(t) (m) 0 0.3 0.6
Se pide la velocidad cuando el agua pasa
por el segundo detector, es decir en t1 = 0.0550, por
tanto debemos estimar v(0.0550) = ds dt t1 =0.0550
. Utilizando la fórmula anterior
2 t1 − t1 − t2 2 t1 − t0 − t2 2 t1 − t0 − t1
v(0.0550) =s0 (t1 ) ≈ · s(t0 ) + · s(t1 ) + · s(t2 ) =
(t0 − t1 )(t0 − t2 ) (t1 − t0 )(t1 − t2 ) (t2 − t0 )(t2 − t1 )
0.0550 − 0.1104 2 · 0.0550 − 0 − 0.1104
= ·0+ · 0.3+
(0 − 0.0550)(0 − 0.1104) (0.0550 − t0 )(0.0550 − 0.1104)
0.0550 − 0
+ · 0.6 = 5.4349 m/s
(0.1104 − 0)(0.1104 − 0.0550)
Si los puntos son equidistantes con tamaño de paso h > 0, entonces sustituyendo:
(1) x0 = xi , x1 = xi+1 = xi + h, x2 = xi+2 = xi + 2h
−3h −2h −h
f 0 (x0 ) =f 0 (xi ) ≈ · f (xi ) + · f (xi+1 ) + · f (xi+2 ) =⇒
(−h)(−2h) (h)(−h) (2h)(h)
−3 2 1 −3f (xi ) + 4f (xi+1 ) − f (xi+2 )
f 0 (xi ) ≈ · f (xi ) + · f (xi+1 ) − · f (xi+2 ) =
2h h 2h 2h
siendo el error
f 000 (c0 ) 2
E= ·h
3
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 36
Intentaremos establecer un tamaño de paso h que haga mı́nimo el error siguiendo los pasos
realizados realizado en la fórmula de diferencias centradas de la aproximación de la derivada.
Sea f ∈ C 4 ([a, b]), hemos deducido que la derivada segunda en un punto xi ∈ [a, b] serı́a:
Sea M4 la cota de la derivada cuarta de f en [a, b], y supongamos que el error de redondeo
está acotado por , es decir
iv
f (x) ≤ M4 ∀ x ∈ [a, b], |f (xi+1 ) − yi+1 | ≤ , |f (xi ) − yi | ≤ , |f (xi−1 ) − yi−1 | ≤
siendo yi+1 , yi , yi−1 los valores computados para f (xi+1 ), f (xi ), f (xi−1 ) respectivamente, en-
tonces el error absoluto que se comete al calcular f 00 (xi ) serı́a:
por tanto, comprobamos de nuevo que el error de redondeo crece cuando h tiende a cero,
mientras que el error de truncamiento tiendo a cero cuando h tiende a cero. Buscamos un valor
de h que minimice el error, es decir, buscamos los posibles extremos de la función e(h):
4 h2 8 h
e(h) = 2
+ · M4 → e0 (h) = − 3 + · M4
h 12 h 6
r
0 8 h 48
C.N. :e (h) = 0 → − 3 + · M4 = 0 → h = 4
h 6 M4
r r
00 24 M4 00 4 48 48
C.S. :e (h) = 4 + →e >0→h= 4 mı́nimo de e(h)
h 6 M4 M4
Ejemplo: Estudiamos el valor de h que minimiza el error, según la expresión anterior, para
aproximar el valor de la derivada segunda de la función g(x) = ex en x = 1, g 0 (1) = e. Teniendo
en cuenta que = 10−15 y |g iv (x)| ≤ M4 = e1.1 ∀x ∈ [0.9, 1.1], utilizando MatLab podemos
comprobar que el valor de h es
r r
−15
48 4 48 · 10
h= 4 →H= ≈ 0.000355532516484
M4 e1.1
utilizando este valor de h, podemos aproximar el valor de la derivada segunda y evaluar el error
cometido:
g(1 + H) − 2g(1) + g(1 − H)
g 00 (1) ≈ = 2.718281852921268
H2
g(1 + H) − 2g(1) + g(1 − H)
− e ≈ 0.000000024462222
H2
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 39
Integración Numérica Z b
En ingenierı́a ocurre muchas veces que o bien no es posible calcular la integral f (x) dx (por
Z a
2
ejemplo e−x dx no se puede expresar en términos de funciones elementales) o bien sólo se dispone
de una tabla de valores de f (por ejemplo cuando f es el resultado de mediciones empı́ricas). Es en
estas situaciones cuando se necesita de métodos numéricos para aproximar el valor de una integral
definida.
Z b
Supongamos que queremos aproximar f (x) dx donde f es una función real de variable real de
a
la que conocemos la siguiente tabla de valores:
x f (x)
x0 f0
x1 f1
.. ..
. .
xn fn
Los valores xi son llamados nodos y fi = f (xi ) para todo i = 0, 1, . . . , n. Empezamos con unas
definiciones previas:
Fórmula de cuadratura
Sea x0 < x1 < x2 < . . . < xn una discretización del intervalo [a, b], y f una función definida
sobre él, se denomina fórmula de integración numérica o de cuadratura a
n
X
Q[f ] = ωk f (xk )
k=0
de forma que Z b
f (x) dx = Q[f ] + E[f ]
a
A E[f ] se le llama error de truncamiento de la fórmula, a {xk / k = 0, . . . , n} se les llama nodos
de integración y a {ωk / k = 0, . . . , n} se les llama pesos de la fórmula.
Si a = x0 y b = xn , hablamos de métodos de integración numérica cerrados. En cambio, si los
extremos del intervalo sobre el que se integra no son nodos para los que se conoce el valor de
la función, se habla de métodos de integración numérica abiertos.
Grado de precisión o exactitud
Rb
Una posible estrategia para encontrar fórmulas de cuadratura es calcular a Pn (x) dx donde
Pn (x) es el polinomio interpolador (de Lagrange) de grado menor o igual que n de f en los
nodos x0 , x1 , . . . , xn . Ambas integrales se parecerán en función de lo que se parezcan función y
polinomio interpolador.
Una estrategia más fina puede ser aproximar la función por distintos polinomios interpoladores
y sumar las integrales de dichos polinomios. Por ejemplo, podrı́amos considerar la aproximación
Z x4 Z x1 Z x3 Z x4
f (x) dx ≈ P1x0 ,x1 (x) dx + P2x1 ,x2 ,x3 (x) dx + P1x3 ,x4 (x) dx,
x0 x0 x1 x3
x f (x)
x0 = a f0
x0 + h = x1 = b f1
Sea P1 (x) el polinomio interpolador de Lagrange de grado n ≤ 1 de f en los nodos x0 , x1 :
Z b Z x1 Z x1
h
f (x) dx = f (x) dx ≈ P1 (x) dx = (f0 + f1 )
a x0 x0 2
h3
f de clase dos, |f 00 (x)| ≤ M2 ∀ x ∈ [x0 , x1 ] ⇒ |E[f ]| ≤ M2
12
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 41
Demostración
x1 x1 x1
x − x1 x − x0
Z Z Z
f (x) dx ≈ P1 (x) dx = f0 + f1 dx =
x0 x0 x0 x0 − x1 x1 − x0
x = x0 + t(x1 − x0 ) = x0 + h · t dx = h dt
Hacemos el cambio de variable (∗) x = x0 → t = 0 x = x1 → t = 1
x − x0 = h · t x − x1 = h(t − 1)
1 1 1
(1 − t)2 t2
h(t − 1) h·t
Z Z
= f0 + f1 h·dt = h ((1 − t)f0 + t · f1 ) dt = h − f0 + f1 =
0 −h h 0 2 2 0
1 1 h
=h f0 + f1 = (f0 + f1 )
2 2 2
Si f de clase dos, |f 00 (x)| ≤ M2 ∀ x ∈ [x0 , x1 ]
Z x1 Z x1 Z x1
Z x1
|E[f ]| =
f (x) dx − P1 (x) dx = (f (x) − P1 (x)) dx = E1 (x) dx =
x0 x0 x0 x0
x1 1 prop.integral M2 h3 1
f 00 (αx ) (∗) 00
Z Z Z
2 f (α t )
= (x − x0 )(x − x1 ) dx = h · t(t − 1) h · dt
≤ |t(t − 1)| dt =
x0 2! 0 2! 2 0
1
M2 h3 1 M2 h3 t2 t3 M2 h3 1 1 h3
Z
= t(1 − t) dt = − = − = M2
2 0 2 2 3 0 2 2 3 12
Ejemplo
Z 1
2 2 x i1 1
f (x) = 2 , I= dx = arc tg = arc tg ≈ 0.4636476090
x +4 0 x2 + 4 2 0 2
x 0 1
h = 1,
f (x) 1/2 2/5
h 1 1 1 2
I ≈ (f0 + f1 ) = (f (0) + f (1)) = + = 0.45
2 2 2 2 5
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 42
x2 − x0 b−a
Regla de Simpson con tamaño de paso h = =
2 2
interpolación mediante un arco de parábola
x f (x)
x0 = a f0
x0 + h = x1 = a+b
2
f1
x0 + 2h = x2 = b f2
Sea P2 (x) el polinomio interpolador de Lagrange de grado n ≤ 2 de f en los nodos equiespa-
ciados x0 , x1 , x2 :
Z b Z x2 Z x2
h
f (x) dx = f (x) dx ≈ P2 (x) dx = (f0 + 4f1 + f2 )
a x0 x0 3
h5
f de clase cuatro, f (iv) (x) ≤ M4 ∀ x ∈ [x0 , x2 ] ⇒ |E[f ]| ≤ M4
90
Demostración
Z x2 x2
(x − x1 )(x − x2 ) (x − x0 )(x − x2 ) (x − x0 )(x − x1 )
Z
P2 (x) dx = f0 + f1 + f2 dx =
x0 x0 (x0 − x1 )(x0 − x2 ) (x1 − x0 )(x1 − x2 ) (x2 − x0 )(x2 − x1 )
x = x 0 + t(x 1 − x 0 ) = x 0 + h · t dx = h dt
x = x0 → t = 0 x = x2 → t = 2
Cambio de variable (∗∗)
x − x0 = h · t x − x1 = h(t − 1)
x − x2 = h(t − 2) x1 − x0 = h, x2 − x0 = 2h
2
h(t − 1)h(t − 2) ht · h(t − 2) ht · h(t − 1)
Z
= f0 + f1 + f2 h · dt =
0 (−h)(−2h) h(−h) 2h · h
Z 2
f0 f2
=h (t − 1)(t − 2) − t(t − 2) · f1 + t(t − 1) dt =
0 2 2
3 2
t2
3 3
t2 f2
t f0 t 2 t
=h − 3 + 2t − − t · f1 + − =
3 2 2 3 3 2 2 0
2 f0 4 2 f2 h
=h · − − · f1 + · = (f0 + 4f1 + f2 )
3 2 3 3 2 3
f de clase cuatro, f (iv) (x) ≤ M4 ∀ x ∈ [x0 , x2 ]
Z x2 Z x2 Z x2
h
E[f ] = f (x) dx − P2 (x) dx = f (x) dx − (f0 + 4f1 + f2 )
x0 x0 x0 3
Derivamos, aplicando el 1er Tma. del cálculo integral, y utilizando el Tma. del valor medio
de Lagrange (1), y después integramos utilizando el Tma. del valor medio de la integral (2)
1 r
ψ 0 (r) = f (x1 +r)+f (x1 −r)− (f (x1 − r) + 4f (x1 ) + f (x1 + r))− (−f 0 (x1 − r) + f 0 (x1 + r)) =
3 3
2 4 r
= (f (x1 − r) + f (x1 + r)) − f (x1 ) − (−f 0 (x1 − r) + f 0 (x1 + r))
3 3 3
2 1 r
ψ 00 (r) = (−f 0 (x1 − r) + f 0 (x1 + r))− (−f 0 (x1 − r) + f 0 (x1 + r))− (f 00 (x1 − r) + f 00 (x1 + r)) =
3 3 3
1 0 r
= (f (x1 + r) − f 0 (x1 − r)) − (f 00 (x1 − r) + f 00 (x1 + r))
3 3
1 1 r
ψ 000 (r) = (f 00 (x1 + r) + f 00 (x1 − r))− (f 00 (x1 − r) + f 00 (x1 + r))− (−f 000 (x1 − r) + f 000 (x1 + r)) =
3 3 3
r (1) r 2
= − (f 000 (x1 + r) − f 000 (x1 − r)) = − · f (iv) (αr ) · 2r = − r2 f (iv) (αr )
3 3 3
Z r Z r 3 r
2 (2) 2 2 s 2
ψ 00 (r) = − s2 f (iv) (αs ) ds = − f (iv) (µr ) s2 ds = − f (iv) (µr ) = − r3 f (iv) (µr )
0 3 3 0 3 3 0 9
Z r Z r 4 r
2 (2) 2 2 s 2
ψ 0 (r) = − s3 f (iv) (µs ) ds = − f (iv) (νr ) s3 ds = − f (iv) (νr ) = − r4 f (iv) (νr )
0 9 9 0 9 4 0 36
Z r Z r 5 r
1 (2) 1 1 s 1
ψ(r) = − s4 f (iv) (νs ) ds = − f (iv) (r ) s4 ds = − f (iv) (r ) = − r5 f (iv) (r )
0 18 18 0 18 5 0 90
Z x2 Z x2
1 M4 5
ψ(h) = − h5 f (iv) (α) =⇒ |E[f ]| = f (x) dx − P2 (x) dx ≤ h
90 x0 x0 90
Proposición El grado de precisión de la regla de Simpson es 3.
Demostración
q(x) = a0 x3 + a1 x2 + a2 x + a3 es un polinomio de grado 3, sabemos que q 000 (x) = 6a0 , por
tanto, Z b Z b
q(x) dx = P3 (x) dx
a a
Z b Z b Z b Z b
(x − x0 )(x − x1 )(x − x2 ) 000
E[q(x)] =
q(x) dx − P2 (x) dx =
E2 (x) dx = q (α) dx =
a a a a 3!
Z b
(x − x0 )(x − x1 )(x − x2 ) (1)
= · 6a0 dx = 0
a 6
Z b
x = a + b−a t dx = b−a dt
(1) (x − a)(x − (a + b)/2)(x − b) · a0 dx = 2 2 =
a x=a→t=0 x=b→t=2
Z 2 4 Z 2
b−a b−a b−a b−a b−a
= a0 t (t − 1) (t − 2) dt = a0 t(t−1)(t−2) dt =
0 2 2 2 2 2 0
4 Z 2 4 4 2 4 4
b−a 3 2 b−a t 3 2 b−a 2 3 2
= a0 (t −3t +2t) dt = a0 −t +t = a0 −2 +2 =0
2 0 2 4 0 2 4
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 44
Ejemplo
Z 1
2 2 x i1 1
f (x) = 2 , I= dx = arc tg = arc tg ≈ 0.4636476090
x +4 0 x2 + 4 2 0 2
x 0 1/2 1
h = 1/2,
f (x) 1/2 8/17 2/5
h 1 1 1 8 2
I ≈ (f0 + 4f1 + f2 ) = (f (0) + 4f (1/2) + f (1)) = +4· + = 0.4637254901
3 6 6 2 17 5
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 45
3 x3 − x0 b−a
Regla 8
de Simpson con tamaño de paso h = =
3 3
interpolación mediante un arco de cúbica
x f (x)
x0 = a f0
x0 + h = x1 f1
x0 + 2h = x2 f2
x0 + 3h = x3 = b f3
Sea P3 (x) el polinomio interpolador de Lagrange de grado n ≤ 3 de f en los nodos equiespa-
ciados x0 , x1 , x2 , x3 :
Z b Z x3 Z x3
3
f (x) dx = f (x) dx ≈ P3 (x) dx= h(f0 + 3f1 + 3f2 + f3 )
a x0 x0 8
(iv) 3h5
f de clase cuatro, f (x) ≤ M4 ∀ x ∈ [x0 , x3 ] ⇒ |E[f ]| ≤
M4
80
Ejemplo
Z 1
2 2 x i1 1
f (x) = 2 , I= dx = arc tg = arc tg ≈ 0.4636476090
x +4 0 x2 + 4 2 0 2
x 0 1/3 2/3 1
h = 1/3,
f (x) 1/2 18/37 9/20 2/5
3h 1
I≈ (f0 + 3f1 + 3f2 + f3 ) = (f (0) + 3f (1/3) + 3f (2/3) + f (1)) =
8 8
1 1 18 9 2
= +3· +3· + = 0.4636824324
8 2 37 20 5
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 46
x f (x)
x0 = a f0
x0 + h = x1 f1
.. ..
. .
x0 + nh = xn = b fn
x ,x
Sea P1 i i+1 (x) el polinomio interpolador de Lagrange de grado ≤ 1 de f en los nodos xi , xi+1 ,
i = 0, . . . , n − 1.
Z xn Z x1 Z xn
x ,xn
f (x) dx ≈ Px10 ,x1 (x) dx + · · · + P1n−1 (x) dx =
x0 x0 xn−1
h
= (f0 + 2f1 + 2f2 + · · · + 2fn−1 + fn )
2
nh3 (b − a)h2
f de clase dos, |f 00 (x)| ≤ M2 ∀ x ∈ [x0 , xn ] ⇒ |E[f ]| ≤ M2 = M2
12 12
Ejemplo Regla compuesta del trapecio para aproximar
Z 2√ √
2−0 1
I= 1 + x5 dx con cuatro segmentos → h = = , f (x) = 1 + x5
0 4 2
Z 2√
x 0 √ 1/2 √1 √3/2 √2
I= 1 + x5 dx = 4.2218 (aprox.Derive)
0 f (x) 1 66/64 2 5 22/8 33
h 1
I≈ (f0 + 2f1 + 2f2 + 2f3 + f4 ) = (f (0) + 2f (1/4) + 2f (1/2) + 2f (3/4) + f (1)) =
2 4
√ √ !
1 66 √ 5 22 √
= 1+2· +2· 2+2· + 33 = 4.3668
4 64 8
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 47
x2n − x0
Regla compuesta de Simpson con tamaño de paso h =
2n
interpolación mediante n arcos de parábola, número impar de nodos
x f (x)
x0 = a f0
x0 + h = x1 f1
.. ..
. .
x0 + 2nh = x2n = b f2n
x ,xi+1 ,xi+2
Para cada i = 0, 2, 4, . . . , 2n − 2 sea P2 i (x) el polinomio interpolador de Lagrange de
grado ≤ 2 de f en los nodos xi , xi+1 , xi+2
Z x2n Z x2 Z x2 n
x ,x2n−1 ,x2n
f (x) dx ≈ P2x0 ,x1 ,x2 (x) dx + · · · + P2 2n−2 (x) dx =
x0 x0 x2n−2
h
= (f0 + 4f1 + 2f2 + 4f3 + 2f4 + 4f5 + 2f6 + · · · + 2f2n−2 + 4f2n−1 + f2n )
3
nh5
f de clase cuatro, f iv (x) ≤ M4 ∀ x ∈ [x0 , x2n ] ⇒ |E[f ]| ≤ M4
90
h 1
I≈ (f0 + 4f1 + 2f2 + 4f3 + f4 ) = (f (0) + 4f (1/4) + 2f (1/2) + 4f (3/4) + f (1)) =
3 6
√ √ !
1 66 √ 5 22 √
= 1+4· +2· 2+4· + 33 = 4.2268
6 64 8
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 48
Otra estrategia para obtener fórmulas de cuadratura es encontrar nodos y pesos de forma que
el grado de precisión o exactitud de la fórmula sea el mayor posible, dando lugar a las fórmulas de
Gauss-Legendre.
Nuestro objetivo es, por tanto, encontrar, para cada N ∈ IN, los nodos xi y los pesos ωi , i = 1, . . . , N ,
que hacen máximo el grado de precisión de la fórmula de integración numérica
N
X
Q[f ] = ωi f (xi ).
i=1
Se descubre lo siguiente :
(1) El grado de precisión máximo es 2N − 1.
(2) Unicidad de los xi y los ωi , i = 1, . . . , N .
(3) Todos los pesos ωi son mayores que cero.
(4) Los nodos xi , i = 1, . . . , N son distintos entre sı́ y pertenecen al intervalo (a, b).
Proposición: existencia y unicidad de nodos y pesos para N = 2
para cualquier polinomio f (x) = a + bx + cx2 + dx3 de grado menor o igual que tres. Además
dicha fórmula no es exacta para algún polinomio de grado cuatro.
Demostración
Z 1
(1) 2 = 1 = ω1 + ω2 =⇒ [A] 2 = ω1 + ω2 .
−1
Z 1
(2) 0 = x = ω1 x1 + ω2 x2 =⇒ [B] ω1 x1 = −ω2 x2 .
−1
Z 1
2
(3) = x2 = ω1 x21 + ω2 x22 =⇒ [C] 2
3
= ω1 x21 + ω2 x22 .
3 −1
Z 1
(4) 0 = x3 = ω1 x31 + ω2 x32 =⇒ [D] ω1 x31 = −ω2 x32 .
−1
x1 6=x2
Dividiendo [D] entre [B] se obtiene x21 = x22 =⇒ x2 = −x1
[A]
Por [C] 2/3 = ω1 x21 + ω2 x22 = x21 (ω1 + ω2 ) =⇒ 1/3 = x21 =⇒ x1 = √1 , x2 = − √13
3
[A]
Por [D] ω1 = ω2 =⇒ ω1 = ω2 = 1. En consecuencia, los valores han de ser
Z 1
1 1 1 1
ω1 = ω2 = 1, x1 = + √ , x2 = − √ → f (x) dx = f √ + f −√
3 3 −1 3 3
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 49
con los siguientes valores para nodos y pesos, y estimación del error:
N Nodos xN,k Pesos ωN,k Error EN (f )
f (iv (c)
2 ± √13 = ±0.5773502692 1 135
q
5
± 35 = ±0.7745966692 9
= 0.5555555556 f (vi (c)
3 8 15750
0 9
= 0.8888888888
q √
± 15+35 120 = ±0.8611363116 0.3478548451 f (viii (c)
4 q √
3472875
± 15−35 120 = ±0.3399810436 0.6521451549
±0.9061798459 0.2369268851
f (x (c)
5 ±0.5384693101 0.4786286705 1237732650
0 0.5688888888
±0.9324695124 0.1713244924
f (xii (c)213 (6!)4
6 ±0.6612093865 0.3607615730 (12!)3 13!
±0.2386191861 0.4679139346
±0.9491079123 0.1294849662
±0.7415311856 0.2797053915 f (xiv (c)215 (7!)4
7 (14!)3 15!
±0.4058451514 0.3818300505
0 0.4179591837
±0.9602898565 0.1012285363
±0.7966664774 0.2223810345 f (xvi (c)217 (8!)4
8 (16!)3 17!
±0.5255324099 0.3137066459
±0.1834346425 0.3626837834
En esta tabla la última columna contiene una estimación del error. El valor c ∈ (−1, 1) depende
en cada caso de f y de N . De acuerdo con estas fórmulas del error la fórmula de Gauss-Legendre
con N nodos es exacta cuando el integrando es un polinomio de grado menor o igual que 2N −1
que es su grado de precisión o exactitud.
Métodos Numéricos en Ingenierı́a Mecánica / Ingenierı́a Quı́mica 50
Se obtiene la igualdad
b 1
b−a a+b b−a
Z Z
f (t) dt = f + x dx
a 2 −1 2 2
mediante el cambio de variable
a+b b−a b−a
t= + x, dt = dx, t = a ↔ x = −1, t = b ↔ x = 1.
2 2 2
En consecuencia, la fórmula de Gauss-Legendre con N nodos para un intervalo arbitrario [a, b]
es
Z b N
b−aX a+b b−a
f (t) dt ≈ ωN,i f + xN,i
a 2 i=1 2 2
x+1 2
1 1
1 −( )
Z Z
−t2 x = 2t − 1 dx = 2dt 2
e 2 dt = = e 2 dx ≈ G2
0 t = 0 → x = −1 t = 1 → x = 1
−1 2
√ !2 √ !2
− 1/3+1 1/3+1
− −
1 1 2 2
G2 = e 2 + e 2 ≈ 0.8553145616
2 2
Aproximación con Derive de la integral 0.8556243918