Métodos Matemáticos I - Matemática...

31
Notaciones y organización Métodos de Runge-Kutta explícitos de 2 etapas E. de Ingenierías Industriales 2012-13 Métodos Matemáticos I Jesús Rojo 03. Ecuaciones escalares: métodos de Runge-Kutta

Transcript of Métodos Matemáticos I - Matemática...

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

E. de Ingenierías Industriales 2012-13

Métodos Matemáticos I

Jesús Rojo

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

03. Ecuaciones escalares: métodos deRunge-Kutta

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

1 Notaciones y organización

2 Métodos de Runge-Kutta explícitos de 2 etapas

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

La notación f (k)(x , y) para y k+1)(x)

Ya hemos dicho que

y ′(x) = f (x , y(x))

y quey ′′(x) = fx(x , y(x)) + f (x , y(x)) fy (x , y(x)) ;

Por el mismo procedimiento de derivar f y sus derivada respecto dex , podríamos conseguir

y ′′′(x) = fxx(x , y(x)) + 2 f (x , y(x)) fxy (x , y(x)) + · · · ,

pero representa ya un trabajo considerable.Resulta más práctico usar una nueva notación f (k), tanto en laforma f (k)(x , y) como en la f (k)(x , y(x)), consiguiendo que

yk+1)(x) = f (k)(x , y(x)) , k = 0, 1, 2, . . . .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Para ello definimos por recurrencia

f (0)(x , y) = f (x , y) ,

f (k+1)(x , y) = f (k)x (x , y) + f (x , y) f (k)

y (x , y) . (0)

Nótese que, de hecho, f (k+1)(x , y) se calcula poniendo

f (k+1)(x , y(x)) =d f (k)(x , y(x))

dxy reemplazando finalmente y(x) por y en la expresión final. Conesto que acabamos de decir, no es difícil probar por recurrencia que

yk+1)(x) = f (k)(x , y(x)) , k = 0, 1, 2, . . . .

con lo que (no escribimos (x , y) para hacerlo más corto)

∆(h) = ∆(x , y , h) = f (0)+h2

f (1)+h2

6f (2)+· · ·+ hp

p + 1!f (p)+O(hp+1) .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Por ejemplo, ya sabemos que

f (0)(x , y) = f (x , y) .

De este obtenemos

f (1)(x , y) = f (0)x (x , y) + f (x , y) f (0)

y (x , y)

= fx(x , y) + f (x , y) fy (x , y) ,

o sea, abreviadamente,

f (1) = fx + f fy .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

La notación f (k) que hace recordar a la derivada número k de f noes en absoluto desproporcionada. De hecho se trata de lasderivadas ordinaria sucesivas de f (x , y), pero considerada comof (x , y(x)) y derivando entonces respecto de la única variable x .Un segundo aspecto se encuentra en organizar la cancelación detérminos entre ∆(h) y Φ(h). Como

∆(h) = f (0) +h2

f (1) +h2

6f (2) + · · ·

Φ(h) = Φ(0) + h Φ′(0) +h2

2Φ′′(0) + · · · ,

obtenemos de inmediato el siguiente resultado que mejoraconsiderablemente la búsqueda del orden alcanzable por estosmétodos:

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Los métodos que estamos estudiando son de orden al menos 1cuando

Φ(0) = f (0) ,

de orden 2 cuando son de orden 1 y, además,

Φ′(0) =12

f (1) ,

y, más generalmente, de orden p cuando lo son de orden p − 1 y,además,

Φp−1)(0) =1p

f (p−1) .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Por lo tanto, para organizarse bien en el estudio del orden, basta ircalculando los Φk)(0) usando los valores calculados de kk)

1 (0),kk)2 (0), etc. y, además, tener una lista de los valores de los f (k).Ahora bien, estos últimos no dependen del método, son genéricospara f , x e y abstractos, y se pueden tener calculados de una vezpara siempre, con independencia del método con el cual se usenluego.De hecho ya tenemos calculados de antes f (0)(x , y) y f (1)(x , y).En cuanto los necesitemos por primera vez, dejaremos calculadosalgunos de los siguientes, que van siendo más complejos.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

En la actividad de diseño de los métodos del tipo que estamosestudiando, aparecen evaluaciones de f de la forma

