Apuntes algoritmos

Anuncio
ECUACIONES NO LINEALES
Algoritmos para resolver una ecuación no lineal f (x) = 0, f : [a, b] −→ R, con
f (a)f (b) < 0.
Método de Newton-Bisección
1. Tomar x0 ∈ [a, b]; k = 0; ε > 0;
2.
• Si f (a)f (x0 ) < 0 ⇒ a0 = a, b0 = x0 .
• Si no ⇒ a0 = x0 , b0 = b.
3.
• Si |f ′ (xk )| > εM |f (xk )| ⇒ y k+1 = xk −
f (xk )
.
f ′ (xk )
– Si y k+1 ∈ [ak , bk ] ⇒ xk+1 = y k+1 .
ak + bk
– Si no ⇒ xk+1 =
.
2
ak + bk
• Si no ⇒ xk+1 =
.
2
4.
• Si f (ak )f (xk+1 ) < 0 ⇒ ak+1 = ak , bk+1 = xk+1 .
• Si no ⇒ ak+1 = xk+1 , bk+1 = bk .
5.
• Si |xk+1 − xk | < ε max{1, |xk+1 |} y |f (xk+1 )| < ε ⇒ STOP.
• Si |f (xk+1 )| < εf ⇒ STOP.
• Si no ⇒ volver al paso 3.
NOTAS:
• ε es la precisión que se desea en la solución.
• εf es la precisión con la que se evalúa la función f . Si no se conoce, se debe elegir
3/4
un número mayor que la precisión de la máquina. En algunos casos εf = εM puede
ser un número razonable.
• εM es la precisión de la máquina.
1
Método de Secante-Bisección
1. Tomar x0 = a; x1 = b; a1 = a; b1 = b; ε > 0;
2. Calcular
x2 = x1 −
f (x1 )
.
f (x1 ) − f (x0 )
x1 − x0
3. k = 2.
• Si f (x2 )f (a1 ) < 0 ⇒ a2 = a1 , b2 = x2 , x1 = x0 .
• Si no ⇒ a2 = x2 , b2 = b1 .
4. mk =
f (xk ) − f (xk−1 )
.
xk − xk−1
f (xk )
.
mk
= y k+1 .
• Si |mk | > εM |f (xk )| ⇒ y k+1 = xk −
– Si y k+1 ∈ [ak , bk ] ⇒ xk+1
ak + bk
.
– Si no ⇒ xk+1 =
2
ak + bk
• Si no ⇒ xk+1 =
.
2
5.
• Si f (ak )f (xk+1 ) < 0 ⇒ ak+1 = ak , bk+1 = xk+1 .
• Si no ⇒ ak+1 = xk+1 , bk+1 = bk .
6.
• Si |xk+1 − xk | < ε max{1, |xk+1 |} y |f (xk+1 )| < ε ⇒ STOP.
• Si |f (xk+1 )| < εf ⇒ STOP.
• Si no ⇒ volver al paso 4.
NOTAS:
• ε es la precisión que se desea en la solución.
• εf es la precisión con la que se evalúa la función f . Si no se conoce, se debe elegir
3/4
un número mayor que la precisión de la máquina. En algunos casos εf = εM puede
ser un número razonable.
• εM es la precisión de la máquina.
2
INTERPOLACIÓN
Definición 1 Dados n + 1 puntos distintos {x0 , x1 , . . . , xn } del intervalo [a, b] y una
función f : [a, b] −→ R, se dice que un polinomio p es el polinomio de interpolación
de Lagrange de la función f en los nodos citados si p es de grado n y p(xi ) = f (xi ) para
cada 0 ≤ i ≤ n. Los puntos {xi }ni=0 se llaman nodos de interpolación. La interpolación
se dice lineal si n = 1, cuadrática si n = 2 y cúbica si n = 3.
Teorema 1 El problema de interpolación de Lagrange posee una única solución. Además
ésta viene dada mediante la fórmula
p(x) =
n
∑
f (xi )li (x),
i=0
donde {li }ni=0 son los polinomios de base de Lagrange asociados a los nodos {xi }ni=1 y que
vienen dados por las expresiones
n
∏
li (x) =
j=0
j ̸= i
x − xj
.
xi − xj
Teorema 2 Supongamos que la función f is n + 1 veces derivable en el intervalo [a, b]
y que f (n+1) es una función continua, entonces una cota del error de interpolación de
Lagrange viene dada por la expresión
max |f n+1 (ξ)| ∏
n
ξ∈[a,b]
|f (x) − p(x)| ≤
| (x − xj )|.
(n + 1)!
j=0
A la vista de la fórmula del error dada por el teorema anterior, es natural plantearse
la elección de los nodos {xi }ni=0 de forma que la cantidad
max |
x∈[a,b]
n
∏
(x − xj )|
j=0
sea mı́nima. Esto se consigue tomando los llamados puntos de Chebyshev
xi =
(2i + 1)π
a+b b−a
+
cos
0 ≤ i ≤ n.
2
2
2n + 2
Con esta elección de los nodos se tiene
n
∏
(b − a)n+1
max | (x − xj )| =
.
2n+1
x∈[a,b]
2
j=0
3
Definición 2 Sea f : [a, b] −→ R una función, {x0 , x1 , . . . , xk } k + 1 puntos distintos del
intervalo [a, b] y {α0 , α1 , . . . , αk } k + 1 enteros no negativos. El problema de interpolación
de Hermite consiste en determinar un polinomio de grado ≤ n = k + α0 + α1 + . . . + αk
satisfaciendo
p(j) (xi ) = f (j) (xi ), 0 ≤ j ≤ αi y 0 ≤ i ≤ k.
Teorema 3 El problema de interpolación de Hermite posee una única solución.
Teorema 4 Supongamos que la función f is n + 1 veces derivable en el intervalo [a, b]
y que f (n+1) es una función continua, entonces una cota del error de interpolación de
Hermite viene dada por la expresión
max |f n+1 (ξ)| ∏
k
|f (x) − p(x)| ≤
| (x − xj )αj +1 |.
(n + 1)!
j=0
ξ∈[a,b]
4
INTEGRACIÓN NUMÉRICA
Fórmulas de Newton-Cotes Cerradas
Regla Trapezoidal:
∫ b
b−a
h3
f (x) dx =
[f (a) + f (b)] − f ′′ (ξ)
2
12
a
Regla de Simpson:
∫ b
a+b
h5
b−a
[f (a) + 4f (
) + f (b)] − f (4) (ξ)
f (x) dx =
6
2
90
a
Regla 3/8:
∫ b
2a + b
a + 2b
3h5 (4)
b−a
[f (a) + 3f (
) + 3f (
) + f (b)] −
f (ξ)
f (x) dx =
8
3
3
80
a
Regla de Milne o Boole-Villarceau:
∫ b
b−a
3a + b
a+b
a + 3b
8h7 (6)
f (x) dx =
[7f (a) + 32f (
) + 12f (
) + 32f (
) + 7f (b)] −
f (ξ)
90
4
2
4
945
a
∫
b
f (x) dx =
a
b−a
4a + b
3a + 2b
2a + 3b
a + 4b
[19f (a) + 75f (
) + 50f (
) + 50f (
) + 75f (
)
288
5
5
5
5
275h7 (6)
+19f (b)] −
f (ξ)
12096
Regla de Weddle o Hardy:
∫ b
b−a
5a + b
2a + b
a+b
a + 2b
f (x) dx =
[41f (a) + 216f (
) + 27f (
) + 272f (
) + 27f (
)
840
6
3
2
3
a
a + 5b
9h9 (8)
+216f (
) + 41f (b)] −
f (ξ)
6
1400
5
INTEGRACIÓN NUMÉRICA DE
ECUACIONES DIFERENCIALES
Ecuación a Integrar:
{
y ′ (t) = f (t, y(t)) t ∈ [t0 , t0 + T ]
y(t0 ) = y 0 ,
donde f : [t0 , t0 + T ] × Rn −→ Rn , 0 < T < ∞ y y 0 ∈ Rn . Utilizaremos un par de métodos
Runge-Kutta encajados para controlar el paso en la integración de la ecuación diferencial:
{ n+1
y
= y n + hn Φf (tn , y n , hn ),
ŷ n+1 = y n + hn Ψf (tn , y n , hn ),
el primero de orden p y el segundo de orden q > p.
CONTROL DEL PASO
Se fijan dos parámetros εa y εr que determinan la tolerancia del error de integración en
cada instante tn .
1. Elección de h0 :
1
h0 = max{[εa + εr ∥y 0 ∥] p+1 , hmin }
donde podemos fijar hmin = T /106 por ejemplo.
2. Criterio de aceptación del paso:
Si ∥εn+1 ∥ = ∥y n+1 − ŷ n+1 ∥ ≤ T OL = εa + εr ∥ŷ n+1 ∥ ⇒ se acepta el paso.
3. Reducción del paso tras un fallo: dado
(
rn = 0.9
T OL
∥εn+1 ∥
1
) p+1
se elige
hn → min{rn , rmin }hn ,
tomando rmin ∈ [0.1, 0.5]. (Nosotros tomaremos rmin = 0.5)
4. Previsión del paso siguiente: Si ha habido un fallo del paso en la determinación de
una de las dos últimas aproximaciones de la solución, entonces se toma rmax = 1,
en caso contrario se fija rmax = 5. Se calcula rn como antes y se toma
{
hn
si rn ∈ [1, 1.1]
hn+1 =
min{rn , rmax }hn en otro caso.
6
Descargar