43
MÉTODOS DE RUNGE-KUTTA HERNAN FULA DANIEL RODRIGUEZ UNIVERSIDAD INDUSTRIAL DE SANTANDER BUCARAMANGA, AGOSTO DE 2010 MÉTODOS NUMÉRICOS

ECUACIONES DIFERENCIALES ORDINARIAS

  • Upload
    daferro

  • View
    402

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODOS DE RUNGE-KUTTA

HERNAN FULADANIEL RODRIGUEZ

UNIVERSIDAD INDUSTRIAL DE SANTANDERBUCARAMANGA, AGOSTO DE 2010

MÉTODOS NUMÉRICOS

Page 2: ECUACIONES DIFERENCIALES ORDINARIAS

Resolución de ecuaciones diferenciales de la forma

Forma general del método para resolver cualquier ecuación como la anterior:

La pendiente estimada se usa para extrapolar desde un valor anterior a un nuevo valor , en una distancia h.

( , )dy

f x ydy

*Nuevo Valor Valor Anterior Pendiente Tamaño de Paso

1i iy y h

iy 1iy

INTRODUCCIÓN

Page 3: ECUACIONES DIFERENCIALES ORDINARIAS

INTRODUCCIÓN

1i iy y h

Pendiente

ix 1ix

Tamaño de Paso h

( , )dy

f x ydy

Page 4: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODO DE EULER

Page 5: ECUACIONES DIFERENCIALES ORDINARIAS

La primera derivada proporciona una estimación directa de la pendiente en xi

donde f(x¡, y¡) es la ecuación diferencial evaluada en xi y yi. Tal

estimación podrá sustituirse en la ecuación (1): (2)

( , )i if x y

1 ( , )i i i iy y f x y h

METODO DE EULER

Page 6: ECUACIONES DIFERENCIALES ORDINARIAS

Esta fórmula es conocida como el método de Euler (o de Euler-Cauchy o de punto medio).

Se predice un nuevo valor de y por medio de la pendiente (igual a la primera derivada en el valor original de x) que habrá de extrapolarse en forma lineal sobre el tamaño de paso h.

METODO DE EULER

Page 7: ECUACIONES DIFERENCIALES ORDINARIAS

Use el método de Euler para integrar numéricamente la ecuación :

Desde x = O hasta x = 4 con un tamaño de paso 0.5. La condición inicial en x = O es y = 1. La solución exacta la da la ecuación:

3 22 12 20 8.5dy

x x xdx

4 3 20.5 4 10 8.5 1y x x x x

EJEMPLO DE EULER

Page 8: ECUACIONES DIFERENCIALES ORDINARIAS

Se puede usar la ecuación (2) para implementar el método de Euler: y(0.5) = y(0) + f(O, 1)0.5

donde y (0) = 1 y la pendiente estimada en x = 0 es

f(O, 1) = - 2 ( 0 ) 3 + 12(0)2 - 20(0) + 8.5 = 8.5

Por tanto: y (0.5) = 1.0 + 8.5(0.5) = 5.25

La solución real en x = 0.5 es

y2 = -0.5(0.5)4 + 4(0.5)3 - 10(0.5)2 + 8.5(0.5) + 1 y2 = 3.21875

Solucion

Page 9: ECUACIONES DIFERENCIALES ORDINARIAS

Error

Así, el error total es:

3.21875 5.25*100 63.106%

3.21875Et

*100verdadero anterior

Etverdadero

Page 10: ECUACIONES DIFERENCIALES ORDINARIAS

X Y verdadero Y euler f(x1,y1) error

0 1 1 8,5 

0,5 3,21875 5,25 1,25 63,1067961

1 3 5,875 -1,5 95,8333333

1,5 2,21875 5,125 -1,25 130,985915

2 2 4,5 0,5 125

2,5 2,71875 4,75 2,25 74,7126437

3 4 5,875 2,5 46,875

3,5 4,71875 7,125 -0,25 50,9933775

4 3 7 -7,5 133,333333

Page 11: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODO DEL PUNTO MEDIO