k1 = f (xn, yn) ,k2 = f (xn + c2 h, yn + a2,1h k1) ,k3 = f (xn + c3 h, yn + a3,1h k1 + a3,2h k2) ,

etc. Los puntos de evaluación, (xn, yn), (xn + c2 h, yn + a2,1h k1),(xn + c3 h, yn + a3,1h k1 + a3,2h k2), etc. acaban siendoencumbrantes en las fórmulas. Vamos a reemplazarlos por losbreves símbolos

(1) para (xn, yn) ,(2) para (xn + c2 h, yn + a2,1h k1) ,(3) para (xn + c3 h, yn + a3,1h k1 + a3,2h k2) ,

etc. y, además, el punto (1) = f (xn, yn) lo omitiremosgeneralmente.Únicamente habrá que recordar siempre que la notación resumida(2), (3), etc. representa puntos que dependen de la variable h, quees la que interviene decisivamente a la hora de derivar, por ejemplo.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Por el momento, el último aspecto organizativo que trataremos el elllamado Tablero de Butcher para los métodos deRunge-Kutta. Ya hemos visto que, al describir uno de estosmétodos, lo único ’novedoso’ son los parámetros (abstractos oconcretos) que intervienen. Entonces, describiremos un métodoponiendo simplemente los parámetros en una matriz o tableroen la forma siguiente

[ci ][ai j

][bj]

[ci ] es un vector ’vertical’ y [bj ] es ’horizontal’.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Por ejemplo, para el método genérico de Runge-Kutta explícitode dos etapas, tendríamos

0

c2 a21

b1 b2

donde los ’posibles’ elementos a11 , a12 , a22 no se ponen porqueno existen, o son ceros, como queramos interpretarlo, y donde el0 puesto en la posición c1 a veces se omite también.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Para ver la eficacia de esta organización, vamos a repetirbrevemente el cálculo de aquellos métodos de 2 etapas queproporcionaban orden 2. En principio teníamos los métodos

k1 = f (xn, yn) ,k2 = f (xn + c2 h, yn + a2,1h k1)

yn+1 = yn + h (b1 k1 + b2 k2) ,

correspondientes al tablero de Butcher que acabamos deescribir. Recordemos que k1 no depende de h y que

Φ(h) = b1 k1 + b2 k2(h) ,

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

lo que nos lleva a

Φ(h) = b1 k1 + b2 k2(h) , Φ(0) = b1 k1 + b2 k2(0) ,

Φ′(h) = b2 k ′2(h) , Φ′(0) = b2 k ′2(0) ,

y fórmulas similares que, por el momento no necesitaremos.

k1(h) = cte = fk2(h) = f (2) ;

yk2(0) = f ,

(recuérdese que (2) se transforma en (1), que no escribimos,cuando h = 0) por lo que

Φ(0) = b1 k1 + b2 k2(0) = (b1 + b2) f .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Como f (0) = f , la única posibilidad (para f genérica) de queΦ(0) = f (0) es que

(1a) b1 + b2 = 1

Además, k ′1(h) = 0, mientras que

k ′2(h) = c2 fx(2) + a2,1 (k1 + h k ′1) fy (2) = c2 fx(2) + a2,1 k1 fy (2) ,

con lo que (de nuevo (2) se transforma en (1), que no escribimos,cuando h = 0)

k ′2(0) = c2 fx + a2,1 f fy

yΦ′(0) = b2 k ′2(0) = b2 c2 fx + b2 a2,1 f fy .

Por su parte,12

f (1) =12

fx +12

f fy .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Luego la única posibilidad (para f genérica) de que Φ′(0) =12

f (1)

es que se cumplan las dos condiciones

(2a) b2 c2 = 1/2(2b) b2 a2,1 = 1/2 .

que, para orden 2 tenemos que añadir a la que ya teníamos delorden 1 . Y eso nos lleva a la descripción que ya vimos para estosmétodos

b1 = 1− βb2 = β

c2 =12β

a2,1 =12β

,

con β 6= 0 arbitrario.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Métodos de Runge-Kutta explícitos de 2 etapas

Entre los infinitos métodos de 2 etapas y orden 2 que acabamos dedescribir, tal vez encontremos alguno de orden 3 . Anticipamos yaque la respuesta va a ser negativa, pero veamos como se llega a ella.Nuestro objetivo ahora es encontrar si existen valores de losparámetros c2 , a2,1 , b1 y b2 para los que Φ′′(0) = 1

