ecuaciones diferenciales ordinarias

Post on 25-May-2015

402 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MÉTODOS DE RUNGE-KUTTA

HERNAN FULADANIEL RODRIGUEZ

UNIVERSIDAD INDUSTRIAL DE SANTANDERBUCARAMANGA, AGOSTO DE 2010

MÉTODOS NUMÉRICOS

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

INTRODUCCIÓN

1i iy y h

Pendiente

ix 1ix

Tamaño de Paso h

( , )dy

f x ydy

MÉTODO DE EULER

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

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

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

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

Error

Así, el error total es:

3.21875 5.25*100 63.106%

3.21875Et

*100verdadero anterior

Etverdadero

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

MÉTODO DEL PUNTO MEDIO

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

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

• 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

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

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

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

MÉTODO DE HEUN

MEJORAS DEL MÉTODO DE EULER

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.

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

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

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

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

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

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

MÉTODOS DE RUNGE-KUTTA

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

top related