Page 12: ECUACIONES DIFERENCIALES ORDINARIAS

Otra modificacion de metodo es el método del punto medio (o del polígono mejorado o el modificado de Euler), esta técnica usa el método de Euler para predecir un valor de y en el punto medio del intervalo:

Después, este valor predicho se usa para calcular una pendiente en

el punto medio:

1

2

( , )2i i i

i

hy y f x y

1 ( , )i ik f x y

2 1

2

( , )2 2i i

i

h hk y f x y

MÉTODO DEL PUNTO MEDIO

Page 13: ECUACIONES DIFERENCIALES ORDINARIAS

El cual se toma para representar una aproximación válida de la pendiente promedio para todo el intervalo. Dicha pendiente es usada después para extrapolar linealmente desde x¡ hasta x¡+ 1.

(1)

12 2

1 2

( , )*

*

i i h hi i

i i

y y f x y h

y y k h

MÉTODO DEL PUNTO MEDIO

Page 14: ECUACIONES DIFERENCIALES ORDINARIAS

• Use el método de punto medio para integrar numéricamente la ecuación

desde x = 0 hasta x = 4 usando un tamaño de 0.5. La condición inicial en x=0 es y = 1.

3 2( , ) 2 12 20 8.5f x y x x x

EJEMPLO

Page 15: ECUACIONES DIFERENCIALES ORDINARIAS

Calcular:

Sin embargo, como la EDO es una función sólo de x, tal resultado carece de relevancia sobre el segundo paso

Calcular:

3 21 2 0 12 0 - 20 0 8.5 8.5k

3 2 4

2 2 0.25 12 0.25 20 0.25 8.5 4.21875k

SOLUCIÓN

Page 16: ECUACIONES DIFERENCIALES ORDINARIAS

La pendiente en el punto medio puede entonces sustituirse en la ecuación (1) para predecir:

Y(0.5) = 1 + 4.21875(0.5) = 3.109375Error:

.*100

Yverdadero Ypto medioEt

Yverdadero

SOLUCIÓN

Page 17: ECUACIONES DIFERENCIALES ORDINARIAS

X Y verdadero Y pto. Medio k2 error

0 1 1 8,5 

0,5 3,21875 3,109375 4,218753,3980582

5

1 3 2,8125 -0,59375 6,25

1,5 2,21875 1,984375 -1,6562510,563380

3

2 2 1,75 -0,46875 12,5

2,5 2,71875 2,484375 1,468758,6206896

6

3 4 3,8125 2,65625 4,6875

3,5 4,71875 4,609375 1,593752,3178807

9

4 3 3 -3,21875 0

Page 18: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODO DE HEUN

MEJORAS DEL MÉTODO DE EULER

Page 19: ECUACIONES DIFERENCIALES ORDINARIAS

Un método para mejorar la estimación de la pendiente involucra la determinación de dos derivadas para el intervalo (una en el punto inicial y otra en el final).

Las dos derivadas se promedian después con el fin de obtener una estimación mejorada de la pendiente para todo el intervalo.

MEJORAS DEL METODO DE EULER

Predictor Corrector

Corrección del método de Heun al usar dos derivadas.

Page 20: ECUACIONES DIFERENCIALES ORDINARIAS

En el método de Euler la pendiente al inicio de un intervalo es:

La cual se usa para extrapolar linealmente a

es una predicción intermedia, por esto se denota con el superíndice 0: Predictor. Para estimación de la pendiente al final del intervalo:

' ( , )iy f x y

01 ( , )i i i iy y f x y h

1iy

1 1 1' ( , )i i i iy y f x y

MEJORAS DEL METODO DE EULER

Page 21: ECUACIONES DIFERENCIALES ORDINARIAS

Las dos pendientes calculadas, al inicio y final del intervalo se pueden combinar para obtener una pendiente promedio para el intervalo:

Esta pendiente promedio se utiliza para extrapolar linealmente de hasta usando el método de Euler, que se conoce ahora como Ecuación Corrector:

