Parte 8. Ecuaciones diferenciales ordinarias

Anuncio
Parte 8. Ecuaciones diferenciales ordinarias
Gustavo Montero
Escuela Técnica Superior de Ingenieros Industriales
Universidad de Las Palmas de Gran Canaria
Curso 2006-2007
El problema del valor inicial
Planteamiento del problema
Sea la ecuación diferencial
0
y = f (x, y ),
x ∈ [x0 , x0 + a]
con la condición inicial y (x0 ) = η.
Supondremos que se cumple la condición de existencia y unicidad de la solución:
I
I
f es continua en [x0 , x0 + a] × R
Condición de Lipschitz en y
˛
˛
˛
˛
˛f (x, y ) − f (x, y ∗ )˛ ≤ L ˛y − y ∗ ˛
∀x ∈ [x0 , x0 + a] , ∀y , y
∗
∈ R, con L ≥ 0
Los métodos más utilizados son los de discretización, en los que se obtiene el valor de la solución en unos puntos
determinados, generalmente equidistantes,
a
xi = x0 + i h,
con h = ,
i = 0, 1, . . . , n
n
Clasificación de los métodos
Si yi+k se obtiene en función de las k soluciones anteriores (yi , . . . , yi+k−1 ), el método se denomina de k pasos.
Dentro de los métodos de 1 paso,
I
I
Si yi+1 = Ωi (yi ),
i = 0, 1, . . . , n − 1, el método es explı́cito
Si Ωi (yi+1 , yi ) = 0, hay que resolver una ecuación para cada i = 0, 1, . . . , n − 1 (método implı́cito)
Método de Euler
Conceptos preliminares
I
Si g es una función continua en el intervalo cerrado y acotado [x0 , x0 + a], dado δ > 0 cualquiera, se
conoce como módulo de continuidad de la función g para δ a la cantidad,
˛
˛
∗ ˛
∗
∗˛
ω(δ, g ) = max ˛g (x) − g (x )˛ ,
x, x ∈ [x0 , x0 + a] , ˛x − x ˛ ≤ δ
I
Para toda función g continua en [x0 , x0 + a] se verifica,
lim ω(δ, g ) = 0
δ→0
I
Si una sucesión {an } de números reales no negativos verifica ∀n ≥ 0, an+1 ≤ (1 + A)an + B, con
A ≥ 0, B ≥ 0 constantes independientes de n, se tiene
Si A > 0 ⇒
an ≤ a0 e
Si A = 0 ⇒
I
nA
+
en A − 1
A
an ≤ a0 + n B,
B,
∀n ≥ 0
∀n ≥ 0
Se define error de truncatura o de discretización acumulado del método a la diferencia entre la solución
exacta y la aproximada
ei = y (xi ) − yi
Método de Euler
Estudio del error
Si f es continua en [x0 , x0 + a] × R y verifica la condición de Lipschitz, el error de discretización ei del método de
Euler es tal que
eL i h − 1
I
si L > 0
|ei | ≤
I
si L = 0
|ei | ≤ i h ω(h, y 0 )
L
ω(h, y 0 )
i = 0, 1, . . . , n
i = 0, 1, . . . , n
La demostración se basa en los lemas anteriores.
Estudio de la convergencia
I
Un método se dice que es convergente si se verifica,
„
lim
h→0
I
max
i=0,1,...,n
«
|yi − y (xi )| = 0
El método de Euler tal y como se ha definido en convergente
Método de Taylor de orden k
Método de Taylor de orden 2
El método de Euler coincide con el caso particular más sencillo del método de Taylor (hasta la derivada primera).
Si se desarrolla hasta el término de la segunda derivada, resulta el método de Taylor de segundo orden
yi+1
=
yi + hf
y0
=
η
(0)
(xi , yi ) +
Error local de orden O(h3 ) y global de O(h2 ).
h2 (1)
f (xi , yi ),
2!
i = 0, 1, . . . , n − 1
Formulación general de los métodos de Runge-Kutta
Fórmulas generales
La formulación de los métodos de Runge-Kutta para k evaluaciones es,
yi+1 = yi + h Φ(xi , yi , h),
siendo
Φ(x, y , h)
=
k
X
i = 0, 1, . . . , n − 1
cj Kj
j=1
K1
=
f (x, y )
Kj
=
f (x + h aj , y + h
j−1
X
bjl Kl ),
j = 2, 3, . . . , k
l=1
con cj , aj y bjl elegidos adecuadamente. El método es consistente, es decir Φ(x, y , 0) = f (x, y ), si
Kj = f (x, y ),
Casos particulares
k
X
cj = 1
j=1
Se estudian en general los métodos que surgen de considerar 1, 2 y 4 evaluaciones
I
I
I
Si k = 1 obtenemos el método de Euler.
Si k = 2 podemos obtener varios métodos: método de Euler Mejorado, de Euler Modificado y de Heun.
Si k = 4 obtenemos el método de Runge-Kutta de cuarto orden.
Métodos de Runge-Kutta de orden 2
Método de Euler Mejorado del Punto Medio
yi+1
=
yi + hf
y0
=
η
«
„
h
h
xi + , yi + f (xi , yi ) ,
2
2
i = 0, 1, . . . , n − 1
Error local de orden O(h3 ) y global de O(h2 ).
Método de Euler Modificado
yi+1
=
yi +
y0
=
η
h
2
[f (xi , yi ) + f (xi , yi + hf (xi , yi ))] ,
i = 0, 1, . . . , n − 1
Error local de orden O(h3 ) y global de O(h2 ).
Método de Heun»
yi+1
=
yi +
y0
=
η
h
4
f (xi , yi ) + 3f
Error local de orden O(h3 ) y global de O(h2 ).
„
«–
2
2
,
xi + h, yi + hf (xi , yi )
3
3
i = 0, 1, . . . , n − 1
Método de Runge-Kutta de orden 4
Algoritmo de Runge-Kutta de cuarto onden
yi +
h
yi+1
=
K1
=
(K1 + 2K2 + 2K3 + K4 ) ,
6
f (xi , yi )
K2
=
f (xi +
K3
=
f (xi +
K4
=
f (xi +
y0
=
η
h
2
h
2
h
2
, yi +
, yi +
, yi +
Cumple la condición de Lipschitz con M = L +
h
2
h
2
h
L2
2
2
i = 0, 1, . . . , n − 1
K1 )
K2 )
K3 )
h0 . Error local de orden O(h5 ) y global de O(h4 ).
Introducción
Definición
Un método adaptativo es aquel que adapta el número y posición de los nodos que utilizan en la aproximación para
mantener el error local dentro de unos lı́mites definidos a priori.
Control del error mediante el tamaño del paso
Supongamos que aplicamos dos métodos de órdenes n y n + 1 para resolver el problema de valor inicial,
yi+1
e
yi+1
n
=
yi + hΦ(xi , yi , h) con un error local |y (xi ) − yi | < Kh
=
e i,e
e hn+1
e
yi + hΦ(x
yi , h) con un error local |y (xi ) − e
yi | < K
Entonces si ei representa el error local de un método, se tiene ei+1 = (e
yi+1 − yi+1 ) + e
ei+1
Como ei+1 es de orden O(hn+1 ) y e
ei+1 es de orden O(hn+2 ), es evidente que |e
yi+1 − yi+1 | = Mhn+1 ,
|e
yi+1 − yi+1 |
de donde M =
hn+1
q n |e
yi+1 − yi+1 |
Si ahora usamos un tamaño de paso qh se debe satisfacer |y (xi + qh) − yi+1 | < M(qh)n =
<
h
Luego
"
#1/n
h
q<
|e
yi+1 − yi+1 |
Método de Runge-Kutta-Fehlberg
Algoritmo de Runge-Kutta-Fehlberg
Utiliza un método de Runge-Kutta de onden 5,
16
6656
28561
9
2
e
yi+1 = yi +
K1 +
K3 +
K4 +
K5 +
K6
135
12825
56430
50
55
para estimar, utilizando la cota anterior, el error local de un método de Runge-Kutta de orden 4,
25
1408
2197
1
yi+1 = yi +
K1 +
K3 +
K4 − K5
216
2565
4104
5
siendo
„
«
h
1
xi + , yi + K1 ,
4
4
«
3h
3
9
+
, yi +
K1 +
K2 ,
8
32
32
«
12h
1932
7200
7296
+
, yi +
K1 +
K2 +
K3 ,
13
2197
2197
2197
«
3680
845
439
K1 − 8K2 +
K3 +
K4 ,
+ h, yi +
216
513
4104
«
h
8
3544
1859
11
+ , yi −
K1 + 2K2 +
K3 +
K4 −
K5
2
27
2565
4104
40
K1
=
hf (xi , yi ),
K3
=
hf
„
xi
K4
=
hf
„
xi
K5
=
hf
„
xi
K6
=
hf
„
xi
K2 = hf
Método de Runge-Kutta-Fehlberg
Tamaño de paso
El tamaño de paso teórico tiende a ser muy conservador. El más utilizado es
"
q=
I
I
h
#1/4
2|e
yi+1 − yi+1 |
Si q < 1, se rechaza la elección inicial para el paso i-ésimo y se repiten los cálculos usando qh.
Si q ≥ 1, se acepta el valor calculado en el paso i-ésimo con paso h y se cambia el tamaño de paso a qh
para el paso (i + 1)-ésimo.
Método Pblackictor-Corrector de Adams con paso
variable
Algoritmo
Consiste en utilizar el método explı́cito de Adams-Bahforth de Cuatro Pasos como pblackictor y el implı́cito de
Adams-Moulton de Tres Pasos como corrector
Control del error mediante el tamaño de paso
El resultado teórico resulta
2
q<4
270
31/4
h
19 |yi+1 − y (0) |
i+1
5
,
aunque en la práctica se suele utilizar un valor más conservador debidos a las aproximaciones realizadas en el
proceso de obtención de la cota de q,
2
q = 1.5 4
31/4
h
|yi+1 −
(0)
yi+1 |
5
Generalidades
Planteamiento del problema
Consideremos el siguiente problema lineal,
00
0
x ∈ [a, b]
y (x) = p(x) y (x) + q(x) y (x) + r (x)
con las condiciones de contorno
o bien
y (a) = α,
y (a) = α,
y (b) = β
y 0 (b) = β
(condiciones tipo Dirichlet)
(condiciones tipo mixtas)
Resolución por diferencias finitas
Se trata de sustituir y 00 , y 0 por valores aproximados utilizando los esquemas estudiados para derivación numérica,
conduciendo finalmente a un sistema de ecuaciones donde las incógnitas son los valores de y en los puntos del
intervalo [a, b] donde se ha planteado los esquemas de derivación.
Existencia y unicidad de solución
Supongamos que en el problema de contorno anterior con condiciones Dirichlet se verifica,
I
I
I
p(x) y 0 (x) + q(x) y (x) + r (x), p(x) y q(x) son continuas en R.
p(x) está acotada.
q(x) es positiva ∀x ∈ [a, b].
entonces la solución existe y es única.
Método de diferencias finitas
Problema general
Consideremos el problema general,
00
0
x ∈ [a, b]
A(x) y (x) + B(x) y (x) + C (x) y (x) = D(x)
con condiciones de contorno de expresadas de forma general,
0
a1 y (a) + a2 y (a)
0
b1 y (b) + b2 y (b)
=
r
=
s
siendo A(x), B(x), C (x) y D(x), funciones continuas en [a, b], A(x) 6= 0 en [a, b] y a1 , a2 , b1 , b2 ∈ R, donde a1
y b1 no se anulan simultáneamente.
Discretización de la ecuación de segundo orden
Utilizaremos esquemas de orden 2 para aproximar la primera y segunda derivada en puntos xi del interior de [a, b],
yi+1 − yi−1
2
0
+ O(h )
y (xi ) =
2h
00
y (xi ) =
yi+1 − 2yi + yi−1
h2
2
+ O(h )
Luego, denotando Ai = A(xi ), Bi = B(xi ), Ci = C (xi ) y Di = D(xi ), la ecuación diferencial en xi resulta,
yi+1 − 2yi + yi−1
yi+1 − yi−1
Ai
+ Bi
+ Ci yi = Di
i = 1, 2, . . . , n − 1
h2
2h
Método de diferencias finitas
Construcción del sistema de ecuaciones
Los esquemas anteriores aplicados a todos los puntos del soporte producen un sistema de n + 1 ecuaciones lineales
con matriz de la forma,
0
B
B
B
B
B
B
B
B
B
B
B
B
B
B
B
@
a1 −
A1
h2
3a2
4a2
2h
B1
2h
2A1
−
a2
···
h2
A2
B2
−
2
h
2h
···
2h
A1
B1
+
h2
2h
2A2
−
+ C2
2
h
···
0
···
0
−
0
0
2h
−
+ C1
···
A2
h2
An−1
h2
0
`
0
···
0
0
···
0
+
···
−
b2
2h
´
B2
2h
Bn−1
2h
−
···
0
···
···
2An−1
h2
−
`
1
+ Cn−1
4b2
2h
An−1
+
h2
b1 +
y vector segundo miembro r , D1 , . . . , Dn−1 , s , para obtener las incógnitas y0 , y1 , . . . , yn−1 , yn
´
Bn−1
2h
3b2
2h
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
A
Resumen
I
Entre los métodos de un paso para la resolución de ecuaciones diferenciales ordinarias, los de Taylor y los
de Runge-Kutta son los más utilizados. El método más sencillo es el de Euler, aunque también es el que
mayores errores produce. En cambio, el método de Runge-Kutta de cuarto orden proporciona soluciones
con una precisión más aceptable y ha sido y es ampliamente utilizado en diferentes campos cientı́ficos.
I
Los métodos multipasos implı́citos tienen en general mayor precisión que los explı́citos, aunque su
aplicación tiene mayor complicación ya que en cada paso se tiene que resolver una ecuación generalmente
no lineal. Más eficiente es utilizar un método implı́cito para corregir la solución obtenida previamente por
uno explı́cito (método pblackictor-corrector). Los más utilizados son los métodos de
Adams-Bashforth-Moulton y el de Milne-Simpson
I
Si se utiliza un tamaño de paso variable, se puede mejorar la eficiencia de los métodos. En este sentido, los
métodos adaptativos de paso variable ajustan el tamaño de paso para que el error cometido se mantenga
siempre por debajo de una cierta tolerancia fijada a priori. Los más populares son el de
Runge-Kutta-Fehlberg y el Pblackictor-Corrector de Adams con paso variable.
I
Uno de los métodos más utilizados para resolver problemas de contorno es el de diferencias finitas. Dicha
discretización conduce a un sistema de ecuaciones lineales, que, una vez resuelto, nos proporciona de forma
discreta la función que es la solución del problema de contorno de segundo orden.
Descargar