Professional Documents
Culture Documents
UNIVERSIDAD DE EXTREMADURA
06071-BADAJOZ (Spain)
Universidad de Extremadura
Departamento de Matemáticas
3
4 ÍNDICE
3 Sistemas Lineales 41
3.1 Álgebra de matrices . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1 Valores propios y vectores propios . . . . . . . . . . . . 45
3.1.2 Matriz definida . . . . . . . . . . . . . . . . . . . . . . . 45
3.2 Resolución de sistemas de ecuaciones lineales: método de Gauss 46
3.2.1 Método de Gauss . . . . . . . . . . . . . . . . . . . . . . 47
3.2.2 Método de Gauss con pivoteo . . . . . . . . . . . . . . . 49
3.3 Factorización LU. Factorización de Cholesky . . . . . . . . . . . 53
3.3.1 Método de Crout . . . . . . . . . . . . . . . . . . . . . . 55
3.3.2 Método de Cholesky . . . . . . . . . . . . . . . . . . . . 55
3.3.3 Sistemas triangulares . . . . . . . . . . . . . . . . . . . . 55
3.4 Normas y análisis del error . . . . . . . . . . . . . . . . . . . . 57
3.4.1 Número condición de una matriz . . . . . . . . . . . . . 60
3.5 Mejora de soluciones . . . . . . . . . . . . . . . . . . . . . . . . 62
3.5.1 Refinamiento iterativo . . . . . . . . . . . . . . . . . . . 62
3.5.2 Escalamiento . . . . . . . . . . . . . . . . . . . . . . . . 63
3.6 Métodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.6.1 Método de Jacobi . . . . . . . . . . . . . . . . . . . . . 66
3.6.2 Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . 68
3.6.3 Métodos de relajación . . . . . . . . . . . . . . . . . . . 69
4 Aproximación de funciones 71
4.1 Construcción del polinomio interpolador . . . . . . . . . . . . . 71
4.1.1 Método de Lagrange . . . . . . . . . . . . . . . . . . . . 73
4.1.2 Método de Newton . . . . . . . . . . . . . . . . . . . . . 73
4.2 Error del polinomio interpolador . . . . . . . . . . . . . . . . . 74
4.2.1 Elección de nodos. Polinomios de Chebyshev . . . . . . 75
4.3 Interpolación a trozos y con condiciones sobre la derivada . . . 78
4.3.1 Interpolación a trozos . . . . . . . . . . . . . . . . . . . 78
4.3.2 Interpolación con condiciones sobre la derivada . . . . . 79
Problemas 135
Introducción
Pedro Martı́n.
7
Capı́tulo 1
Errores, redondeo,
estabilidad, condicionamiento.
x = αm αm−1 . . . α1 α0 . β1 β2 . . . βn . . . con αi , βj ∈ 0, 1, 2, . . . , 9
x = αm 10m +αm−1 10m−1 +· · ·+α1 10+α0 100 +β1 10−1 +β2 10−2 +· · ·+βn 10−n +. . .
9
10 Capı́tulo 1
Este último compara la magnitud del error cometido con la magnitud del valor
que se pretende estimar y puede interpretarse en términos de %.
Las causas de los errores pueden ser:
• Truncamiento: surgen al sustituir un procedimiento matemático exacto
por uno aproximado. Ejemplo: utilizar un polinomio de Taylor para encontrar
el valor de una función en un punto.
• Redondeo: surgen al sustituir un número exacto por uno aproximado.
Ejemplo: sustituir 1/3 por 0.33333333. Para minimizar este tipo de error se
recurre a las reglas de redondeo:
1.2.2 Condicionamiento
Un problema está mal condicionado si pequeños cambios en los datos pueden
dar lugar a grandes cambios en las respuestas. En ciertos problemas se puede
calcular un número de condición. Si este es grande significa que el problema
está mal condicionado.
Ejemplo: Dado un sistema de ecuaciones lineales en forma matricial Ax =
b, se puede calcular el número de condición ası́:
x + 1.01y = 1
0.99x + y = 1
Errores, redondeo, estabilidad, condicionamiento 13
9 = 2 ∗ (2 ∗ (2 ∗ 1 + 0) + 0) + 1 = 1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 = (1001)2
0.90625 ∗ 2 = 1.81250 1 ∗ 2−1
0.81250 ∗ 2 = 1.625 1 ∗ 2−2
0.625 ∗ 2 = 1.25 1 ∗ 2−3 ⇒
−4
.25 ∗ 2 = 0.5 1∗2
.5 ∗ 2 = 1 1 ∗ 2−5
14 Capı́tulo 1
1.90625 = 1 ∗ 23 + 0 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 + 1 ∗ 2−1 +
+1 ∗ 2−2 + 1 ∗ 2−3 + 0 ∗ 2−4 + 1 ∗ 2−5 = (1001.11101)2
±d1 d2 ...dp Ee
Como
.102 = 1 × 2−1 + 0 × 2−2 = 1/2
los números ±.102 × 2e son
y como
.112 = 1 × 2−1 + 1 × 2−2 = 1/2 + 1/4 = 3/4
los números ±.112 × 2e son
que se almacenarı́a como 0.139 × 101 por truncamiento y 0.140 × 101 por
redondeo.
2. En la resta:
4850 − 4820 = 0.485 × 104 − 0.482 × 104 = 0.003 × 104 = 0.300 × 102
que se almacenarı́a como 0.300 × 102 tanto por redondeo como por trun-
camiento.
que se almacena como 0.793 × 104 por truncamiento y 0.794 × 104 por
redondeo.
16 Capı́tulo 1
Otra fuente de error puede ser el paso de sistema decimal a sistema binario.
Ası́ el número 1/10 en sistema binario es (0.0001100110011001...) 2 .
input s ← 1.0
for k = 1, 2, . . . , 100 do
s ← 0.5s
t ← s + 1.0
if t ≤ 1.0 then
s ← 2.0s
output k-1,s
stop
end if
end
Capı́tulo 2
Resolución de ecuaciones no
lineales
1.5
Dada una función f : R → R, trataremos 1
de encontrar métodos que permitan loca- 0.5
lizar valores aproximados de las soluciones
-10 -8 -6 -4 -2
de f (x) = 0. -0.5
-1
Ejemplo: Dada la ecuación ex −
sen(x) = 0, encuentra la solución más cer- f (x) = ex − sen(x)
cana a 0.
¤
Para resolver ejercicios como el anterior es conveniente recordar los siguien-
tes resultados:
17
18 Capı́tulo 2
f n) (x0 )
Pn,x0 (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + · · · + (x − x0 )n .
n!
Además, para cada x ∈ [a, b] existe un punto θx entre x y x0 tal que
f n+1) (θx )
f (x) − Pn,x0 (x) = (x − x0 )n+1 .
(n + 1)!
f (b) − f (a)
= f 0 (c).
b−a
Resolución de ecuaciones no lineales 19
y además f (r) = 0.
a ≤ a 1 ≤ a 2 ≤ · · · ≤ b 2 ≤ b1 ≤ b
y
1 1
(bn − an ) = (bn−1 − an−1 ) = · · · = n (b − a).
2 2
Por tanto, la sucesión (an )n∈N converge por ser creciente y acotada superior-
mente y la sucesión (bn )n∈N converge por ser decreciente y acotada inferior-
mente. Veamos que sus lı́mites son iguales
1
lim bn − lim an = lim(bn − an ) = lim (b − a) = 0.
n→∞ n→∞ n→∞ 2n
20 Capı́tulo 2
0.5
-0.5
-1
¤
22 Capı́tulo 2
f (x0 )
f (x0 ) + f 0 (x0 )(x − x0 ) = 0 ⇒ x = x0 − .
f 0 (x0 )
Paso 3. Definimos
f (x0 )
x1 = x 0 −
f 0 (x0 )
y repetimos los pasos 1, 2 y 3 sustituyendo el punto xn−1 por el punto xn , es
decir construimos la sucesión
f (xn−1 )
xn = xn−1 − .
f 0 (xn−1 )
f (xn−1 ) x2n−1 − 2
xn = xn−1 − = x n−1 − .
f 0 (xn−1 ) 2xn−1
Resolución de ecuaciones no lineales 23
0.5
8
0.4
6
0.3
4
0.2
2
0.1
-1 1 2 3 4
-2 -2 -1 1 2
f 00 (θn )
0 = f (r) = f (xn ) + f 0 (xn )(−en ) + (−en )2 .
2
Por tanto
f 00 (θn ) 2
en f 0 (xn ) − f (xn ) = en .
2
De modo que
24 Capı́tulo 2
f (xn ) f (xn )
en+1 = xn+1 − r = xn − 0
− r = en − 0 =
f (xn ) f (xn )
en f 0 (xn ) − f (xn ) f 00 (θn )e2n
= ≥0
f 0 (xn ) 2f 0 (xn )
Por lo tanto
f (xn )
xn+1 ≥ r ⇒ f (xn ) ≥ f (r) = 0 ⇒ en+1 = en − ≤ en .
f 0 (xn )
Puesto que xn+1 ≥ r y el error va decreciendo, se concluye que la sucesión
(xn )n∈N es decreciente y acotada inferiormente por r, por lo tanto tiene lı́mite.
Ası́ mismo, la sucesión (en )n∈N es decreciente y acotada inferiormente por 0,
por lo tanto también tiene lı́mite. Se deduce que
¡ f (xn ) ¢
lim en+1 = lim en − 0 =
n→∞ n→∞ f (xn )
f (limn→∞ xn )
lim en − 0 ⇒ f ( lim xn ) = 0 (2.1)
n→∞ f (limn→∞ xn ) n→∞
es decir
n 1 n
C|en | ≤ (Ce0 )2 ⇒ |en | ≤ (Ce0 )2
C
que es una cota del error que se puede obtener previamente a aplicar el método.
Si |Ce0 | < 1, o lo que es lo mismo |e0 | < C1 , siendo e0 = x0 − r, tendremos que
1 n
|en | ≤ (Ce0 )2 → 0
C
con lo que tenemos otro criterio de convergencia del método.
Por tanto
µ ¶2n µ ¶2n
1 1 1
|en | ≤ e0 =2 e0
1/2 2 2
1 1
|en | ≤ (b − a) = n+1 < 10−6
2n+1 2
e−xn − xn
xn+1 = xn −
−e−xn − 1
siendo
maxx∈I |f 00 (x)| maxx∈[0,1] |e−x |
C ≥ = =
2 minx∈I |f 0 (x)| 2 minx∈[1,2] | − e−x − 1|
1 e
= ≈ 0.365529.
2(1/e + 1) 2(e + 1)
Por tanto
n −1 n
|e4 | ≤ C 2 e20 ≤ 0.3715 116 ≈ 0.33 ∗ 10−7
¤
xn−1 − xn−2
xn = xn−1 − f (xn−1 ) .
f (xn−1 ) − f (xn−2 )
Por tanto hay que utilizar dos puntos iniciales en lugar de uno. Es un método
más rápido que el de la bisección pero más lento que el de Newton-Raphson.
√
Ejemplo: Calcula una aproximación de 2, con 4 iteraciones del método
de la secante.
Aplicamos el método a la solución de la ecuación f (x) = x2 − 2 = 0 en el
intervalo [1, 2].
xn−1 − xn−2 xn−1 − xn−2
xn = xn−1 − (x2n−1 − 2) = xn−1 − (x2n−1 − 2) 2
x2n−1 2
− 2 − [xn−2 − 2] xn−1 − x2n−2
¤
28 Capı́tulo 2
con lo que podemos aplicar el método iterativo de punto √ fijo para resolver la
ecuación F (x) = x siendo F (x) = x3 −1 o bien F (x) = 3 1 + x. Construyamos
la sucesión xn = F (xn−1 ) para ambas funciones, comenzando por un punto
del intervalo [1, 2], por ejemplo por x0 = 1 resulta lo siguiente:
xn = F (xn−1 ) x0 x1 x2 x3 x4 x5
x3 − 1
F (x) = √ 1 0 −1 −2 −9 −730
F (x) = 3 1 + x 1 1.2600 1.3123 1.3224 1.3243 1.3246
para todo x, y ∈ [0, 1]. Por tanto la función es contractiva con λ = 1/3.
¤
por lo que
n
X ∞
X
lim xn = x0 + lim (xk − xk−1 ) = x0 + (xk − xk−1 )
n→∞ n→∞
k=1 k=1
P
La serie ∞k=1 (xk − xk−1 ) es convergente porque
¯∞ ¯
¯X ¯ X ∞ ∞
X 1
¯ ¯
¯ (xk − xk−1 )¯ ≤ |xk − xk−1 | ≤ λk−1 (x1 − x0 ) = |x1 − x0 |
¯ ¯ 1−λ
k=1 k=1 k=1
llegando a contradicción. ¤
f (r) − f (xn )
= f 0 (θn ).
r − xn
Resolución de ecuaciones no lineales 31
que es una fórmula que permite calcular una cota de error a priori.
x0 x1 x2 x3 x4 x5
0 4 4.329786082 4.230895147 4.273633799 4.256383406
|f (x5 )| 0.00719542
|e5 | ≤ 2 ≤ = 0.00239847.
minθ∈[−3.5,4.5] | 3 cos(2θ) − 1| 1/3
x2 − 2x + 1 = 0.
¤
Para la localización de raı́ces de polinomios con multiplicidad par (como
en el ejemplo anterior) no podemos emplear el teorema de Bolzano. Sin em-
bargo podemos intentar calcular las raı́ces de otro polinomio con las mismas
soluciones que el nuestro pero todas con multiplicidad 1.
Resolución de ecuaciones no lineales 33
0.8
0.6
0.4
0.2
0.5 1 1.5 2
f (x) = x2 − 2x + 1
P (x)
Q(x) = = an (x − rk )(x − rk−1 ) . . . (x − r1 )
M.C.D(Pn (x), Pn0 (x))
tiene las mismas raı́ces que P (x) pero todas con multiplicidad 1. Bastarı́a
aplicar los métodos a Q(x) para localizar las raı́ces de Pn (x). El problema es
el cálculo de Q(x) y de M.C.D(Pn (x), Pn0 (x)).
34 Capı́tulo 2
Pn (x)
Q(x) =
rk−1 (x)
que es un polinomio que tiene las mismas raı́ces que Pn (x) pero todas simples.
2. Llegamos a un resto rk (x) constante distinto de 0. En este caso la
sucesión de Sturm es
Pn (a), Pn−1 (a), −r1 (a), . . . , −rk (a) Pn (b), Pn−1 (b), −r1 (b), . . . , −rk (b)
es el número de raı́ces de Pn (x) en el intervalo [a, b].
Resolución de ecuaciones no lineales 35
es decir,
A A A
0 > |an | − ⇒ |an | < ⇒ |r| − 1 <
|r| − 1 |r| − 1 |an |
con lo que concluimos que
A
|r| < 1 + .
|an |
A
Si |r| ≤ 1, es trivial que |r| < 1 + |an | .
¤
¤
38 Capı́tulo 2
2 1 −3 4 −5
2 4 10 14 36
2 5 7 18 31
2 4 18 50
2 9 25 68
f (xn )
xn+1 = xn − k .
f 0 (xn )
40 Capı́tulo 2
Sistemas Lineales
41
42 Capı́tulo 3
A es simétrica si At = A.
Si α ∈ R y B es una matriz, podemos realizar las siguientes operaciones:
- Multiplicar una matriz por un número:
α · A = (αaij )1≤i≤m,1≤j≤n .
1 2 3
A = 1 3 3 .
2 4 7
1 2 3 1 0 0
E2 · E 1 · A = 0 1 0 E2 · E1 · Id = −1 1 0
0 0 1 −2 0 1
1 0 3 3 −2 0
E3 · E2 · E1 · A = 0 1 0 E3 · E2 · E1 · Id = −1 1 0
0 0 1 −2 0 1
1 0 0 9 −2 −3
E4 ·E3 ·E2 ·E1 ·A = 0 1 0 E4 ·E3 ·E2 ·E1 ·Id = −1 1 0 = A−1 .
0 0 1 −2 0 1
xt · A · x > 0.
µ ¶
2 1
Ejemplo. La matriz A = es definida positiva.
1 2
Sea (x1 , x2 ) un vector no nulo.
µ ¶ µ ¶ µ ¶
2 1 x1 2x1 + x2
(x1 , x2 ) · · = (x1 , x2 ) · =
1 2 x2 x1 + 2x2
2x21 + x1 x2 + x1 x2 + 2x22 = (x1 + x2 )2 + x21 + x22 > 0.
¤
Si A es una matriz definida positiva y simétrica, entonces los autovalores
de A son todos números reales y positivos.
46 Capı́tulo 3
¯ ¯ ¯ ¯
¯ b1 a12 . . . a1n ¯ ¯ a11 . . . a1n−1 b1 ¯
¯ ¯ ¯ ¯
¯ b2 a22 . . . a2n ¯ ¯ a21 a2n−1 b2 ¯
¯ ¯ ¯ ¯
¯ ... ¯ ¯ ... ¯
¯ ¯ ¯ ¯
¯ bn an2 . . . ann ¯ ¯ a2n . . . ann−1 bn ¯
x1 = , ··· , xn =
|A| |A|
Se dice que dos sistemas de ecuaciones son equivalentes si tienen las mismas
soluciones. En un sistema de ecuaciones se pueden efectuar operaciones ele-
mentales en la matriz de los coeficientes y en la de los términos independientes
y resulta un sistema equivalente. Es decir, resulta un sistema equivalente si
efectuamos alguna de las siguientes operaciones:
obtenemos el sistema
6 −2 2 4 x1 12
0 −4 2 2
x2 = 10 .
0 −12 8 1 x3 21
0 2 3 −14 x4 −26
obtenemos el sistema
6 −2 2 4 x1 12
0 −4 2 2
x2 = 10 .
0 0 2 −5 x3 −9
0 0 4 −13 x4 −21
(fila 4a ) − 2(fila 3a )
obtenemos el sistema
6 −2 2 4 x1 12
0 −4 2 2 x2 10
0 0 2 −5 x3 = −9 .
0 0 0 −3 x4 −3
Paso 2. Elegimos como elemento pivote el término −3.667 de la tercera fila por
ser el de mayor valor absoluto de entre los elementos de la segunda columna.
Obtenemos la matriz
6 1 −6 −5 | 6
0 −3.6667 4 4.3333 | −11
0 1.6667 5 3.6667 | −4
0 2 0 1 | 0
Este sistema se resuelve fácilmente por ser triangular despejando las incógnitas
en orden inverso. Se obtiene la solución:
52 Capı́tulo 3
Ax = LU x = Ly = b.
obtenemos
u11 = 3 u11 = 3
u12 = 1
u12 = 1
u13 = 2
u13 = 2
l21 u12 = 6
l21 = 2
l21 u12 + u22 = 3 ⇒ u22 = 1
l21 u13 + u23 = 2
u23 = −2
l31 u11 = −3
l31 = −1
l31 u12 + l32 u22 = 0
l 32 = 1
l31 u13 + l32 u23 + u33 = −8 u33 = −4
Paso 1.
1 0 0 y1 0 y1 = 0
Ly = b ⇒ 2 1 0 · y2 = 1 ⇒ y2 = 1 .
−1 1 1 y3 2 y3 = 1
Paso 2.
3 1 2 x1 0 x1 = 0
U x = y ⇒ 0 1 −2 · x2 = 1 ⇒ x2 = 12 ,
0 0 −4 x3 1 x3 = −14
a)
60 30 20 l11 0 0 l11 l21 l31
30 20 15 = LLt = l21 l22 0 0 l22 l32
20 15 12 l31 l32 l33 0 0 l33
por tanto √
2
l11 = 60 l11 = √60
l11 l21 = 30
l21 = √60/2
l11 l31 = 20 l = √60/3
2 l2 ⇒ 31
l21 22 = 20
l22 = √5
l21 l31 + l22 l32 = 15
l 32 = √5
2 + l2 + l2
l31 32 33 = 12 l33 = 3/3
1. kvk ≥ 0 (v = 0 ⇔ kvk = 0)
2. kv + wk ≤ kvk + kwk
3. kαvk = |α|kvk.
58 Capı́tulo 3
2. Norma del máximo o norma infinito: k(x, y, z)k∞ = max(|x|, |y|, |z|)
¤
La norma de un vector mide la ”distancia”de ese vector al origen. La
distancia entre dos vectores se mide con la norma del vector diferencia. Las
normas del ejemplo son diferentes formas de ”medir”las distancias entre los
vectores de R3 .
Puesto que el conjunto Mn×n de las matrices cuadradas de orden n, con
las operaciones suma y producto por un número real es un espacio vectorial,
para ”medir”matrices también se utilizarán normas que, por tanto, tendrán
que verificar las condiciones de la definición de norma. Si además de esas
condiciones se verifica que
kA · Bk ≤ kAkkBk A, B ∈ Mn×n
Ejemplos:
1. La norma matricial inducida por la norma vectorial 1 en R3 es
° °
° a11 a12 a13 ° Xn
° °
kAk1 = °
°
a21 a22 a23 ° = max1≤j≤n
° |aij |.
° a31 a32 a33 ° i=1
1
° °
° 3 1 2 °
° °
De modo que °
°
6 3 2 ° = max(12, 4, 12) = 12.
°
° −3 0 −8 °
1
2. La norma matricial inducida por la norma vectorial 2 en R3 es
p
kAk2 = ρ(At · A).
° °
° a11 a12 a13 ° Xn
° °
kAk∞ =°
°
a21 a22 a23 ° = max1≤i≤n
° |aij |.
° a31 a32 a33 ° j=1
∞
60 Capı́tulo 3
° °
° 3 1 2 °
° °
De modo que °
°
6 3 2 ° = max(6, 11, 11) = 11.
°
° −3 0 −8 °
∞ qP
4. Se define la norma matricial de Fröbenius como kAk = 2.
1≤i,j≤n |ai,j |
Teorema:
1 krk kek krk
≤ ≤ k(a) .
k(a) kbk kxk kbk
1 krk kek
Demostración. Veamos que k(a) kbk ≤ kxk . Se verifica que
Por tanto
kek krk
≤ kAkkA−1 k .
kxk kbk
¤
Si k(A) están cerca de 1 el sistema estará bien condicionado porque el error
kek
relativo en la solución kxk será similar al error relativo krk
kbk en los datos. Si por
el contrario k(A) es muy grande, el sistema puede estar mal condicionado y
pequeños cambios en los datos podrán producir grandes cambios en la solución.
3.02 −1.05 2.53 x1 2
Ejemplo: Dado el sistema 4.33 0.56 −1.78
x2 = 3
−0.83 −0.54 1.47 x3 5
1. Encuentra el número de condición de la matriz A de los coeficientes con
k · k∞ .
con lo que
k(a) = kAkkA−1 k = 6.67 · 1138.68 = 7595.
b) Se verifica que
es decir
kek
2.63 · 10−5 krk ≤ ≤ 1591krk
kxk
¤
62 Capı́tulo 3
875 420 210 140 105 0.999988 −1.05000000 · 10−4
539 210 140 105 84 1.000137 −7.0000000 · 10−5
r=
399−140 105 84 70 0.999670 = −3.5000000 · 10−5 .
319 105 84 70 60 1.000215 −4.8000000 · 10−5
2. Resuelvo
420 210 140 105 e1 −1.05 · 10−4
210 140 105 84 e2 −7.0 · 10−5
140 105 84 70 e3 = −3.5 · 10−5
105 84 70 60 e4 −4.8 · 10−5
3.5.2 Escalamiento
Si en un sistema de ecuaciones los coeficientes de las incógnitas son de muy
diferente magnitud, la solución numérica del sistema puede contener errores.
0.00002x1 + x2 = 1
x1 + x 2 = 2
redondeando a 4 decimales
x2 = 1
x1 + x 2 = 2
aplicando el pivoteo
x1 + x 2 = 2
x2 = 1
y las soluciones son x1 = y x2 = 1.
¤
64 Capı́tulo 3
Ax = b ⇔ (M − N )x = b ⇔ M x = N x + b ⇔ x = M −1 (N x + b)
M xk = N xk−1 + b.
Es esencial que M sea una matriz regular y es conveniente que sea una matriz
sencilla para facilitar el cálculo.
La condición que asegura la convergencia es la siguiente.
Sistemas lineales 65
Por tanto
¤
66 Capı́tulo 3
0 ··· 0
a11 0 · · · 0 a21 0 · · ·
0 a22 0 0
··· 0
D=
, L = a31 a32 0
··· 0
···
···
0 ··· 0 ann
an1 an2 · · · ann−1 0
0 u12 · · · u1n
0 0 u23 · · · u2n
U =
···
0 ··· 0 un−1n
0 ··· 0 0
Para aplicar el método se requiere que aii 6= 0 para todo i. Si |A| 6= 0, esto se
puede conseguir intercambiando filas si fuese necesario.
El método converge si kM −1 N k < 1 para alguna norma matricial. Puesto
que
−a12 −a13 −a1n
0 a11 a11 ··· a11
−a21 0 −a23
··· −a2n
−1
M N = a 22 a 22 a22
···
−an1 −ann−1
ann ··· ann 0
y
Sistemas lineales 67
¡ Pn ¢ 1
kM −1 N k∞ = max1≤i≤n j=1,j6=i |aij | aii ,
Por tanto
6x11 = 0 x11 = 0
2x2 = 1 ⇒ x12 = 12
1
3x13 = 0 x13 = 0
El siguiente vector serı́a x1 = (0, 1/2, 0).
¤
68 Capı́tulo 3
Tendremos que
6 0 0 0 2 0
D + L = 0 5 0 U = 0 0 1 .
2 0 3 0 0 0
• Super-relajación si w > 1
• Gauss-Seidel si w = 1.
Aproximación de funciones
71
72 Capı́tulo 4
a0 + a1 x0 + a2 x20 + · · · + an xn0 = y0
a0 + a1 x1 + a2 x21 + · · · + an xn1 = y1
···
a0 + a1 xn + a2 xn + · · · + an xnn = yn
2
Ejemplo: Demuestra que existe un polinomio que pasa por los puntos de
la tabla
x −1 0 1 2
y −2 −2 0 4
Como son 4 puntos buscaremos un polinomio de grado menor o igual que
3 de la forma Pn (x) = a0 + a1 x + a2 x2 + a3 x3 . El sistema que resulta es
Que es un sistema compatible determinado y que, por tanto, tiene una única
solución, es decir, existe un único polinomio de grado menor o igual que 3 que
pasa por los puntos de la tabla. Dicho polinomio es P (x) = −2 + x + x2 .
¤
Aproximacion de funciones 73
donde
Πj6=i (x − xj ) (x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
Li (x) = = .
Πj6=i (xi − xj ) (xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
Se verifica que
Li (xi ) = 1 Li (xj ) = 0 ∀i 6= j
de modo que
n
X
Pn (xj ) = Li (xj )yi = yj .
i=0
[x0 , x1 , x2 ] = [x1 , x0 , x2 ].
es decir
f n+1) (θx )
f n+1) (θx ) − λ(n + 1)! = 0 ⇒ λ = .
(n + 1)!
Como consecuencia
f n+1) (θx )
f (x) − Pn (x) = w(x).
(n + 1)!
|f 10) (θx )| 9 1
|f (x) − P9 (x)| ≤ |Πi=0 (x − xi )| ≤ < 2.8 · 10−7
10! 10!
¤
Estos serı́a los nodos en el intervalo [−1, 1]. Para calcular los nodos en el
intervalo [2, 8] necesitamos una transformación afı́n αx+β que lleve el intervalo
Aproximacion de funciones 77
[−1, 1] → [2, 8]
−1 7→ α(−1) + β = 2
1 7→ α(1) + β = 8
Resolviendo el sistema formado por las dos últimas ecuaciones, obtenemos que
la transformación es 3x + 5. Aplicamos esta transformación a los nodos de
Chebyshev y obtenemos los nuevos nodos en el intervalo [2, 8] :
Veamos las cotas de los errores para la función f (x) = sin(x) en cada caso.
Para el intervalo [−1, 1] :
1 1
|f (x) − P (x)| ≤ max |f n+1) (t)| ≤ 3
2n (n + 1)! |t|≤1 2 (4)!
¤
¿Es cierto que si n aumenta el polinomio Pn (x) se ”parece”más a la fun-
ción f (x)? En general la respuesta es que no. Por ejemplo, dada función
1
f (x) = 1+x 2 en [−5, 5], si elegimos los nodos xi igualmente espaciados, se pue-
de demostrar que los polinomios no convergen a la función fuera del intervalo
[−3.63, 3.63]. (Ver figura 4.1)
Otro ejemplo es la función f (x) = |x| en [−1, 1], en la cual la convergencia
se produce solo en los puntos −1, 0, 1.
Sin embargo, si elegimos los nodos de Chebyshev y la función f (x) a in-
terpolar es continua y con derivada continua, entonces Pn (x) converge uni-
formemente a f (x) en todo el intervalo. No obstante, para cualquier elección
de nodos es posible encontrar una función continua tal que no se produce esa
convergencia uniforme.
78 Capı́tulo 4
2 2
1.5 1.5
1
1
0.5
0.5
-4 -2 2 4
-4 -2 2 4
-0.5
1
Figura 4.1: 1+x2 y sus polinomios interpoladores de grado 10 y 20.
0.5
1 2 3 4 5 6
-0.5
-1
Aproximacion de funciones 79
x −1 0 1 2
y −2 −2 0 4
Puesto que son tres las condiciones que tenemos, cabe pensar que basta
buscar entre los polinomios con tres parámetros, es decir, los polinomios de
grado 3 de la forma P (x) = a + bx + cx2 :
P (0) = 0 a = 0 a = 0
P (1) = 1 ⇒ b+c = 1 ⇒ b+c = 1
P 0 (0.5) = 2 b + 2 · c · 0.5 = 2 b+c = 2
El sistema anterior no tiene solución, con lo que habrı́a que buscar entre los
polinomios de grado 4. Al plantear las ecuaciones correspondientes resulta un
sistema con solución no única.
¤
Ejemplo 2 (Interpolación de Hermite): Encuentra un polinomio P (x) que
interpole a una función y = f (x) sabiendo que
x −1 0 1
y 1 1 −1
y0 2 0 0
Puesto que hay seis condiciones para la función y sus derivadas buscamos
entre los polinomios de la forma P (x) = a0 + a1 x + · · · + a5 x5 que tienen seis
80 Capı́tulo 4
P (−1) = 1 P 0 (−1) = 2 a0 = 1 a3 = −3
P (0) = 1 P 0 (0) = 0 ⇒ a1 = 0 a4 = 21
P (1) = 0 P 0 (1) = 0 a2 = −3
2 a5 = 2
x −1 0 1
y 1 1 −1
y0 2 0 0
0.5
-1 -0.5 0.5 1
-0.5
-1
con lo que ½
1 + 2x2 + 2x3 si x ∈ [−1, 0]
g(x) =
1 − 6x2 + 4x3 si x ∈ [0, 1]
(Ver Figura 4.2)
¤
Ejemplo 5 (Splines cúbicos): Encuentra una función polinómica cúbica a
trozos que sea de clase C 2 (continua, derivable y con derivada segunda conti-
nua) que verifique las siguientes condiciones
x −1 0 1
y 1 1 −1
0.5
-1 -0.5 0.5 1
-0.5
-1
Interpolación de Hermite
Un problema de interpolación de Hermite consiste en encontrar un polinomio
P (x) (Polinomio de Hermite) tal que
k)
siendo yi , yi0 , · · · , yi los valores de una cierta función y sus derivadas en n + 1
puntos. Si el número de condiciones impuestas es k1 + k2 + · · · + kn = m + 1
entonces
es cierto. Un polinomio P (x) que sea solución del sistema P j) (xi ) = 0 verifica
que tiene la raı́z xi repetida ki veces, con lo que si P (x) no es cero, serı́a de
grado mayor o igual que m + 1, en contradicción con la hipótesis inicial.
¤
Ejercicio: ¿Qué otro nombre recibe el polinomio de Hermite cuando solo
hay un nodo?
¤
¤
El polinomio de Hermite se puede calcular usando las diferencias divididas.
Para ello definimos
y − y0 f (x) − f (x0 )
[x0 , x0 ] = limx→x0 [x0 , x] = limx→x0 = limx→x0 = f 0 (x0 )
x − x0 x − x0
[x0 , x1 ] − [x0 , x0 ]
[x0 , x0 , x1 ] =
x1 − x 0
1 2) 1
f (x0 ) [x0 , x0 , x0 , x0 ] = f 3) (x0 )
[x0 , x0 , x0 ] =
2! 3!
Y de forma similar el resto de diferencias. En estas condiciones el polinomio
de interpolación de Hermite se calcula de forma parecida a como se calculaba
el polinomio de interpolación sin condiciones sobre la derivada.
El cálculo es más sencillo haciendo uso de una tabla. Por ejemplo, si el
problema de Hermite incluye datos sobre la función y su derivada en tres
puntos la tabla quedarı́a ası́:
x y 10 20 30 40 50
x0 y0 [x0 , x0 ] [x0 , x0 , x1 ] [x0 , x0 , x1 , x1 ] [x0 , x0 , x1 , x1 , x2 ] [x0 , . . . , x2 ]
x0 y0 [x0 , x1 ] [x0 , x1 , x1 ] [x0 , x1 , x1 , x2 ] [x0 , x1 , x1 , x2 , x2 ]
x1 y1 [x1 , x1 ] [x1 , x1 , x2 ] [x1 , x1 , x2 , x2 ]
x1 y1 [x1 , x2 ] [x1 , x2 , x2 ]
x2 y2 [x2 , x2 ]
x2 y2
84 Capı́tulo 4
siendo
1 k)
[x0 , x0 , . . . , x0 ] = k! f (x0 ) .
k veces
El polinomio serı́a
x −1 0 1
y 1 1 −1
y0 2 0 0
x y 1 0 20 30 40 50
-1 1 2 −2 2 −3/2 2
-1 1 0 0 −1 5/2
0 1 0 −2 4
0 1 −2 2
1 -1 0
1 -1
El polinomio serı́a
P (x) = 1+2(x+1)−2(x+1)2 +2(x+1)2 x−3/2(x+1)2 x2 +2(x+1)2 x2 (x−1)
¤
Ejemplo: Calcula el polinomio que verifica las siguientes condiciones:
x 1 2
y 2 6
y0 3 7
y 00 8
Aproximacion de funciones 85
x y 10 20 30 40
1 2 3 1 2 −1
1 2 4 3 1
2 6 7 8/2!=4
2 6 7
2 6
El polinomio serı́a
P (x) = 2 + 3(x − 1) + 1(x − 1)2 + 2(x − 1)2 (x − 2) − 1(x − 1)2 (x − 2)2 .
¤
Splines
Una función spline de grado k con nodos x0 ≤ x1 ≤ · · · ≤ xn es una función
S(x) definida a trozos tal que:
Se pueden elegir otras condiciones distintas del spline natural o del periódico.
Sin embargo, los splines natural y periódico existen y son únicos para cualquier
conjunto de nodos y de datos. Además, si la función a interpolar f (x) tiene
derivada segunda continua en [x0 , xn ], entonces
Z b Z b
[S 00 (x)]2 dx ≤ [f 00 (x)]2 dx,
a a
siendo S(x) el spline natural. Es decir, de entre todas las funciones con deriva-
da segunda continua que pasan por ciertos puntos (x0 , y0 ), (x1 , y1 ), . . . , (xn , yn )
el spline natural es el que tiene menor energı́a elástica (menor tensión1 ).
Por otra parte, si aumentamos el número de puntos a interpolar en el
intervalo [a, b] (n → ∞) disminuyendo simultáneamente el tamaño máximo de
los subintervalos [xi , xi+1 ] (max0≤i≤n [xi , xi+1 ] → 0), entonces el spline natural
y su derivada convergen uniformemente a f (x) y f 0 (x) respectivamente.
Rb
1
La tensión o energı́a elástica en [a, b] es proporcional a a
[f 00 (x)]2 dx.
Capı́tulo 5
Diferenciación e integración
numérica
f (x + h) − f (x)
f 0 (x) ≈
h
87
88 Capı́tulo 5
f 00 (θ) 2
f (x + h) = f (x) + f 0 (x)h + h
2!
es decir
f (x + h) − f (x) h 00
f 0 (x) = − f (θ).
h 2
El error al aproximar f 0 (x) por f 0 (x) = f (x+h)−f
h
(x)
, llamado error de trunca-
miento, es
h
error = − f 00 (θ) (fórmula de orden h)
2
siendo θ un número entre x y x + h. Cuanto menor sea h, mejor será la
aproximación de f 0 (x), hasta que el error de redondeo impida la mejora.
π
Ejemplo: Estima el valor de la derivada de cos(x) en el punto 4 y calcula
una cota del error cometido.
f (x + h) − f (x − h)
f 0 (x) ≈ .
2h
h2 000
error = − f (θ) (fórmula de orden h2 ).
6
Para estimar el valor de una derivada segunda podemos usar la fórmula
f (x + h) − 2f (x) + f (x − h)
f 00 (x) = .
h2
Veamos la estimación del error. Por el teorema de Taylor
h2 00 h3 000 h4 4)
f (x + h) = f (x) + f 0 (x)h + 2 f (x) + 6 f (x) + 24 f (θ1 )
h2 00 h3 000 h4 4)
f (x − h) = f (x) − f 0 (x)h + 2 f (x) − 6 f (x) + 24 f (θ2 )
.
h2 4)
error = f (θ) (fórmula de orden h2 )
12
90 Capı́tulo 5
Si x = xk
n ·
X ¸
0 1
f (xk ) = f (xi )L0xi (xk ) + f n+1) 0
(θxk )w (xk ) .
(n + 1)!
i=0
Y como
n
X
0
w (x) = Πnj=0,j6=i (x − xj ) ⇒ w0 (xk ) = Πnj=0,j6=k (xk − xj )
i=0
nos queda
n
X
0
£ ¤ 1
f (xk ) = f (xi )L0xi (xk ) + f n+1) (θxk )Πnj=0,j6=k (xk − xj )
(n + 1)!
i=0
h a2 a4 a6
f 0 (x) = Φ( ) + 2 h2 + 4 h4 + 6 h6 + . . .
2 2 2 2
y multiplicando por 4
h a4 a6
4f 0 (x) = 4Φ( ) + a2 h2 + h4 + 4 h6 + . . . (5.2)
2 4 2
Diferenciación e integración 93
h 3a4 4 15a6 6
3f 0 (x) = 4Φ( ) − Φ(h) − h − h
2 4 16
que, despejando f 0 (x), da origen a la fórmula de aproximación
· ¸
0 4 h 1 4 a4 5a6 2
f (x) ≈ Φ( ) − Φ(h) con error = h − − h − ...
3 2 3 4 16
√
Ejemplo: Siendo f (x) = arctan(x), calcula f 0 ( 2) haciendo uso de la
extrapolación de Richarson.
Tomamos h = 0.1.
f (x + h) − f (x − h)
f 0 (x) ≈ Φ(h) =
√ 2h √
f ( 2 + 0.1) − f ( 2 − 0.1)
= = 0.3339506968
2 · 0.1
y
f 0 (x) ≈ Φ(h/2) = 0.3334876594
Usando la extrapolación
Φ(h/2) − Φ(h)
f 0 (x) ≈ Φ(h/2) + = 0.3333333136
3
(El valor exacto es 1/3).
¤
94 Capı́tulo 5
4 h −a4
Si en la fórmula (5.1.2) denotamos Ψ(h) = 3 Φ( 2 ) − 13 Φ(h), b4 = 4 ,
b6 = −5a
16 , . . . obtenemos la expresión
6
h6
16f 0 (x) = 16Ψ(h/2) + b4 h4 + b6 + ... (5.4)
4
Restando (5.4)-(5.3) nos queda
h6
15f 0 (x) = 16Ψ(h/2) − Ψ(h) − 3b6 + ...
4
y al despejar f 0 (x)
16 1 h6
f 0 (x) = Ψ(h/2) − Ψ(h) − b6 + . . .
15 15 20
da origen a la fórmula
· ¸
0 16 1 6 1
f (x) ≈ Ψ(h/2) − Ψ(h) con error =h −b6 + . . .
15 15 20
Aplicamos la fórmula (5.1.2) con h y h/2 para obtener las dos primeras
aproximaciones de orden 2
√ √
arctan( 2 + 0.1) − arctan( 2 − 0.1)
Φ(0.1) = = 0.33395069677432
2 · 0.1
√ √
arctan( 2 + 0.05) − arctan( 2 − 0.05)
Φ(0.05) = = 0.33348765942111
2 · 0.05
A partir de esos dos valores y aplicando la fórmula (5.1.2) calculamos la apro-
ximación Ψ(h) que es de orden 4
Φ(0.05) − Φ(0.1))
Ψ(0.1) = Φ(0.05) + = 0.33333331363671
3
Calculando Φ(h/4) (Φ(0.025) = 0.33337191390106) podremos también calcu-
lar Ψ(h/2)
Φ(0.025) − Φ(0.05)
Ψ(0.05) = Φ(0.025) + = 0.33333333206104
3
y a partir de estos dos valores obtenemos la aproximación Ω(h)
Ψ(0.05) − Ψ(0.1)
Ω(0.1) = Ψ(0.05) + = 0.33333333328933.
15
¤
En general, el proceso de extrapolación de Richarson puede resumirse ası́:
tendrı́amos que
Z b Z b n
X Z b
f (x)dx ≈ p(x)dx = f (xi ) lxi (x)
a a i=0 a
1 1
0.8
0.5
0.6
0.4 -3 -2 -1 1 2
0.2 -0.5
-1 1 2 -1
0.23
| − 2.248151272255559 | = 0.00149876751484.
12
¤
para un cierto ξ ∈ [a, b]. Por ser una fórmula de Newton-Côtes con tres puntos
es exacta para polinomios de grado menor o igual que 2; pero además es exacta
para los polinomios de grado menor o igual que 3, ya que el término del error
contiene el factor f 4) (ξ).
Diferenciación e integración 99
b−a
El caso n = 3, h = 3 y xi = x0 + ih, se conoce como la regla de
Simpson 3/8:
Z b
3h 3h5
f (x)dx ≈ [f (x0 ) + 3f (x1 ) + 3f (x2 ) + f (x3 )] con error − f 4) (ξ)
a 8 80
para un cierto ξ ∈ [a, b]. Es mejor usar la regla de Simpson 1/3 que la de
3/8, puesto que ambas son de orden 5 y | − 1/90| < | − 3/80|. En general
es preferible usar una regla con n par (número impar de puntos) que con n
impar.
R 0.2 2
Ejemplo: Calcula 0 ex dx con la fórmula de Newton-Côtes con n = 2
(regla de Simpson 1/3).
Z 0.2
2 0.2/2 0 2 2
ex dx ≈ [e + e0.1 + e0.2 ] = 0.2027
0 3
Sabiendo que si x ∈ [0, 0.2] entonces
2 2 2
|f 4) (x)| = |12ex + 48ex x2 + 16ex x4 | ≤ |f 4) (0.2)
2 2 2
= |12e0.2 + 48e0.2 0.22 + 16e0.2 0.24 | = 14.5147,
Es equivalente a sustituir f (x) por una función que interpole a f (x) y que
esté formada por trozos de lı́nea. Si los puntos están igualmente espaciados
100 Capı́tulo 5
(h = xi − xi−1 = b−a
n , xi = a + ih con i = 1, 2, . . . , n), la regla del trapecio
compuesta nos queda
Z b
h
f (x)dx ≈ [f (x0 ) + 2f (x1 ) + · · · +2f (xn−1 ) + f (xn )]
a 2
h2
con error − (b − a)f 00 (ξ)
12
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
-1 1 2 -1 1 2
R 0.2 2
Ejemplo: Calcula un valor aproximado de 0 ex dx mediante la regla
del trapecio compuesta.
Si tomamos tres puntos x0 = 0, x1 = 0.1 y x2 = 0.2
Z 0.2
2 0.1 h 0 2 2
i
ex dx ≈ e + 2e0.1 + e0.2 = 0.201085
0 2
Una cota del error serı́a
¯ ¯ ¯ ¯
¯ 0.12 2 2 ¯ ¯ 0.12 ¯
¯− x x ¯ ¯ 00 ¯
¯ 12 (0.2 − 0)(e (2 + 4e ))¯ ≤ ¯− 12 0.2 · f (0.2)¯ = 0.00187346
¤
Diferenciación e integración 101
Z b
h
f (x) ≈ [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (x4 ) + . . .
a 3
+ 4f (xn−1 ) + f (xn )]
o lo que es lo mismo
n
Z b X
2
la fórmula tendrá que ser exacta para los polinomios 1, x y x2 que forma una
base del conjunto de los polinomios de grado menor o igual que 2:
R1
1 = 1dx = A0 + 1A1 + A2
1
R 01
2 = R 0 xdx = 0A0 + 12 A1 + A2
1 1 2 1
3 = 0 x dx = 0A0 + 4 A1 + A2
la fórmula sea exacta para los polinomios de grado menor o igual que 3, es
decir, para 1, x, x2 y x3 :
R1 3
x dx = 0 = A1 t31 + A2 t32
R−1
1
x2 dx = 23 = A1 t21 + A2 t22
R−1
1
xdx = 0 = A1 t1 + A2 t2
R−1
1
−1 1dx = 2 = A 1 + A2
Z 1
r r
1 1
f (x)dx = f (− ) + f( )
−1 3 3
2
calculando las raı́ces del polinomio de Legendre de grado 2 (L2 = 3x 2−x ). Pos-
teriormente calcuları́amos los coeficientes Ai planteando un sistema de ecua-
ciones. En todo caso se obtendrı́a
Z π Z 1 ³π
2 π´ π
sen(x)dx = sen t+ dt =
0 −1 4 4 4
" Ã r ! Ã r !#
π π 1 π π 1 π
= sen (− )+ + sen ( )+ ≈ 0.99847.
4 4 3 4 4 3 4
R(0, 0)
R(1, 0) R(1, 1)
R(2, 0) R(2, 1) R(2,2)
R(3, 0) R(3, 1) R(3,2) R(3,3)
...
R(M, 0) R(M, 1) R(M, 2) R(M, 3) . . . R(M, M )
Rb
donde, si queremos aproximar a f (x)dx
1
R(0, 0) = (b − a) [f (a) + f (b)]
2
(Regla del trapecio para 20 intervalos)
2 n−1
1 b−a X b−a
R(n, 0) = R(n − 1, 0) + n f (a + (2i − 1) n )
2 2 2
i=1
(Regla del trapecio para 2n intervalos)
1
R(n, m) = R(n, m − 1) + m [R(n, m − 1) − R(n − 1, m − 1)]
4 −1
(Extrapolación de Richarson)
(5.7)
La última fórmula se obtiene aplicando la extrapolación de Richarson que
es un proceso que ya hemos utilizado en otra ocasión. El factor 4m1−1 depende
Diferenciación e integración 105
del orden de convergencia del método empleado, en este caso la regla del
trapecio. Rb
Cada valor R(i, j) se considera una aproximación a a f (x)dx. A partir
de la aproximación R(n, m − 1) que se considera que mejora a la anterior
R(n − 1, m − 1), se construye otra mejor aproximación R(n, m):
1
R(n, m) = (+exacta) + [(+exacta) − (-exacta)] .
4m −1
Teorema: Si f (x) es una función continua en [a, b] entonces la sucesión que
Rb
se obtiene en cada columna del método de Romberg converge a a f (x)dx.
REjemplo:
2 x2
Aplica el método de Romberg para obtener una aproximación
de 0 e dx.
¤
106 Capı́tulo 5
REjemplo:
2 2
Aplica el método de Romberg para obtener una aproximación
de 0 x dx.
Obtenemos
R2 la tabla siguiente en donde a mejor aproximación obtenida
serı́a 0 x2 dx ≈ 2.6667.
REjemplo:
0.5 −x2
Aplica el método de Romberg para obtener una aproximación
de 0.2 e dx.
T
T[ xi , xi+1 ] = (xi+1 − xi ).
(b − a)
Rx
• Si la diferencia entre las dos estimaciones de xii+1 f (x)dx es menor que
Rx
T[xi ,xi+1 ] se estima definitivamente xii+1 f (x)dx por extrapolación. En
caso contrario se divide el intervalo en dos subintervalos disjuntos.
Rb
• Se estima a f (x)dx:
Z b n Z
X xi+1
f (x)dx = f (x)dx
a i=0 xi
R1 1
Ejemplo: Fijado un valor de tolerancia T = 0.02, calcula 0.2 x2 dx usando
la regla de Simpson.
R1
Paso 3. Hasta ahora tenemos dos aproximaciones a 0.2 x12 dx, a saber:
S1 [0.2, 1] y S2 [0.2, 0.6] + S2 [0.6, 1]. Calculo la diferencia entre ambas estima-
ciones:
RPaso
1
4. Estudiamos el intervalo [0.6, 1]. Tenemos la estimación S2 [0.6, 1]
de 0.6 x12 dx y obtenemos otra sumando los resultados obtenidos al aplicar la
regla de Simpson en los intervalos [0.6, 0.8] (S3 [0.6, 0.8] = 0.41678477) y en
[0.8, 1] (S3 [0.6, 1] = 0.25002572). Comparamos ambas estimaciones:
S2 [0.6, 1]−(S3 [0.6, 0.8] + S3 [0.8, 1]) = 0.66851852−0.66681049 = 0.001708 < T [0.6,1] = 0.01
S2 [0.2, 0.6] − (S3 [0.2, 0.4] + S3 [0.4, 0.6]) = 0.161111 > T[0.2,0.6] = 0.01.
Diferenciación e integración 109
RPaso
0.6
6. Estudiamos el intervalo [0.4, 0.6]. Tenemos la estimación S3 [0.4, 0.6]
de 0.4 x12 dx y obtenemos otra sumando los resultados obtenidos al aplicar la
regla de Simpson en los intervalos [0.5, 0.6] (S4 [0.4, 0.5] = 0.50005144) y en
[0.5, 0.6] (S4 [0.5, 0.6] = 0.33334864). Comparamos ambas estimaciones:
S3 [0.4, 0.6] − (S4 [0.4, 0.5] + S4 [0.5, 0.6]) = 0.000859 < T[0.4,0.6] = 0.005
RPaso
0.4 1
7. Estudiamos el intervalo [0.2, 0.4]. Tenemos la estimación S3 [0.2, 0.4]
de 0.2 x2 dx y obtenemos otra sumando los resultados obtenidos al aplicar la
regla de Simpson en los intervalos [0.2, 0.3] y [0.3, 0.4]. Comparamos ambas
estimaciones:
S3 [0.2, 0.4] − (S4 [0.2, 0.3] + S4 [0.3, 0.4]) > T[0.2,0.4] = 0.005.
RPaso
0.4
8. Estudiamos el intervalo [0.3, 0.4]. Tenemos la estimación S4 [0.3, 0.4]
de 0.3 x12 dx y obtenemos otra sumando los resultados obtenidos al aplicar la
regla de Simpson en los intervalos [0.3, 0.35] y [0.35, 0.4]. Comparamos ambas
estimaciones:
S4 [0.3, 0.4] − (S5 [0.3, 0.35] + S5 [0.35, 0.4]) = 0.0002220 < T[0.3,0.4] = 0.0025.
110 Capı́tulo 5
RPaso
0.3
9. Estudiamos el intervalo [0.2, 0.3]. Tenemos la estimación S4 [0.2, 0.3]
de 0.2 x12 dx y obtenemos otra sumando los resultados obtenidos al aplicar la
regla de Simpson en los intervalos [0.2, 0.25] y [0.25, 0.3]. Comparamos ambas
estimaciones:
S4 [0.2, 0.3] − (S5 [0.2, 0.25] + S5 [0.25, 0.3]) < T[0.2,0.3] = 0.0025.
¤
Tabla diferenciación e integración numérica
Derivación
f 0 (x) = f (x+h)−f
h
(x)
− h2 f 00 (ξ)
2
f 0 (x) = f (x+h)−f
2h
(x−h)
− h6 f 000 (ξ)
2
f 00 (x) = f (x+h)−2fh(x)+f
2
(x−h)
− h12 f 4) (ξ)
Pn 1
f 0 (xk ) = i=0 f (xi )Li0 (xk ) (n+1)!
f n+1) (ξxk )Πj=0,j6
n
=k (xk − xj )
R(0, h) = f (x+h)−f 2h
(x−h)
R(n, h) = R(n − 1, h/2) + 4n1−1 [R(n − 1, h/2) − R(n − 1, h)]
Integración
Pn R b
i=0 ( a li (x)dx)f (xi )
h
2
[f (x0 ) + f (x1 )] − 1 h3 f 00 (ξ)
12
h 1 5 4)
3
[f (x 0 ) + 4f (x1 ) + f (x2 )] − 90 h f (ξ)
3h
8
[f (x ) + 3f (x ) + 3f (x ) + f (x )]
0 1 2 3 − 3 h5 f 4) (ξ)
80
h
2
[f (x0 ) + 2f (x1 ) + 2f (x2 ) + · · · + 2f (xn−1 ) + f (xn )] − (b−a)
12
h2 f 00 (ξ)
h
3
[f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + · · · +q 4f (xn−1 ) q+ f (xn )] − (b−a)
180
h4 f 4) (ξ)
f (− 31 ) + f ( 31 )
R(n, m) = R(n, m − 1) + 1 [R(n, m − 1) − R(n
4m£−1 ¤ − 1, m − 1)]
1
Si+1 [a, b] + 15 Si+1 [a, b] − Si [a, b]
1
Capı́tulo 6
Resolución numérica de
ecuaciones diferenciales
Ejemplo:
ecuación orden grado
y 0 = y tan(x + 3) 1 1
(y 0 )2 = y tan(x + 3) 1 2
y 00 = y tan(x + 3) 2 1
¤
La solución general de una EDO es una familia de funciones que verifican
la EDO. En general, la solución general de una EDO de orden k es una familia
de funciones que depende de una parámetro k.
113
114 Capı́tulo 6
3
Ejemplo: La ecuación y 0 = y 1/3 tiene como solución general y = ( 23 x) 2 +C
3
con C ∈ R. Una solución particular es y = ( 32 x) 2 + 4 y una solución singular
es y = 0.
¤
0
Si una EDO de primer orden F (x, y(x), y (x)) = 0 se puede expresar de la
forma y 0 = f (x, y(x)) entonces
Teorema: Si f (x, y) y ∂f ∂y
(x,y)
son continuas en un rectángulo D del plano
R y (x0 , y0 ) ∈ D, entonces existe una única solución de la ecuación y 0 =
2
−y
Ejemplo: Encuentra dónde tiene solución única la ecuación y 0 = x .
Sea f (x, y) = −y
x . La gráfica de dicha función aparece en la figura 6.1.
f (x, y) es continua en R2 − {x = 0}. ∂f ∂y (x,y)
= −1
x es continua también en
R − {x = 0}.
2
5
2.5 10
0
-2.5 5
-5
-10 0
-5
0 -5
5
10 -10
y
Figura 6.1: La función f (x, y) = x
Por ejemplo
y 0 = −2x − y y(0) = −1.
h2 hk
y(xi+1 ) = y(xi + h) ≈ y(xi ) + y 0 (xi )h + y 00 (xi ) + · · · + y k) (xi ) +
2 k!
Los valores de la función y(x) y de sus derivadas en xi son desconocidos en
general, por lo que hay que sustituirlos por aproximaciones:
y(xi ) ≈ yi
0
y (xi ) ≈ f (xi , yi )
d f (xi , yi )
y 00 (xi ) ≈
dx
...
dk-1 f (xi , yi )
y k) (xi ) ≈
d xk−1
A la hora de derivar f (x, y) respecto de x hay que tener en cuenta que es una
función de dos variables y que y es función de x. De modo que, denotando
fx y fy a las derivadas parciales de f (x, y) respecto x e y, tendrı́amos, por
ejemplo que
d f (x, y)
= fx (x, y) + fy (x, y)y 0 (x, y) = fx (x, y) + fy (x, y)f (x, y).
dx
Elegido, el tamaño del paso h, el método de Taylor paso a paso serı́a el
siguiente:
Paso 1. Partimos del punto x0 , obtenemos una aproximación de y(x1 )
yi+1 = yi + f (xi , yi )h
6.2.2 Errores
Al resolver numéricamente una ecuación diferencial aparecen varios tipos de
errores:
5. error total
Ecuaciones diferenciales 119
y 00 (xi ) 2 y k) (xi ) k
y(xi + h) ≈ y(xi ) + y 0 (xi )h + h + ··· + h
2! k!
elimina esa dificultad. Las ideas que dan origen a este conjunto de métodos
se resumen en los siguientes pasos:
Paso 1. Consideramos la igualdad
Z xi+1 Z xi+1
0
y(xi+1 ) − y(xi ) = y (x)dx = f (x, y(x))dx.
xi xi
y despejamos y(xi+1 )
Z xi+1 Z xi+1
y(xi+1 ) = y(xi ) + y 0 (x)dx = f (x, y(x))dx.
xi xi
A0 + A 1 + · · · + A m = 1
Las fórmulas de cuadraturas usadas en (6.4) han de ser exactas al menos para
las funciones constantes, por lo tanto los coeficientes deben verificar
siendo
yiθ0 = yi £ ¤
yiθ1 = yi + h£B01 f (xiθ0 , yiθ0 ) ¤
yiθ2 = yi + h B02 f (xiθ0 , yiθ0 ) + B12 f (xiθ1 , yiθ1 )
... £
yiθm = yi + h B0m f (xiθ0 , yiθ0 ) + B1m f (xiθ1 , yiθ1 ) + . . . ¤
m f (x
· · · + Bm−1 iθm−1 , yiθm−1 )
0 = θ 0 ≤ θ1 ≤ θ2 ≤ . . . θm ≤ 1
122 Capı́tulo 6
ası́ como los siguientes parámetros que han de cumplir con las condiciones de
las sumas correspondientes que aparecen en el cuadro
Pm
A0 A1 A2 ... Am r=0 Ar = 1
B01 B0 2 B0m
£1 1 ¤
yi+1 = yi + h f (xi , yi ) + f (xi+1 , yi + hf (xi , yi )) (6.6)
2 2
θ0 = 0, θ1 = 1/2
Ecuaciones diferenciales 123
A0 = 0 A1 = 1 A 0 + A1 = 1
1
B0 = 1/2
B01 = θ1 = 1/2
yi+1 = yi + h[f (xiθ1 , yiθ1 )]
siendo
yi0 = yi
yi1/2 = yi + h 12 f (xi , yi )
con lo que el método queda
¡ h h ¢
yi+1 = yi + hf xi + , yi + f (xi , yi ) (6.7)
2 2
θ0 = 0, θ1 = 2/3
A0 = 1/4 A1 = 3/4 A 0 + A1 = 1
1
B0 = 2/3
B01 = θ1 = 2/3
1 3 ¤
yi+1 = yi + h[ f (xiθ0 , yiθ0 ) + f (xiθ1 , yiθ1 )
4 4
siendo
yiθ0 = yi £ ¤
yiθ1 = yi + h 23 f (xiθ0 , yiθ0 )
con lo que el método queda ası́
1 3 2 2 ¤
yi+1 = yi + h[ f (xi , yi ) + f (xi + h, yi + h f (xi , yi )
4 4 3 3
0 = θ0 θ1 = 1/2 θ2 = 1/2 θ3 = 1
124 Capı́tulo 6
P3
A0 = 1/6 A1 = 1/3 A2 = 1/3
A3 = 1/6 r=0 Ar =1
B01 = 1/2 B02 = 0
B03 = 0
B12 = 1/2
B13 = 0
B3 = 1
1 2 2
P2 2 3
B0 = 1/2 B0 + B1 = 1/2 k=0 Bk = 1
que da lugar a
h
yi+1 = yi + (K1 + 2K2 + 2K3 + K4 ) (6.8)
6
donde
K1 = f (xi , yi ) K2 = f (xi + h2 , yi + h2 K1 )
h h
K3 = f (xi + 2 , yi + 2 K2 ) K4 = f (xi + h, yi + hK3 )
¤
6.3.1 Errores
Los métodos de Runge-Kutta tienen también su error de truncamiento global,
es decir, su orden. Existen métodos de Runge-Kutta de orden k con k menor
o igual que el número de etapas m + 1. Se da la igualdad para k = 1, 2, 3, 4.
Es decir, los métodos de Runge-Kutta de 1,2,3,4 etapas tienen orden 1,2,3,4,
respectivamente. Para conseguir orden k = 5 es necesario 6 etapas; para k = 6,
7 etapas; en general para k ≥ 7 se necesitan un número de etapas mayor o
igual que k + 2.
y 0 = f (x, y) y(x0 ) = y0 .
con lo que
y(xi+1 ) − y(xi−1 )
y(xi ) ≈
2h
y se deduce que
y(xi+1 ) ≈ y(xi−1 ) + 2 h y 0 (xi ),
lo que sugiere el método
Para poder obtener el punto yi+1 son necesarios los dos valores anteriores yi ,
yi−1 . Es un método de dos pasos. Para empezar a aplicarlo tenemos que
disponer de y0 e y1 . Este último puede calcularse con un método de un paso.
¤
y nos queda
£
y(xi+1 ) − y(xi ) ≈ h A0 f (xi + θ0 h, y(xi + θh))+
+ A1 f (xi + θ1 h, y(xi + θh))+
¤
+ · · · + Ak f (xi + θk h, y(xi + θk h)) (6.10)
£3 1 ¤
yi+1 = yi + h f (xi , yi ) − f (xi−1 , yi−1 ) (6.11)
2 2
θ0 = 0 θ1 = −1
θ = 1, θ0 = 0, θ1 = −1, ..., θk = −k + 1
∗
1. Método predictor-corrector. Se estima un primer valor predictor y i+1
mediante una fórmula de Adams-Bashforth del mismo orden y después se
calcula el valor corrector yi+1 aplicando
∗
yi+1 = yi + Bf (xi+1 , yi+1 ) + A0 f (xi , yi ) + A1 f (xi−1 , yi−1 ) + . . .
· · · + Ak−1 f (xi−k+1 , yi−k+1 ).
£1 1 ¤
yi+1 = yi + h f (xi+1 , yi+1 ) + f (xi , yi ) (6.13)
2 2
θ0 = 1 θ1 = 0
1
y la solución del sistema anterior es A0 = 2 y A1 = 21 . Sustituyendo en (6.10)
nos queda
£1 1 ¤
y(xi+1 ) − y(xi ) ≈ h f (xi+1 , y(xi+1 )) + f (xi , y(xi )
2 2
lo cual sugiere el método
£1 1 ¤
yi+1 = yi + h f (xi+1 , yi+1 ) + f (xi , yi .
2 2
¤
yx − x2
y0 = y(1) = 2
x2
Φ1 (y1 ) = y1 .
Φ1 (t) = t.
t0 = y1∗ = 1.98474
t1 = Φ1 (1.98474) = 1.98473
t2 = Φ1 (1.98473) = 1.98473
Ejercicio:
1. Deduce la fórmula de Adams-Bashforth de orden 4:
h£
yi+1 = yi + 55f (xi , yi ) − 59f (xi−1 , yi−1 )+
24 ¤
+ 37f (xi−2 , yi−2 ) − 9f (xi−3 , yi−3 )
y úsala para resolver la ecuación
yx − x2
y0 = y(1) = 2
x2
con h = 1/128
2. Repite el apartado anterior para la fórmula de Adams-Moulton de orden
4:
h£
yi+1 = yi + 9f (xi+1 , y(i + 1)) + 19f (xi , yi )−
24 ¤
− 5f (xi−1 , yi−1 ) + f (xi−2 , yi−2 )
¤
Ejercicio: Usa la identidad
Z xi+2
y(xi+2 ) − y(xi ) = y 0 (x)dx
xi
¤
Problemas
Ecuaciones no lineales
1. Dada la ecuación √
xsen(x) − x3 + 2 = 0
encuentra una aproximación de una raı́z
(a) x3 − x − 1 = 0
(b) 4 − x − tg(x) = 0
Realiza 4 iteraciones del método y determina en cada caso una cota del
el error cometido.
(a) Prueba que dicha ecuación tiene, al menos, una raı́z positiva.
(b) Encuentra un intervalo en el cual la iteración
p
xn = 1 + sen(xn−1 ) x ∈ N
135
136 Problemas
(a) Determina el valor de k para que la ecuación tenga una única raı́z
triple en el intervalo [0, 1].
(b) Para k = 3, prueba que posee una única raı́z simple en el intervalo
[0, 1] y calcúlala con el método de Newton con un error menor que
10−3 .
(a) Utiliza la sucesión de Sturm para separar las raı́ces del polinomio.
(b) Utiliza el método de Newton-Raphson para encontrar una aproxi-
mación de la raı́z real de P (x) de menor valor absoluto.
(a) Demuestra que tiene una única solución en el intervalo [−2, 0].
(b) Encuentra una aproximación a la solución mediante tres iteraciones
del método del punto fijo partiendo del punto x0 = −1.5
(b) Aplica tres iteraciones del método de la secante para encontrar una
raı́z de f (x) en el intervalo [0.5, π/4].
0.5x1 − x2 = −9.5
0.28x1 − 0.5x2 = −4.72
22. Dados
4 −3 0 −7 14
A= 2 2 3
b = −2 b =0 9
6 1 −6 6 −8
−4x1 + 2x2 = 0
x1 − 4x2 = −4
x2 − 4x3 + x4 = −11
x3 − 4x4 + x5 = 5
2x4 − 4x5 = 6
30. De la función f (x, t) que representa una onda que se desplaza sobre el
plano se conocen cinco posiciones en un determinado instante:
(−1, 0), (−0.5, −1), (0, 0), (0.5, 1), (1, 0).
x0 = 1 f (x0 ) = 0
x1 = 4 f (x1 ) = 1.3863
x2 = 6 f (x2 ) = 1.7918
x 0 1 2 3
y 1 1 0 10
144 Problemas
(a) Trapecios.
(b) Simpson 1/3.
(c) Simpson 3/8.
(d) Trapecios compuestos.
(e) Simpson compuesto.
(f) Romberg.
40. Determina el número deR 1subintervalos que deben tomarse para aproximar
√
el valor de la integral 0.5 cos( x)dx con un error menor que 12 10−2
R1
42. Calcula 0 sen(x2 )dx:
(a) con un error menor que 10−2 con el método de los trapecios com-
puestos
(b) con un error menor que 10−2 con el método de Simpson compuesto,
(c) con el algoritmo de Romberg hasta R(4, 4),
(d) con el método de cuadratura adaptativa con nivel de tolerancia
10−3 .
R2
43. Repite el ejercicio anterior con 1 e1/x dx.
R1
44. (a) Calcula la integral 0 sen(x2 )dx mediante cuadratura gaussiana de
dos términos.
R1
(b) Plantea cómo resolver el problema de calcular la 0 sen(x2 )dx me-
diante cuadratura gaussiana de tres términos. Calcula la integral
sabiendo que los nodos (ti ) en este caso son las raı́ces del polinomio
5x3 −3x
2 .
45. Aplica algún método de integración numérica para resolver las siguientes
integrales:
R1 sen(x) R1 cos(x)−ex R∞
(a) 0 x dx (b) −1 sen(x) dx (c) 1 (xex )−1 dx.
sea exacta para todos los polinomios de grado tan alto como sea posible.
¿Cuál es el grado máximo?
L0 (x) = 1, L1 (x) = x,
y 0 + 2y = x2 + 2x y(0) = 1