La ecuación Corrector, posee en ambos lados del signo igual a , por lo que se puede aplicar de forma iterativa ella misma, varias veces en cada intervalo. De esta manera en cada intervalo se podrá mejorar repetidamente una estimación de .

01 1 1' ' ( , ) ( , )

'2 2

i i i i iy y f x y f x yy

iy1iy

01 1

1

( , ) ( , )

2i i i i

i i

f x y f x yy y h

1iy

1iy

MEJORAS DEL METODO DE EULER

Page 22: ECUACIONES DIFERENCIALES ORDINARIAS

ESTIMACION DEL ERROR

Debería entenderse que este proceso iterativo no necesariamente converge sobre la respuesta verdadera sino que lo hará sobre una estimada con un error de truncamiento finito:

11 1

1

100%j ji i

a ji

y y

y

MEJORAS DEL MÉTODO DE EULER

01 1

1

( , ) ( , )

2i i i i

i i

f x y f x yy y h

1iy

Page 23: ECUACIONES DIFERENCIALES ORDINARIAS

Use el método de Heun para integrar numéricamente la siguiente ecuación diferencial:

Desde x=0 hasta x=4, con un tamaño de paso h=1.

Con la condición inicial de que cuando x=0 entonces y=2. Tabular los resultados de la solución real, Heun para una iteración y para quince iteraciones en cada intervalo y el error relativo porcentual.

0.84 0,5xdye y

dx

EJEMPLO DEL MÉTODO DE HEUN

Page 24: ECUACIONES DIFERENCIALES ORDINARIAS

Con los valores iniciales = se halla la pendiente en ese punto:

Ahora, utilizando el predictor:En donde,

Para mejorar el estimado para usamos el valor de para predecir la pendiente al final del intervalo:

0 0( , )x y (0,2)

00' 4 0.5(2) 3y e

0.84 0,5xdye y

dx

1 1 1' ( , )i i i iy y f x y h

01 2 3(1) 5y

1iy 0'y

01' ( , )iy f x y

0.8(1)' 4 0.5(5) 6.402164iy e

SOLUCIÓN

Page 25: ECUACIONES DIFERENCIALES ORDINARIAS

El resultado anterior debe combinarse con la pendiente inicial para obtener una pendiente promedio sobre el intervalo desde x=0 hasta 1:

Este resultado puede ser sustituido en el corrector para dar la predicción en x=1:

Ahora el estimado podrá usarse para refinar o corregir la predicción de yi al sustituir el nuevo resultado en:

1' ''

2iy y

y

3 6.402164' 4.701082

2y

2 4.701082(1) 6.701082iy

01 1

1

( , ) ( , )

2i i i i

i i

f x y f x yy y h

0.8(1)

1

3 4 0.5(6.701082)2 1 6.275811

2

ey

EJEMPLO DEL MÉTODO DE HEUN

Page 26: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODOS DE RUNGE-KUTTA

Page 27: ECUACIONES DIFERENCIALES ORDINARIAS

Este logra la exactitud del procedimiento de una serie de Taylor sin requerir el cálculo de derivadas superiores.

Forma general de los métodos RK.

Donde función Incremento, la cual puede interpretarse como una pendiente representativa sobre el intervalo.

Y así:

1 ( , , )i i i iy y x y h h

( , , )i ix y h

1 1 2 2 ... n na k a k a k 1

2 1 11 1

3 2 21 1 22 2

1 1,1 1 1,2 2 1, 1 1

( , )

( , )

( , )

.

.

( , ... )

i i

i i

i i

n i n i n n n n n

k f x y

k f x p h y a k h

k f x p h y a k h a k h

k f x p h y a k h a k h a k h

METODOS DE RUNGE-KUTTA

Page 28: ECUACIONES DIFERENCIALES ORDINARIAS

Las k son relaciones de recurrencia. Esto es, k1 aparece en la ecuación para k2, la cual aparece en la ecuación para k3, etc.

Es posible concebir varios tipo de métodos Runge-Kutta al emplear diferentes números de términos en la función incremento dados por n.

Método Runge Kutta de Primer Orden (n=1) == Método de Euler.