2 f (2).Comencemos viendo cuál es la expresión genérica de f (2). Es ahoramuy asequible con la regla inductiva que hemos proporcionado:

f (2) = f (1)x + f f (1)

y

= (fx + f fy )x + f (fx + f fy )y

= fxx + fx fy + f fxy + f (fxy + (fy )2 + f fyy )

= fxx + 2 f fxy + (f )2 fyy + fx fy + f (fy )2 .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

En definitiva,

f (2) = fxx + 2 f fxy + (f )2 fyy + fx fy + f (fy )2) ,

con evaluación en (x , y), (x , y(x)) o (xn, yn).(Obsérvese que hemos puesto en práctica nuestra hipótesis de quela regularidad de f es la que necesitemos para nuestros manejos, loque nos ha llevado a aceptar que fyx(x , y) = fxy (x , y) lo que precisade la continuidad de las derivadas parciales que intervienen.)Esta expresión no depende de los métodos, sino únicamente de laestructura del problema general que estamos resolviendo. Por lotanto, no va a variar, y, una vez calculada, la almacenaremos (conlas ya conocidas de f (0) = f y f (1) = fx + f fy para usarlas cuantasveces sean necesarias.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Los términos f , fx , f fy , fxx , f fxy , (f )2 fyy , fx fy , f (fy )2 y otrosposteriores con derivadas parciales de f de orden más alto que iránapareciendo, suelen recibir el nombre de ’diferenciales elementales’.Obsérvese que son expresiones abstractas que no serán concretas enel uso que hagamos de ellas, que será el desarrollo de métodos.Lo siguiente es calcular lo que vale para nuestro método o métodosΦ′′(0), como antes a partir del valor de k ′′2 (0) , teniendo en cuentaque

Φ′′(0) = b2 k ′′2 (0) .

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Comok ′2(h) = c2 fx(2) + a2,1 k1 fy (2) ,

resulta

k ′′2 (h) = (c2)2 fxx(2) + 2 c2 a2,1 k1 fxy (2) + (a2,1)2 (k1)2 fyy (2) ,

Ahora,

k ′′2 (0) = (c2)2 fxx + 2 c2 a2,1 f fxy + (a2,1)2 (f )2 fyy ,

y

Φ′′(0) = b2 (c2)2 fxx + 2 b2 c2 a2,1 f fxy + b2 (a2,1)2 (f )2 fyy .

Para los métodos de los que nos ocupamos, que son los que yaposeen orden 2, se tiene

Φ′′(0) =14β

fxx +24β

f fxy +14β

(f )2 fyy ,

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

y la igualdad con

13

f (2) =13

fxx +23

f fxy +13

(f )2 fyy +13

fx fy +13

f (fy )2

es obviamente imposible. Por lo tanto:

2 es el mayor orden que se puede obtener con estos métodos deRunge-Kutta de dos etapas.

Pero el estudio no tiene por qué quedar ahí. Es posible analizar elcomportamiento del error de estos (infinitos) métodos de dosetapas y orden 2 . Para ello, compararemos el término principal delerror en esos métodos. Su valor es el del primer término no nulo enel desarrollo de T (h)/h = ∆(h)− Φ(h), que es

h2

6f (2) − h2

2Φ′′(0) =

h2

2

(13

f (2) − Φ′′(0)

)03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

pudiendo limitarnos a la comparación de (1/3) f (2) − Φ′′(0), ya quela parte h2/2 es un factor positivo común a todos los métodos.Restando las expresiones que ya hemos calculado

13

f (2) − Φ′′(0) =

=

(13− 1

)fxx + 2

(13− 1

)f fxy +

+

(13− 1

)(f )2 fyy +

13

fx fy +13

f (fy )2 ,

o de manera más clara

[(13− 1

), 2

(13− 1

),

(13− 1

),13,13

]fxx

f fxy(f )2 fyyfx fy

f (fy )2)

.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Aunque en general lo que tendremos que hacer en casos como estees minimizar los vectores como[(

13− 1

), 2

(13− 1

),

(13− 1

),13,13

]respecto de alguna norma (frecuentemente para la norma-2 oeuclídea), en este caso la cosa es bastante fácil. El valor

