Soluciones Numéricas de Ecuaciones Diferenciales ordinarias
description
Transcript of Soluciones Numéricas de Ecuaciones Diferenciales ordinarias
Soluciones Numéricas de Ecuaciones Diferenciales ordinarias
CÁPITULO 6
Contenidos
• 6.1 Método de Euler y Análisis de Error• 6.2 Métodos de Runge-Kutta• 6.3 Métodos de Varios Pasos• 6.4 Ecuaciones de Orden Superior y Sistemas• 6.5 problemas de Valores en al Frontera de
Segundo Orden
6.1 Método de Euler y Análisis de Error
• IntroducciónRecuerde la estructura del Método de Euler
yn+1 = yn + hf(xn, yn) (1)
• Errores en Métodos NuméricosUna fuente de error que siempre está presente en los cálculos es el error de rondeo.
Errores de Truncamiento para el Método de Euler
• Este logaritmo sólo da una aproximación en línea recta a la solución. Este error se llama error de truncamiento local, o error de discretización. Para obtener una fórmula para el error de truncamiento local del método de Euler, usamos la fórmula de Taylor con resido.
Donde c es un punto entre a y x. )!1(
)()(
!)(
)(!1
)()(
)(1
)1()(
kax
cyk
axay
axayay
xyk
kk
k
• Tomando k = 1, a = xn, x = xn+1 = xn + h, tenemos
ó
De ahí que el error de truncamiento en yn+1 es
donde xn < c < xn+1
El valor de c por lo común no se conoce, pero una cota superior es
donde
!2)(
!1)()()(
2
1h
cyh
xyxyxy nnn
!2)(),()(
2
1
1
hcyyxhfyxy
ny
nnnn
!2)(
2hcy
!22h
M 1 ,|)(|max1
nnxxx
xxxxyMnn
• Observación: Se dice que e(h) es de orden hn, representado con O(hn), si existe una constante C tal que |e(h)| Chn para h suficientemente pequeña.
Ejemplo 1
Determine una cota para los errores de truncamiento local del método de Euler aplicado a
SoluciónDe la solución tenemos so
En particular, para h = 0.1, se puede obtener una cota superior remplazando c por 1.1 es
2)42(
2)(
2)1(2
22 h
ech
cy c
1)1(,2' yxyy
,12 xey ,)42( 12 2 xexy
0422.02
)1.0(])1.1)(4(2[
2)1)1.1((2 2
e
Ejemplo 1 (2)
Al hacer 5 pasos, remplazando c por 1.5, se obtiene
(2)1920.02
)1.0(])5.1)(4(2[
2)1)5.1((2 2
e
Método de Euler Mejorado
(3)
donde (4)
se conoce comunmente como el Método de Euler Mejorado. Fig 6.1En general, el método de Euler mejorado es un ejemplo de método de predictor y corrector.
2),(),( *
111
nnnnnn
yxfyxfhyy
),(*1 nnnn yxhfyy
Fig 6.1
Ejemplo 2
Use el método de Euler mejorado para obtener el valor aproximado de y(1.5) para la solución de
. Compare los resultados para h = 0.1 y h = 0.05.SoluciónCon x0 = 1, y0 = 1, f(xn, yn) = 2xnyn , h = 0.1
y1* = y0 + (0.1)(2xy) = 1.2Usando (3) con x1 = 1 + h = 1.1
Los resultados se dan en la Tabla 6.3 y 6.4.
1)1(,2' yxyy
232.12
)2.1)(1.1(2)1)(1(2)1.0(1
222
)1.0(*1100
01 yxyxyy
Tabla 6.3
nx nyValorreal
ErrorAbs.
% errorrelativo
1.00 1.0000 1.0000 0.0000 0.00
1.10 1.2320 1.2337 0.0017 0.14
1.20 1.5479 1.5527 0.0048 0.31
1.30 1.9832 1.9937 0.0106 0.53
1.40 2.5908 2.6117 0.0209 0.80
1.50 3.4509 3.4904 0.0394 1.13
Tabla 6.4
nx ny Valorreal
ErrorAbs
% errorrelativo
1.00 1.0000 1.0000 0.0000 0.00
1.05 1.1077 1.1079 0.0002 0.02
1.10 1.2332 1.2337 0.0004 0.04
1.15 1.3798 1.3806 0.0008 0.06
1.20 1.5514 1.5527 0.0013 0.08
1.25 1.7531 1.7551 0.0020 0.11
1.30 1.9909 1.9937 0.0029 0.14
1.35 2.2721 2.2762 0.0041 0.18
1.40 2.6060 2.6117 0.0057 0.22
1.45 3.0038 3.0117 0.0079 0.26
1.50 3.4795 3.4904 0.0108 0.31
• Errores de Truncamiento para el Método Mejorado de EulerObserve que el error de truncamiento local es O(h3).
6.2 Runge-Kutta Methods
• Métodos de Runge-Kutta Todos los métodos de Runge-Kutta son generalizaciones de la fórmula básica de Euler, en la que la función pendiente f se remplaza por un promedio ponderado de pendientes en el intervalo xn x xn+1
(1) donde las ponderaciones wi, i = 1, 2, …, m son constantes que satisfacen w1 + w2 + … + wm = 0, y ki es la función evaluada en un punto seleccionado (x, y) para el cual xn x xn+1.
)( 22111 mmnn kwkwkwhyy
El número m se llama el orden. Si tomamos m = 1, w1 = 1, k1 = f(x, yn), llegamos al método de Euler. Por consiguiente, se dice que el método de Euler es un método de Runge-Kutta de primer orden.
Método de Runge-Kutta de Segundo Orden
• Tratamos de hallar unas constantes de modo que la fórmula
(2)donde k1= f(xn, yn), k2= f(xn+h, yn+hk1)concuerde con un polinomio de Taylor de grado 2. Las constantes deben satisfacer
(3)
luego(4)
donde w2 0.
211 bkakyy nn
2
1y ,
2
1 ,1 2221 wwww
2221 2
1y ,
2
1 ,1
wwww
Ejemplo: escogemos w2 = ½ , de donde w1 = ½ , = 1, = 1, y (2) se transforma en
yn+1= yn+(k1+ k2)h/2
donde k1= f(xn, yn), k2= f(xn+h, yn+hk1).Puesto que xn + h = xn+1, yn + hk1 = yn + hf(xn, yn), es idéntica al método de Euler mejorado.
Método de Runge-Kutta de Cuarto Orden
• Tratamos de hallar parámetros de modo que la fórmula
(5)
donde
concuerde con un polinomio de Taylor de orden 4.
43211 dkckbkakyy nn
),( nn yxhfk
),(
),(
),(
34
231223
1112
kyhxhfk
kkyhxhfk
kyhxhfk
nn
nn
nn
El conjunto de valores usado con más frecuencia para los parámetros produce el siguiente resultado
(6))2/1,2/1(
)2/1,2/1(
),(
)22(61
23
12
1
43211
kyhxhfk
kyhxhfk
yxhfk
kkkkyy
nn
nn
nn
nn
Ejemplo 1
Use el método RK4 con h = 0.1 para obtener y(1.5) para la solución de y’ = 2xy, y(1) = 1.Solución Primero se calcula el caso n = 0.
2715361.0)234255.0)(1.0(2)1.0(
)234255.0,1.0()1.0(
234255.0))231.0(2/1))(1.0(2/1(2)1.0(
))231.0(2/1),1.0(2/1()1.0(
231.0))2.0(2/1))(1.0(2/1(2)1.0(
))2.0(2/1),1.0(2/1()1.0(
2.0)2)(1.0(),()1.0(
00
004
00
003
00
002
00001
yx
yxfk
yx
yxfk
yx
yxfk
yxyxfk
Ejemplo 1 (2)
Por lo tanto,
Véase la Tabla 6.5.
23367435.1
)2715361.0)234255.0(2)231.0(22.0(61
1
)22(61
432101
kkkkyy
Tabla 6.5 h=0.1
nx ny Valorreal
ErrorAbs.
% errorrelativo
1.00 1.0000 1.0000 0.0000 0.00
1.10 1.2337 1.2337 0.0000 0.00
1.20 1.5527 1.5527 0.0000 0.00
1.30 1.9937 1.9937 0.0000 0.00
1.40 2.6116 2.6117 0.0001 0.00
1.50 3.4902 3.4904 0.0001 0.00
En la Tabla 6.6 comparan algunos resultados.
h = 0.1 h = 0.05
xn EulerEuler
mejoradoRK4
Valorreal
xn EulerEuler
mejoradoRK4
Valorreal
1.00 1.0000 1.0000 1.0000 1.0000 1.00 1.0000 1.0000 1.0000 1.0000
1.10 1.2000 1.2320 1.2337 1.2337 1.05 1.1000 1.1077 1.1079 1.1079
1.20 1.4640 1.5479 1.5527 1.5527 1.10 1.2155 1.2332 1.2337 1.2337
1.30 1.8154 1.9832 1.9937 1.9937 1.15 1.3492 1.3798 1.3806 1.3806
1.40 2.2874 2.5908 2.6116 2.6117 1.20 1.5044 1.5514 1.5527 1.5527
1.50 2.9278 3.4509 3.4902 3.4904 1.25 1.6849 1.7531 1.7551 1.7551
1.30 1.8955 1.9909 1.9937 1.9937
1.35 2.1419 2.2721 2.2762 2.2762
1.40 2.4311 2.6060 2.6117 2.6117
1.45 2.7714 3.0038 3.0117 3.0117
1.50 3.1733 3.4795 3.4903 3.4904
Errores de Truncamiento para el Método RK4
• Como es de grado 4, el error de truncamiento local es O(h5) y el error de truncamiento global es O(h4). Sin embargo, esto no se abarca en este texto.
Ejemplo 2
Determine una cota para los errores de truncamiento local del método RK4 aplicado a SoluciónAl calcular la quinta derivada de la solución conocida se obtiene
(7)
Así con c = 1.5, entonces (7) = 0.00028.La Tabla 6.7 proporciona aproximaciones a la solución del problema de valor inicial en x = 1.5 por el método RK4.
1)1(,2' yxyy
,)( 12 xexy
!5)32160120(
!5)(
5153
5)5( 2 h
eccch
cy c
Tabla 6.7
h Aproximación Error
0.1 3.49021064 1.32321089 10-4
0.05 3.49033382 9.13776090 10-6
6.3 Métodos de Varios Pasos
• Método de Adams-Bashforth-Moulton El predictor es la fórmula de Adams-Bashforth
(1)
donde n 3.
,)9735955(24 321
*1 nnnnnn yyy
hyy
),(
),(
),(
),(
333
222
111
nnn
nnn
nnn
nnn
yxfy
yxfy
yxfy
yxfy
El valor de yn+1* se sustituye en el corrector de Adams-Moulton
(2)),(
)5199(24
*111
2111
nnn
nnnnnn
yxfy
yyyyh
yy
Ejemplo 1
Use el método anterior con h = 0.2 para obtener y(0.8) para la solución de
SoluciónCon h = 0.2, y(0.8) se aproxima mediante y4. En principio s emplea el método RK4 con x0 = 0, y0 = 1, h = 0.2 para obtener
y1 = 1.02140000, y2 = 1.09181796,y3 = 1.22210646
1)0(,1 yyxy
Ejemplo 1 (2)
Ahora con x0 = 0, x1 = 0.2, x3 = 0.4, x4 = 0.6, yf(x, y) = x + y – 1, hallamos
El predictor (1) da
82210646.01)22210646.1()6.0(),(
49181796.01)09181796.1()4.0(),(
22140000.01)02140000.1()2.0(),(
01)1()0(),(
333
222
111
000
yxfy
yxfy
yxfy
yxfy
42535975.1)9375955(24
2.001233
*4 yyyyyy
Ejemplo 1 (3)
Para usar el corrector (2), se necesita
22535975.1142535975.18.0),( *444 yxfy
42552788.1)5199(24
2.0123434 yyyyyy
Estabilidad de Métodos Numéricos
• Decimos que un método numérico es estable, si cambios pequeños en la condición inicial dan como resultado sólo cambios pequeños en la solución calculada.
6.4 Ecuaciones de Orden Superor y Sistemas
• PVI de Segundo Orden Una PVI
(1)puede expresarse como
(2)Como y’(x0) = u0, entonces y(x0) = y0, u(x0) = u0.Aplicando el método de Euler (2)
(3)
0000 )(,)(,),,( uxyyxyyyxfy
),,( uyxfu
uy
),,(1
1
nnnnn
nnn
uyxhfuu
huyy
Mientras que al aplicar el método RK4:
(4)
donde
En general,
)22(61
)22(61
43211
43211
kkkkuu
mmmmyy
nn
nn
),,()(
)2/1,2/1,2/1()2/1(
)2/1,2/1,2/1()2/1(
),,(
33434
22323
11212
11
kumyhxhfkkuhm
kumyhxhfkkuhm
kumyhxhfkkuhm
uyxhfkhuhum
nnnn
nnnn
nnnn
nnnnn
),,',,( )1()( nn yyyxfy
Ejemplo 1
Use el método de Euler para obtener y(0.2), donde
(5)SoluciónSea y’ = u, entonces (5) se transforma en
De (3)
2)0(,1)0(,0 yyyyxy
yxuu
uy
][1
1
nnnnn
nnn
yuxhuu
huyy
Ejemplo 1 (2)
Usando h = 0.1, y0 = 1, u0 = 2, determinamos
761.1]2.1)9.1)(1.0()[1.0(9.1])[1.0(
3.1)9.1)(1.0(2.1)1.0(
9.1]1)2)(0()[1.0(2])[1.0(
2.12)1.0(1)1.0(
11112
112
00001
001
yuxuu
uyy
yuxuu
uyy
Fig 6.2
• En la Fig 6.2 se compara la curva solución generada mediante el método de Euler con la curva solución generada mediante el método RK4.
Ejemplo 2
Escribir
como un sistema de ecuaciones diferenciales de primer orden.SoluciónEscribimos
Al simplificar:
teyxxx 252322 tyyx
yxty
xxeyx t
223
522
2649 texyxx t
Ejemplo 2 (2)
Sea
El sistema original se puede escribir en la forma
2
2
322
649
tyxyv
teuyxxu t
vyux ','
2
2
322
649
tyxv
teuyxu
vy
ux
t
Solución Numérica de un Sistema
• La solución de un sistema de la forma
se puede aproximar mediante métodos numéricos.
),,,,(
),,,,(
),,,,(
21
2122
2111
nnn
n
n
xxxtfdt
dx
xxxtfdt
dx
xxxtfdtdx
Por ejemplo, mediante el método RK4:
(6)
se parece a esto:
(7)
),,(
),,(
yxtgy
yxtfx
0000 )(,)( ytyxtx
)22(61
)22(61
43211
43211
kkkkyy
mmmmxxx
nn
nnn
donde
(8)
),,(),,(
)2/1,2/1,2/1()2/1,2/1,2/1(
)2/1,2/1,2/1()2/1,2/1,2/1(
),,(),,(
334334
223223
112112
11
kymxhthgkkymxhtnhfm
kymxhthgkkymxhthfm
kymxhthgkkymxhthfm
yxthgkyxthfm
nnnnn
nnnnnn
nnnnnn
nnnnnn
Ejemplo 3
Considere
Use el método RK4 para aproximar x(0.6) y y(0.6) con h = 0.2 y h = 0.1.SoluciónCon h = 0.2 y los datos proporcionados, de (8)
6)0(,1)0(
6
42
yx
yxy
yxx
Ejemplo 3 (2)
3776.21)216.20,8,2.0(2.0),,(
3760.19)216.20,8,2.0(2.0),,(
4160.13)7.11,12.3,1.0(2.0)2/1,2/1,2/1(
6080.10)7.11,12.3,1.0(2.0)2/1,2/1,2/1(
4000.11)7.9,2.1,1.0(2.0)2/1,2/1,2/1(
2400.8)7.9,2.1,1.0(2.0)2/1,2/1,2/1(
4000.7)]6(6)1(1[2.0)6,1,0(2.0),,(
4000.4)]6(4)1(2[2.0)6,1,0(2.0),,(
303004
303004
202003
202003
101002
101002
0001
0001
gkymxhthgk
fkymxhthfm
gkymxhthgk
fkymxhthfm
gkymxhthgk
fkymxhthfm
gyxthgk
fyxthfm
Ejemplo 3 (3)
Por lo tanto, de (7) obteenmos
Observe Fig 6.3 y Tabla 6.8, 6.9.
2453.9)3760.19)608.10(2)24.8(24.4(61
1
)22(61
432101
mmmmxx
Fig 6.3
Tabla 6.8
nt nx ny
0.00 -1.0000 6.0000
0.20 9.2453 19.0683
0.40 46.0327 55.1203
0.60 158.9430 150.8192
Tabla 6.9
0.00 -1.0000 6.0000
0.10 2.3840 10.8883
0.20 9.3379 19.1332
0.30 22.5541 32.8539
0.40 46.5103 55.4420
0.50 88.5729 93.3006
0.60 160.7563 152.0025
nt nx ny
6.5 Problemas de Valores en la Frontera de Segundo Orden
• Aproximaciones por Diferencias FinitasEl desarrollo en serie de Taylor en a de y(x) es
Si ponemos h = x – a, entonces
Escribiendo la última expresión como(1)
y(2)
!3
)(!2
)(!1
)()()(32 h
ayh
ayh
ayayxy
!3
)()(
!2)(
)(!1
)()()(32 ax
ayax
ayax
ayayxy
6
)(2
)()()()(32 h
xyh
xyhxyxyhxy
6
)(2
)()()()(32 h
xyh
xyhxyxyhxy
Si h es pequeña, podemso despreciar y” y términos de orden mayor, luego
(3)
(4)Al restar (1) de (2) se obtiene también
(5)
Si despreciamos los términos con h3 y superores, entonces al sumar (1) y (2)
(6)
)()([1
)( xyhxyh
xy
)]()([1
)( hxyxyh
xy
)]()([21
)( hxyhxyh
xy
)]()(2)([1
)( 2 hxyxyhxyh
xy
Los lados derechos de (3), (4), (5), (6) se denominan cocientes de diferencias, y estas diferencias se llaman diferencias finitas.
y(x + h) – y(x) : diferencia hacia delantey(x) – y(x – h) : diferencia hacia atrásy(x + h) – y(x – h): diferencia centraly(x + h) – 2y(x) + y(x – h): diferencia
central
Método de Diferencias Finitas
• Considere el PVF:
(7)Supongase que a = x0 < x1 < … < xn < b representa una partición regular del intervalo [a, b], esto es, xi = a + ih, donde i = 0, 1, 2, ..., n, y h = (b – a)/n.Estos puntos se llaman puntos de malla interiores.
Si permitimos que seayi = y(xi), Pi = P(xi), Qi = Q(xi), fi = f(xi),
)(,)(,)()()( byayxfyxQyxPy
hnaxhaxhax n )1(,,2, 121
y si y’ e y” en (7) se remplazan por (5) y (6), entonces tenemos
ó
(8)
Esto se conoce como ecuación de diferencias finitas.
iiiii
iiii fyQ
hyy
Ph
yyy
22 11
211
iiiiiii fhyPh
yQhyPh 2
12
1 21)2(
21
Ejemplo 1
Use (8) con n = 4 para aproximar la solución del PVF
SoluciónTenemos P = 0, Q = –4, f(x) = 0, h = (1 – 0)/4 = ¼ .De ahí que
(9)Los puntos interiores son x1= 0 + 1/4, x2= 0 + 2/4, x3= 0 + 3/4, entonces (9) genera
5)1(,0)0(,04 yyyy
025.2 11 iii yyy
Ejemplo (2)
Junto con y0 = 0, y4 = 5, luego
Obtenemos y1 = 0.7256, y2 = 1.6327, y3 = 2.9479.
025.2
025.2
025.2
234
123
012
yyy
yyy
yyy
525.2
0 25.2
0 25.2
32
321
21
yy
yyy
yy
Ejemplo 2
Use (8) con n = 10 para aproximar la solución del PVF
SoluciónTenemos P = 3, Q = 2, f(x) = 4x2,h = (2 – 1)/10 = 0.1, de ahí que (8) se transforma
(10)
Los puntos interiores x1= 1.1, x2= 1.2, …, x9= 1.9, y0 = 1, y10 = 6, luego (10) genera
6)2(,1)1(,423 2 yyyyy x
211 04.085.098.115.1 iiii xyyy
Ejemplo 2 (2)
Podemos resolver este sistema de ecuaciones para obtener y1, y2, …, y9.
7556.685.098.1
1296.085.098.115.1
1156.085.098.115.1
1024.085.098.115.1
0900.085.098.115.1
0784.085.098.115.1
0676.085.098.115.1
0576.085.098.115.1
8016.098.115.1
89
789
678
567
456
345
234
123
12
yy
yyy
yyy
yyy
yyy
yyy
yyy
yyy
yy
Método de Disparos
• Otra manera de aproximar una solución se denomina método de disparos. El punto de partida de este método es remplazar el PVF por un PVI:
(11)
donde m1 es simplemente una suposición.
Esto se deja como ejercicio. Mirese el problema 14.
1)(,)(,),,( mayayyyxfy