Al elegir n, se evalúa a, p y q. Esta también representa el orden de la aproximación.

METODOS DE RUNGE-KUTTA

Page 29: ECUACIONES DIFERENCIALES ORDINARIAS

De la ecuación de incremento, que proviene de la serie de Taylor y que logra exactitud en el procedimiento es:

Entonces: Para 2 Orden

donde

Runge-Kutta de Segundo Orden

1 1 1 2 2( ... )i i n ny y a k a k a k h

1 ( , , )i i i iy y x y h h

1 1 1 2 2( )i iy y a k a k h

1 ( , )i ik f x y

2 1 11 1( , )i ik f x p h y q k h

1 1 1 2 2( )i iy y a k a k h

Page 30: ECUACIONES DIFERENCIALES ORDINARIAS

Los valores de a1, a2, p2 y q11 se hallan de manera general así:

Este sistema de ecuaciones se puede desarrollar solamente al suponer un valor cualquiera para alguna variable.

Se desarrollaron diversos métodos, y los más utilizados son:

1 2 1a a

2 2

1

2a p

2 11

1

2a q

Runge Kutta de Segundo Orden

Page 31: ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE HEUN:

Supone que el valor de es

Y desarrollando las ecuaciones con este valor da:

Quedando la ecuación:

Donde:

Runge Kutta de Segundo Orden

2

1

2a 2a

1

1

2a 1 11 1p q

1 1 2

1 1

2 2i iy y k k h

1 ( , )i ik f x y

2 1( , )i ik f x h y k h

Page 32: ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RALSTON:

Ralston (1962) y Ralston y Rabinowitz (1978). Con este valor, se obtiene un limite mínimo sobre el error de truncamiento para los algoritmos de RK de 2 Orden. Así:

Y la ecuación quedaría:

Donde:

Runge Kutta de Segundo Orden

2

2

3a

1

1

3a

1 11

3

4p q

1 1 2

1 2

3 3i iy y k k h

1 ( , )i ik f x y

2 1

3 3( , )

4 4i ik f x h y k h

Page 33: ECUACIONES DIFERENCIALES ORDINARIAS

MÉTODO DEL PUNTO MEDIO:

Se supone que

Entonces:

Y la ecuación quedaría:

Donde:

Runge Kutta de Segundo Orden

1 0a 1 11

1

2p q

1 2i iy y k h

1 ( , )i ik f x y

2 1

1 1( , )

2 2i ik f x h y k h

2 1a

Page 34: ECUACIONES DIFERENCIALES ORDINARIAS

Para n=3, el desarrollo es similar al de 2 Orden. El resultado es un sistema de 6 ecuaciones con 8 incógnitas. Los valores de las 2 incógnitas se deben especificar. Una versión común que resulta es:

Donde:

Resultados exactos cuando se trata de ecuaciones diferenciales cubicas y la solución es de 4 Orden.

1 1 2 3

1( 4 )

6i iy y k k k h

1 ( , )i ik f x y

2 1

1 1( , )

2 2i ik f x h y k h

3 1 2( , 2 )i ik f x h y k h k h

RUNGE KUTTA DE TERCER ORDEN

Page 35: ECUACIONES DIFERENCIALES ORDINARIAS

Es el mas utilizado de RK. También, al igual que el de 2 Orden, tiene un número infinito de versiones. Método RK Clásico de 4 Orden:

Donde:

RUNGE KUTTA DE CUARTO ORDEN

1 1 2 3 4

1( 2 2 )

6i iy y k k k k h

1 ( , )i ik f x y

2 1

1 1( , )

2 2i ik f x h y k h

3 1 2( , 2 )i ik f x h y k h k h

4 3( , )i ik f x h y k h

Page 36: ECUACIONES DIFERENCIALES ORDINARIAS

Resolver la siguiente ecuación aplicando el método de Runge-Kutta:

Solución:De la condición inicial del problema se tiene que X = 0, y Y =

1; además, h = 0.1. Sustituyendo estos valores en K1, k2,k3,k4 .