β = 3/4convierte el vector en [

0 , 0 , 0 ,13,13

]que es lo más pequeño que puede hacerse, independientemente dela norma con que se mida. Daremos enseguida un nombre a estemétodo, que es el que ’minimiza el error’ de entre los que alcanzanorden 2 con 2 etapas.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

De entre la infinidad de métodos de 2 etapas y orden 2 queacabamos de ver, algunos tienen o han tenido una aceptaciónespecial. Por supuesto este último que minimiza el error, perotambién otros debido a la simplicidad de sus parámetros. Así, unparámetro igual a 0 o a 1 evita las correspondientesmultiplicaciones. Además, parámetros como 1/2 facilitaban lasoperaciones en los momentos iniciales de esta teoría, cuando no sesoñaba siquiera con el uso de ordenadores como es norma en laetapa actual.Estos métodos que presentamos brevemente y que poseen un’nombre propio’ tradicional nos van a permitir, además, unainterpretación intuitiva o gráfica del método, interpretación que esde hecho común para todos los métodos de Runge-Kutta y, deuna forma más sencilla, para los de 1 y 2 etapas.

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

El método de Euler

yn+1 = yn + h f (xn, yn)

proporciona el valor de yn+1 como la ordenada del corte de larecta x = xn+1 con la recta que pasa por (xn, yn) y tiene porpendiente f (xn, yn). Es lo que trata de explicar la figurasiguiente

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

El ’método modificado de Euler’

El ’método modificado de Euler’ es el que se obtiene de laanterior familia de orden 2 cuando se toma β = 1/2. Posee eltablero

0

1 1

1/2 1/2

No es difícil describirlo en una sola línea como

yn+1 = yn +h2

( f (xn, yn) + f (xn+1, yn + h f (xn, yn)) ) ,

si bien resulta bastante inútil, siendo mejor la forma clásica

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

k1 = f (xn, yn) ,k2 = f (xn + h, yn + h k1)

yn+1 = yn +h2

(k1 + k2) ,

que lo presenta tal y como conviene programarlo.Este método proporciona el valor de yn+1 como la ordenada delcorte de la recta x = xn+1 con la recta que pasa por (xn, yn) y tienepor pendiente una media de dos valores de f : los que en sumomento llamamos con f (1) y f (2) ( (1) = f (xn, yn) y(2) = f (xn+1, yn + h k1)).

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

El punto (1) es el (xn, yn) (el de Euler). El (2) es el que elmétodo de Euler tomaría como yn+1, que ahora se usa sólopara buscar una segunda evaluación de f . Es lo que trata deexplicar la figura siguiente

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

El ’método del punto medio’

El ’método del punto medio’ es el que se obtiene de la anteriorfamilia de orden 2 cuando se toma β = 1 . Posee el tablero

0

1/2 1/2

0 1

O sea, esk1 = f (xn, yn) ,

k2 = f (xn + h2 , yn + h

2 k1)

yn+1 = yn + h k2) ,

o, en una sola línea,

yn+1 = yn + h f (xn +h2, yn +

h2

f (xn, yn)) ,

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

Naturalmente, el significado intuitivo gráfico es similar al explicadoen el caso precedente. Este método proporciona el valor de yn+1como la ordenada del corte de la recta x = xn+1 con la recta quepasa por (xn, yn) y tiene por pendiente el valor de f (2). Este punto(2) = f (xn + 1

2 h, yn + 12 h f (xn, yn)) es el punto medio entre

(1) = (xn, yn) y el punto que el método de Euler tomaría comoyn+1 , lo que se deja ver el la figura:

03. Ecuaciones escalares: métodos de Runge-Kutta

Notaciones y organizaciónMétodos de Runge-Kutta explícitos de 2 etapas

El ’método de HEUN’

El ’método de HEUN’ toma β = 3/4 . Posee el tablero

0

2/3 2/3

1/4 3/4y se escribe

k1 = f (xn, yn) ,k2 = f (xn + 2

3 h, yn + 23 h k1)

yn+1 = yn + h4 (k1 + 3 k2) .

Es, de entre los métodos de 2 etapas y orden 2 el que minimizael error, como vimos.También se interpreta gráficamente en forma parecida a losanteriores casos, pero no insistiremos otra vez en lo mismo.

03. Ecuaciones escalares: métodos de Runge-Kutta