Soluciones Numéricas de Ecuaciones Diferenciales ordinarias

Post on 15-Jan-2016

82 views 9 download

description

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. - PowerPoint PPT Presentation

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