EJEMPLO DE RUNGE-KUTTA

21( , ) (1 )

2i i i if x y x y

1

2 1 1

3 1 2 1 2

4 3 3

( , ) (0,1)

1 1 1 1, 0 (0.1),1 (0.1)

2 2 2 2

( , 2 ) (0 (0.1),1 (0.1) 2 (0.1))

( , ) (0 (0.1), (1 (0.1))

i i

i i

i i

i i

k f x y f

k f x h y k h f k

k f x h y k h k h f k k

k f x h y k h f k

1 0a

1 11

1

2p q

Page 37: ECUACIONES DIFERENCIALES ORDINARIAS

21

2

2

2

3

2

4

1(1 0)(1) 0.5

2

0.1 0.1(0.5)0.5 1 0 1 0.5516

2 2

0.1 0.1(0.5516)0.5 1 0 1 0.5544

2 2

0.5 1 0 0.1 1 (0.1)0.5544 0.6127

k

k

k

k

0 1i ix y

EJEMPLO DE RUNGE-KUTTA

21( , ) (1 )

2i i i if x y x y

Page 38: ECUACIONES DIFERENCIALES ORDINARIAS

Llevando los valores de kn a:

Fórmula para x=0

Con xi=0, Yi=1, entonces

Con este valor vuelvo a realizar el procedimiento

1 1 2 3 4

1( 2 2 )

6i iy y k k k k h

1

1(0.5 2(0.5516) 2(0.5544) 0.6127)

6i iy y h

1 (0.554166)i iy y h

1 1 (0.554166)0.1iy

1 1.0554iy

EJEMPLO DE RUNGE-KUTTA

0.1x

Page 39: ECUACIONES DIFERENCIALES ORDINARIAS

Para yi+1=yi=1.0554, x=0.1

EJEMPLO DE RUNGE-KUTTA

1 1 2 3 4

1( 2 2 )

6i iy y k k k k h

1

1(0.6126 2(0.6782) 2(0.6823) 0.7575)

6i iy y h

1 1.1236iy 0.2x

Page 40: ECUACIONES DIFERENCIALES ORDINARIAS

Continuando de la misma forma, se toman todos los datos desde x=0 hasta x=0.5

X Y k1 k2 k3 k4

0.0 1.0000 0.5000 0.5516 0.5544 0.6127

0.1 1.0554 0.6126 0.6782 0.6823 0.7575

0.2 1.1236 0.7575 0.8431 0.8494 0.9494

0.3 1.2085 0.9492 1.0647 1.0745 1.2121

0.4 1.3158 1.2119 1.3735 1.3896 1.5872

0.5 1.4545 1.5868 1.8234 1.8517 2.1509

EJEMPLO DE RUNGE-KUTTA

Page 41: ECUACIONES DIFERENCIALES ORDINARIAS

Use el método RK clásico de cuarto orden para integrar

a)

Mediante un tamaño de paso de h=0.5 y una condicion inicial de y=1 , en x=0 .

Solucion:

3 2( , ) 2 12 20 8.5f x y x x x

EJERCICIO 1

1

2

3

4

8.5

4.21875

4.21875

1.25

k

k

k

k

1(0.5) 1 8.5 2(4.21875) 2(4.21875) 1.25 0.5

6y

(0.5) 3.21875y

Page 42: ECUACIONES DIFERENCIALES ORDINARIAS

b) usando h=0.5 con y(0)=2 desde x=0 hasta 0.5.

EJERCICIO 20.8( , ) 4 0.5xf x y e y

Page 43: ECUACIONES DIFERENCIALES ORDINARIAS

• http://luda.azc.uam.mx/curso2/tema7/eqdif02.html#euler

• CHAPRA, Steven C. y CANALE, Raymond P.: Métodos Numéricos para Ingenieros. McGraw Hill 2002.

• http://www.mat.upm.es/~pzz/docencia/grado/fm4/EDO_num4.pdf

• http://www.uaem.mx/posgrado/mcruz/cursos/mn/euler.pdf

BIBLIOGRAFIA