CAP TULO VIII Ecu dif

29
Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy 141 CAPÍTULO VIII ECUACIONES DIFERENCIALES ECUACIONES DIFERENCIALES ECUACIONES DIFERENCIALES ECUACIONES DIFERENCIALES Introducción En ciertos casos como en el caso del movimiento de un objeto, de difusión de contaminantes o del crecimiento de poblaciones de cierta especie, por ejemplo, estamos interesados en funciones que evolucionan en forma continua respecto del tiempo. Tomemos este último ejemplo. A partir de una población inicial ) ( 0 t x , la evolución se suele describir (o modelizar) por una función ) (t x a lo largo del tiempo. Al estudiar el crecimiento continuo de una población ) (t x , obtenemos información sobre su tasa de crecimiento, por ejemplo. Esta se define como dt x dx ) ( , es decir la variación de población por unidad de tiempo. Si se ha observado que la tasa de crecimiento es constante, tenemos la relación k dt t dx = ) ( y queremos encontrar una función continua ) (t x que satisfaga esta igualdad. Recordando las reglas de derivación vemos que kt t x = ) ( la verifica, pero también lo hace C t k t x = ) ( con C . Si además sabemos que la población inicial es de 100 individuos, tenemos C C k x = = = 0 . ) 0 ( 100 , o sea que la solución en este caso es 100 ) ( = t k t x Definición: Una ecuación diferencial para la función ) (t x es una ecuación que contiene la variable t, la función ) (t x , y derivadas de ) (t x .

Transcript of CAP TULO VIII Ecu dif

Page 1: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

141

CAPÍTULO VIII

ECUACIONES DIFERENCIALESECUACIONES DIFERENCIALESECUACIONES DIFERENCIALESECUACIONES DIFERENCIALES

Introducción

En ciertos casos como en el caso del movimiento de un objeto, de difusión de contaminantes o del crecimiento de poblaciones de cierta especie, por ejemplo, estamos interesados en funciones que evolucionan en forma continua respecto del tiempo. Tomemos este último ejemplo. A partir de una población inicial )( 0tx , la evolución se suele describir

(o modelizar) por una función )(tx a lo largo del tiempo. Al estudiar el crecimiento continuo de una población )(tx , obtenemos información sobre su tasa de crecimiento, por

ejemplo. Esta se define como dt

xdx )(, es decir la variación de población por unidad de

tiempo. Si se ha observado que la tasa de crecimiento es constante, tenemos la relación

kdt

tdx =)(

y queremos encontrar una función continua )(tx que satisfaga esta igualdad. Recordando las reglas de derivación vemos que kttx =)( la verifica, pero también lo hace

Ctktx +=)( con ℜ∈C .

Si además sabemos que la población inicial es de 100 individuos, tenemos

CCkx =+== 0.)0(100 ,

o sea que la solución en este caso es

100)( += tktx

Definición: Una ecuación diferencial para la función )(tx es una ecuación que contiene la variable t, la función )(tx , y derivadas de )(tx .

Page 2: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

142

En forma general puede escribirse

0,,,, =

tx

td

xd

td

xdF

n

n

… ó

( ) .0,)(,)(,),()( =′ ttxtxtxF n …

El orden de la ecuación diferencial es el orden de la derivada de mayor orden que aparece en la ecuación. Ejemplos:

1) xtd

xd2= primer orden

2) etxt

td

xd 2

2 −−= primer orden

3) 0)1( 423

3

=++ txtd

xd tercer orden

4) txtd

xd

td

xd +=

+

42

3

3

tercer orden

5) 3

2

2

2

=

td

xdx

td

xd segundo orden

Ejemplo: Una población de bacterias crece de manera tal que su tasa de crecimiento en el tiempo t (en horas) es igual a un décimo de la población en ese instante.

¿Cómo describir el proceso con una ecuación diferencial?

Supongamos que )(tx es la población en el tiempo t. Entonces:

td

xd es un décimo de )(tx

➾ 10

)()( tx

td

txd =

que es una ecuación diferencial de primer orden.

Page 3: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

143

Dada una ecuación diferencial, ¿Cómo encontramos una función ( )tx que satisfaga la ecuación? Una función derivable que satisface una ecuación diferencial se llama solución de la ecuación.

Ejemplo: Probemos que ( ) tettx = satisface la ecuación

+=t

x

td

xd 11

2

Efectivamente

( ) ( )

( )

+=

+=

+= −

t

x

tte

tet

teette

td

d

t

tt

tt

11

21

1

2

1

2

1

21

2121

Ejemplo: Probemos que ( ) tt beaetx 2+= satisface la ecuación

0232

2

=+− xdt

dx

dt

xd

Efectivamente tt ebea

td

xd 22+=

tt ebeatd

xd 22

2

4+=

Así: ( ) ( ) ( ) 02234 222 =+++−+ tttttt beaebeaebeae

independientemente de los valores de a y de b.

Si exigimos que 1)0( =x y 2)0( =dt

dx podemos determinar a y b:

0 0

0 0

1

2 2 2

ae be a b

ae be a b

+ = + =

+ = + =

1

0

b

a

=⇒ =

La solución es tetx 2)( = . Trabajaremos con ecuaciones diferenciales de primer orden, que pueden escribirse

( ) ( )( )ttxfdt

tdx,= con f continua .

Page 4: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

144

Como hemos visto en los ejemplos anteriores la ecuación puede tener más de una solución, y para elegir una de ellas, agregamos una condición inicial

( ) 00 xtx = .

Entonces el problema a resolver será

0 0

( , )

( )

dxf x t

dt

x t x

=

=

Si existen funciones g y h tales que

( ) ( ) ( ), .f x t g x h t=

decimos que la ecuación es de variables separables. En ese caso la ecuación puede escribirse:

( ) ( )thdt

dx

xg=1

o haciendo abuso de notación

dtthdxxg

)()(

1 = .

Así puede buscar las primitivas de ambas funciones, y si notamos ∫ )(xg

dx y ∫ dtth )( a las

respectivas primitivas podemos escribir:

∫ ∫ += Cdtthxg

dx)(

)(

de donde se despeja x como función de t, algo que no siempre será posible.

Ejemplo: Sea )21()1( 2 txdt

dx ++= con condición inicial 0)0( =x .

Podemos escribir

dttx

dx)21(

1 2+=

+

Buscamos la primitivas

)(tg

arctg2

2

Cttx

Cttx

++=⇒

++=

Como

0

0)0(tg0)0(

=⇒

=+==C

Cx

Page 5: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

145

Ejemplo: Sea ( ) texdt

dx −+= 1 con condición inicial ( ) 10 =x .

Escribimos dtedxx

t−=+11

y obtenemos

Cexnl t +−=+ −)1( . Como 1)0( =x para 0=t , queda

12

12

+=⇒

+−=nlC

Cnl

Ejemplo: Sea )1( 22 txdt

dx +=

dttdxx

)1(1 2

2+=

Ct

tx

++=−3

1 3

3 3

1 3

33

xt t t A

t C

− −= =+ ++ +

Con la condición inicial 2)0( =x , obtenemos 2

3−=A .

Teorema de existencia y unicidad.

Dado el problema

==′

∗00 )(

),()(

yxy

yxfy

Si ),( yxf es continua [ ] ( )0,, xaRybax =∈∀∈∀ y si ),( yxy

f

∂∂

es continua y

acotada, entonces existe solución única en el intervalo [ ]ba, , o sea existe una única función

)(xy que satisface ( )∗ [ ]bax ,∈∀ .

Page 6: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

146

El teorema de existencia no asegura que dicha solución sea obtenible en forma analítica (esto es, que siempre pueda encontrarse una fórmula computable para )(xy ). Gran parte de los problemas físicos, biológicos, etc., se traducen en ecuaciones diferenciales de las que se desconoce solución analítica.

Se recurre entonces a los métodos numéricos, que en lugar de dar una ley para ( )y x

producen valores aproximados para )( nxy con [ ],nx a b∈ , comenzando por el valor inicial

0 0( ) ( )y a y x y= = .

Estudiaremos métodos de paso simple, tales que para calcular el valor aproximado de )( 1+nxy sólo se necesita el valor aproximado obtenido para )( nxy .

Notación: ny será el valor aproximado para )( nxy obtenido por el método: )( nn xyy ≅ .

METODO DE EULER

Sea la ecuación diferencial con condición inicial

==′

00 )(

),(

yxy

yxfy

Idea geométrica

La curva )(xy no se conoce.

Se traza la tangente a )(xy en ),( 00 yx y se toma como valor aproximado de )(by la

ordenada de la tangente (Recuérdese que estamos identificando la función y su gráfica).

Para facilitar la notación llamamos hxbx +== 01 .

Queremos calcular )( 11 xyx ≅ .

Page 7: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

147

La ecuación de la tangente es

)()()( 000 xxxyyxT −′+= pero ))(,()( 000 xyxfxy =′

)( 00 yxf=

Entonces:

0 0 0 0( ) ( , ) ( )T x y f x y x x= + −

)(),()()( 000000101 yxfhyyxfxxyxT +=−+=

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

Si en lugar de aproximar directamente )(by lo hacemos en dos pasos de longitud

2

abh

−= tendremos ax =0 ,

hxx += 01 ,

bhxx =+= 12 . En un primer paso calculamos

),()( 00011 yxfhyyxy +=≅ .

Repitiendo el procedimiento anterior tendríamos la tangente a y(x) en el punto ),( 11 yx .

1 1 1 1 1( ) ( ) ( , ( ))T x y h y x y h f x y x′= + = + ,

pero como no conocemos exactamente )( 1xy lo aproximamos por el valor 1y . Resulta entonces que:

)()()( 11122 yxfhyyxyby +=≅= que debería dar mejor aproximación que en un solo paso.

Page 8: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

148

En 2 2( , )x y se suma el error de trazar la tangente por el punto ( )11, yx en lugar de hacerlo

por el punto ))(,( 11 xyx , al error de tomar un valor aproximado, )( 11yxf , para la pendiente de dicha tangente. Aproximación de la fórmula de Euler por serie de Taylor

Suponemos que )(xy puede desarrollarse en el entorno de un punto dado por serie de

Taylor. Desarrollando en un entorno del punto 0x tenemos

...)(!2

)()()()()( 0

20

000 +′′−+′−+= xy

xxxyxxxyxy

Haciendo hxx += 0 y cortando en el segundo término obtenemos

)(2

)()(2

000 ξyh

xyhyhxy ′′+′+=+ con [ ]hxx +∈ 00,ξ

Es decir que ),( 0001 yxfhyy += .

Así )( 11 xyy ≅ y el error local cometido es )(2

2

ξyh ′′ .

Partiendo el intervalo [ ]ba, en N partes y aproximando en cada subdivisión resulta el Algoritmo del Método de Euler

Dados un intervalo [ ],a b y ( ) /h b a N= −

1

Hacer para 0,1, , 1

( , )n

n n n n

n N

x a nh

y y h f x y+

= − = +

= +

El valor Ny será el valor aproximado para ( )y b .

Ejemplo: Dado el problema de valor inicial:

==′

1)0(y

yy [ ] [ ]1,0,

),(

==

ba

yyxf

aproximar el valor de )1(y . Tomemos 2=N , entonces 5.0=h . Calculamos:

25.25.15.05.1),(

5.115.01),(

1112

0001

=∗+=+==∗+=+=

yxfhyy

yxfhyy

Page 9: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

149

o sea 25.2)1( ≅y .

Sabemos que la solución exacta es xexy =)( y entonces 718281828.2)1( == ey . Si aplicamos el algoritmo en este ejemplo tenemos

21111112

0000001

)1()1(),(

)1()1(),(

hhyyhyyxfhyy

hhyyhyyxfhyy

+=+=+=+=

+=+=+=+=

Repitiendo estos pasos llegaremos a n

n hy )1( += .

Si tomamos 10=N , entonces 1.0=h y obtenemos

5937.2)1.1()1()1( 101010 ==+=≅ hyy

Con 100=N , resulta que 01.0=h y obtenemos

70481.2)01.01()1( 100100 =+=≅ yy .

En este método debemos tomar un h muy pequeño si esperamos tener una buena aproximación. Ejemplo: Dado el problema de valor inicial: 31),( yxyxfy ==′ con 1)1( =y . Calculemos qué error local podemos cometer cerca de 1=x :

( )ξyh

e ′′=2

2

Calculamos las derivadas:

).3

11(

)(3

1

3

1

32231

3132313231

31

−−

+=

=+=′+=′′

=′

yxy

yxyxyyyxyy

yxy

Si suponemos 1=x e 1)1( =y , reemplazando queda

3

4)1( =′′y

Para 01.0=h , el error que se comete en el primer paso es del orden de 4

410 4 210 0.00007

2 3 3e

−−≅ = ≅

Después de cuatro pasos con errores de este orden la cuarta cifra decimal tiene poquísima probabilidad de ser exacta.

Page 10: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

150

En la tabla siguiente vemos la necesidad de tomar pasos muy pequeños para evitar errores grandes en la aproximación

x

1.0=h

05.0=h

01.0=h

232

3

2

+= xy

exacta

1 1 1 1 1

2 2.72 2.78 2.82 2.83

3 6.71 6.87 6.99 7.02

4 14.08 14.39 14.63 14.70

5 25.93 26.48 26.89 27.00

Ejemplo: Sea la ecuación diferencial

01

=+

+t

x

dt

dx

con condición inicial 12)0( =x .

Queremos obtener una solución numérica aproximada sobre el intervalo [ ]1,0 . Elegimos un paso 1.0=h . Calculamos:

81818.91.01

8.101.08.10

1.

8.10)12(1.0121.

12

1

112

0

001

0

=

+−=

+−=

=−=+

−=

=

t

xhxx

t

xhxx

x

Page 11: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

151

23 2

2

34 3

3

45 4

4

9.81818. 9.81818 0.1 9.00001 1.2

9. 9 0.1 8.3076921 1.3

8.307692. 8.307692 0.1 7.7142851 1.4

xx x h

t

xx x h

t

xx x h

t

= − = − = +

= − = − = +

= − = − = +

56 5

5

7.714285. 7.714285 0.1 7.1999991 1.5

xx x h

t = − = − = +

67 6

6

78 7

7

89 8

8

910 8

9

7.199999. 7.199999 0.1 6.7500001 1.6

6.75. 6.75 0.1 6.3529411 1.7

6.352941. 6.352941 0.1 5.9999991 1.8

5.999999. 5.999999 0.1 5.61 1.9

xx x h

t

xx x h

t

xx x h

t

xx x h

t

= − = − = +

= − = − = +

= − = − = +

= − = − = + 84210

La solución exacta de esta ecuación es t

tx+

=1

12)( de donde 6

2

12)1( ==x .

Estimación del error en el método de Euler

Se quiere estimar el error global, o sea el error acumulado después de n pasos del método

de Euler. Sabemos que el error local de truncamiento es ( )ξyh ′′2

2

, pero a la suma de estos

errores se agrega el error de ),( nn yxf .

Sea nnn yxye −= )( el error global después de n pasos y supongamos que la solución

)(xy tiene derivadas continuas hasta el orden dos. Por un lado tenemos

),(1 nnnn yxfhyy +=+ por el algoritmo de Euler (1).

Además ( )ξyh

xyhxyxy nnn ′′+′+=+ 2)()()(

2

1 , con [ ]1,int −∈ nn xxξ por Taylor.

Es decir que

( )ξyh

xyxfhxyxy nnnn ′′++=+ 2))(,()()(

2

1 (2).

Page 12: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

152

Restando (1) de (2) tenemos

[ ] ( )ξyh

yxfxyxfhyxyyxye nnnnnnnnn ′′+−+−=−= +++ 2),())(,())(()(

2

111

Aplicando el Teorema del Valor Medio a ),( yxf en la segunda variable tenemos

( )

[ ]

2

1 ( ( ) ) ( ( ) ) ( , )2

int , ( )

n n n n n n

n n

f he y x y h y x y x y

y

con y y x

α ξ

α

+∂ ′′= − + − +∂

Reemplazando nn yxy −)( por ne , resulta

( )ξ′′+∂∂+=+ y

hax

y

fhee nnn 2

))(1(2

1 .

Si suponemos que existen constantes positivas L, M tales que

[ ]( ) , ,y x M x a b′′ ≤ ∀ ∈

y ( ) Lyxy

f ≤∂∂

, [ ] ybax ∀∈∀ ,,

entonces

( ) Mh

hLee nn 21

2

1 ++≤+ .

Si queremos obtener el error 1+ne en función del error inicial, seguimos reemplazando

( ) Mh

hLee nn 21

2

1 ++≤ −

( ) ( )[ ]hLMh

hLee nn ++++≤ −+ 112

12

211 .

Si seguimos hacia atrás tendremos finalmente

( ) ( )[ ]Lh

LhM

hhLee

nn

n

11

21

121

01

−+++≤+

++

ya que el último término es una progresión geométrica de razón ( )hL+1 .

Escribamos la fórmula para n

( ) ( )[ ]112

10 −+++≤ nnn hL

L

MhhLee .

Si hacemos n

xxh n 0−= , obtenemos

( ) ( ) h

xxn n

hLhL0

11−

+=+

cuyo límite cuando h tiende a 0 es )( 0xxL ne −.

Además se verifica que ( ) )( 00

1 xxLh

xxn

n

ehL −−

≤+ .

Page 13: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

153

Este reemplazo da la fórmula más usual

( ) ( )( )12

1 00 −++≤ −xxLn

nne

L

MhhLee .

Si suponemos que la condición inicial 00)( yxy = es exacta, entonces 00 =e y

( )( )12

0 −≤ −xxLn

nehL

Me .

Esto muestra que el error es lineal en h por lo que se dice que el método de Euler es un método de orden 1. Hay casos para los cuales la desigualdad se transforma en igualdad. Ejemplo: Volvemos al problema

==′

1)0(y

yy

Con 10=N , y por lo tanto 1.0=h , habíamos obtenido 5937.210 =y

Calculemos las constantes L y M:

Como yyxf =),( , tenemos 11 =⇒=∂∂

Ly

f

Para calcular la cota M usaremos la solución exacta que conocemos xexy =)( . Tenemos

xexyxyxy ==′=′′ )()()(

como [ ]0.1 2.7182818...xe e en M e≤ ⇒ = = .

Entonces la cota es

10 0.1 ( 1) 0.242

ee e≤ − ≤

El error cometido es 2.05937.2 <−e , con lo que corroboramos que es menor que la cota

obtenida. La dificultad en la aplicación de la acotación del error está en que no siempre se pueden hallar las constantes L y M. Aún en un ejemplo sencillo como el anterior, tuvimos que recurrir a la solución exacta, que en general es desconocida. Ejemplo: Dado el problema de valor inicial:

==′

2)0(

sen

y

yy

Acotar el error cometido al aproximar )1(y en 10 pasos.

Page 14: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

154

En este caso 1.0=h y [ ] [ ]1,0,0 =Nxx .

Entonces ( )10 0.1 12

LMe e

L≤ − .

Como ( ) yyyyyy sen.coscos;sen =′=′ entonces ( ) 1y x x′′ ≤ ∀ .

Además cos 1f f

y x yy y

∂ ∂= ⇒ ≤ ∀ ∀∂ ∂

.

Tenemos entonces que 1== LM y resulta que

( )10

10.1 1 0.086.

2e e≤ − <

INTEGRACIÓN POR SERIES DE TAYLOR

Sea el problema:

==′

00)(

),(

yxy

yxfy .

Suponemos que ),( yxf tiene suficientes derivadas respecto a x y a y como para asegurar que lo que sigue tiene sentido. Si )(xy es solución del problema planteado, podemos escribir su desarrollo en serie de

Taylor en un entorno del punto 0x :

...)(!2

)()()()(

20

000 +′′−+′−+= xyxx

xyxxyxy

No conocemos explícitamente las derivadas pero sabemos que:

),( yxfy =′

fffyfffy yxyx +=′+=′=′′

ffffffffffffy yxyyyyxxyxx22 +++++=′′=′′′

2 22xx xy yy x y yf f f f f f f f f= + + + +

que se convierten en expresiones muy complejas si f no es sencilla. Si llamamos 0xxh −= y suponemos que la serie de Taylor truncada es una buena

aproximación, definamos el operador:

Page 15: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

155

1

( 1)( , ) ( , ) ( , ) ... ( , )2! !

kk

k

h hT x y f x y f x y f x y

k

−−′= + + + para ,...2,1=k

A partir de este operador, podemos definir aproximaciones ny al valor )( nxy , donde los

nx son puntos del intervalo [ ]ba, sobre el cual se busca la solución numérica y tales que

.22

1

0

etchax

hax

ax

+=+=

=

Para ello se utiliza la recursión

),(1 nnknn yxThyy +=+ 0,1,..., 1.n N= −

El error local será dado por )!1(

))(,()(1

+ξξ

=ε+

k

yfh kk

con ),( hxx nn +∈ξ .

Es decir que

)()!1(

)1(1

ξ+

=ε ++

kk

yk

h.

Se dice que el algoritmo de Taylor es de orden k si ε es )( 1+khϑ . Podemos comprobar que para 1=k tenemos el método de Euler. METODOS DE RUNGE-KUTTA Se utilizan expresiones del tipo

(♦)

++==

++=+

),(

),(

12

1

211

kyhxfhk

yxfhkcon

kbkayy

nn

nn

nn

βα

con βα ,,,ba constantes a determinar de manera que la expresión (♦) coincida con el algoritmo de Taylor con orden lo mayor posible.

Desarrollando y(x) según Taylor tenemos 2 3

( ) ( ) ( ) ( ) ( ) ...2 6n n n n n

h hy x h y x h y x y x y x′ ′′ ′′′+ = + + + +

Page 16: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

156

nynnnn fffh

yxfhxy )(2

),()(2

+++=

( )4223

)2(6

hfffffffffh

nyyxyyxyxx ϑ++++++

Por otro lado, el desarrollo de Taylor para funciones de dos variables da

1 1

2 2 2 231

1

( , ) ( , )

( )2 2

n n n n x y

xx xy yy

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

h kf h k f f h

α β α β

α βα β ϑ

+ + = + + +

+ + + +

con derivadas evaluadas en ),( nn yx .

Si reemplazamos esta expresión en la primera ecuación obtenemos

21

2 23 2 4

( ) ( )

( )2 2

n n x y

xx xy yy

y y a b h f b h f f f

b h f f f f f h

α β

α βα β ϑ

+ = + + + + +

+ + + +

Comparando con la expresión para )( 1+nxy vemos que para que los coeficientes

correspondan se necesita tener

=

=

=+

2

12

1

1

βb

bx

ba

.

Son 3 ecuaciones con 4 incógnitas: es decir que hay un grado de libertad en la solución.

La solución más sencilla es

==

==

12

1

βαba .

Método de RungeMétodo de RungeMétodo de RungeMétodo de Runge----Kutta de orden Kutta de orden Kutta de orden Kutta de orden 2222

Sea la ecuación ),( xtfdt

dx = con condición inicial 0)( xtx o = .

Fijamos el paso h y generamos una aproximación nx al valor de )( 0 nhtx + usando la

fórmula

)(2

1211 kkxx nn ++=+

donde

( )),(,

),(

2

1

nnnn

nn

xtfhxhtfhk

xtfhk

++==

.

Page 17: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

157

Nótese que 1+=+ nn tht y que ),( nnn xtfhx + es el punto 1+nx según el algoritmo de

Euler.

Si queremos calcular el error local para el método de Runge-Kutta de orden 2 nos encontramos con una expresión

32 2 4

1 1( ) ( 2 . . 2 2 . ) ( )12n n tt tx xx t x x

hx t x f f f f f f f f f hϑ+ +− = + + − − +

donde ft y fx indican derivadas parciales respecto de una y otra variable.

La complejidad del término constituye una desventaja para la estimación del error. Pero se sabe que el error local es del orden de h3 mientras que el error local en el método de Euler es del orden de h2.

Quiere decir que con Runge - Kutta podemos obtener una precisión dada tomando un paso h mayor que con el método de Euler. Algoritmo de RUNGE - KUTTA de orden 2

Dado el problema ),( yxfy =′ con condición inicial 0)( yay = a resolver sobre [ ]ba, y

dado b a

hN

−=

Hacer: ax =0

Hacer para 0,1,..., 1,i N= −

),(

),(

12

1

kyhxfhk

yxfhk

ii

ii

++==

hxx

kkyy

ii

ii

+=

++=

+

+

1

211 )(2

1

Entonces yi aproxima al valor y (xi) para cada i. Ejemplo: Sea el problema

==

=

01)0( xx

xdt

dx

Calcular )1(x con 5.0=h . Tenemos xxtf =),(

Page 18: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

158

( )

1 0 1 2

0 0 0

1( )

21

( )2

11 (0.5 0.5 (1.5) )

21 2.5

1 0.5 (2.5) 1 1.6252 4

x x k k

x h x h x h

= + +

= + + +

= + +

= + = + =

( )2 1 1 1

1 1 1

1( )

21 1

2 (1.5)4 2 8

2.64063

x x h x h x h

hx x x

= + + +

= + + = +

=

La solución exacta es tcex = y utilizando la condición inicial

0(0) 1 obtenemos 1x ce c= = = 71828.2)1( ==⇒ ex MMMMéééétodo de Rungetodo de Rungetodo de Rungetodo de Runge----Kutta de orden 4Kutta de orden 4Kutta de orden 4Kutta de orden 4

Partiendo de la ecuación

=

=

00)(

),(

yxy

yxfdx

dy

se establece la fórmula

1 1 2 3 4

1( 2 2 )

6n ny y k k k k+ = + + + +

donde

),(

)2

,2

(

)2

,2

(

),(

34

23

12

1

kyhxfhk

ky

hxfhk

ky

hxfhk

yxfhk

nn

nn

nn

nn

++=

++=

++=

=

Page 19: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

159

La demostración del cálculo del error local está fuera de las posibilidades de este curso, pero basta con saber que el mismo es del orden de 5h .

El error global es del orden de 4( )hϑ

Ejemplo: Sea la ecuación 1/3dyx y

dx= con condición inicial 1)1( =y

Tomando 1.0=h , calculamos:

11378.0)10684.1,1.1(1.0

10684.0)05336.1,05.1(1.0

10672.0)05.1,05.0(1.0

1.0)1,1(1.0

4

3

2

1

====

====

fk

fk

fk

fk

y entonces

10682.1)11378.0210684.0210672.01.0(6

101 =+×+×++= yy

Vemos la eficiencia del método en los resultados que se muestran en la tabla

t Runge-Kutta 4 Exacta

1 2 3 4 5

1.0 2.82843 7.02113 14.69693 26.99998

1.0 2.82843 7.02113

14.69694 27.00

Vale la pena comparar estos valores con los obtenidos usando el método de Euler con distintos pasos h. ANALOGIAS CON LOS METODOS DE INTEGRACION Supongamos que la ecuación diferencial es

=

=

00)(

)(

yxy

xfdx

dy (1)

es decir que la función f depende únicamente de la variable x. En este caso )(xy es una función primitiva de )(xf y se tiene

00

( ) ( ) ( )NN

xf t dt y x y x

x= −∫

o bien ∫+= dttfx

xyxy N

N )()(0

0 .

Page 20: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

160

Tenemos entonces dos formas de aproximar )( Nxy

i) resolviendo la ecuación diferencial

ii) calculando la integral

Lo que pretendemos aquí es resaltar que hay una correspondencia entre un método dado para resolver la ecuación diferencial y uno de los métodos de integración para calcular la integral.

Veamos:

A. i) Método de Euler

Aquí el algoritmo se resume en la fórmula:

N

xxhNnxfhyy N

nnn0

1 1,,1,0)(−−=+=+ …

Calculando obtenemos

[ ])()()()(

)(

101002

001

xfxfhxfhxfhyy

xfhyy

+=++=+=

.

. [ ])()( 100 −+++= NN xfxfhyy …

De donde )()(1

00 i

N

iN xfhyxy ∑

=

+≅

ii) Sumas izquierdas de Riemann (método del rectángulo)

Sabemos que

)()(1

00i

N

i

N xfhdttfx

x∫ ∑

=

Reemplazando en la ecuación (2), obtenemos

)()(1

00 i

N

iN xfhyxy ∑

=

+≅

que da la misma aproximación Ny que Euler.

Comparemos las cotas para el error obtenidas en ambos métodos. Al aproximar )(by con pasos de longitud h por el método de Euler tenemos

( )( 1)2

L b aMe h e

L−≤ −

siendo

Page 21: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

161

[ ][ ]

( ) ,

( , ) , ,y

y x M x a b

f x y L x a b y

′′ ≤ ∀ ∈

≤ ∀ ∈ ∀

En este caso tenemos )(),( xfyxf = y entonces como )(xfy =′ , resulta )(xfy ′=′′ .

Así la cota M es tal que [ ]baxMxf ,)( ∈∀<′ .

Además 0=yf o sea 0=L

Esto produce una indeterminación del tipo 0

0 en la cota para el error, que puede salvarse

tomando el límite cuando L tiende a 0 y calculándolo por la regla de L'Hôpital:

( ) ( )

0 0

( )

0

1 1lim (lim )

2 2( ) ( )

(lim )2 1 2

L b a L b a

L L

L b a

L

M e M eh h

L L

M b a e M b ah h

− −

→ →

− −= =

− −= =

que coincide con la cota obtenida en el método de sumas izquierdas de Riemann. Ejemplo: Dado el problema

2000

200(0) 0

yt

y

′ = − =

¿Qué paso h debe usarse para aproximar ( )50y con error menor que 210− ?

En este caso ( )tft

ytf =−

=200

2000),(

Usamos la cota ( )2

M b ae h

−≤ .

Como ( ) ( )2200

2000

ttf

−=′ , resulta que ( ) 2

20000.09

150f t′ ≤ ≤

Tomamos 09.0=M , obtenemos

( ) 20.09 5010

2 2

M b ah h −− ∗≤ < , de donde 0045.0<h .

B. i) Método de Runge-Kutta de orden 2

Page 22: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

162

En este caso la fórmula está dada por

( ) ( )( )( )nnnnnnnn yxfhyxfyxfh

yy ,,,2 11 +++= ++

.

Calculamos

( ) ( )( )

( ) ( )( ) ( ) ( )( )211002

1001

22

2

xfxfh

xfxfh

yy

xfxfh

yy

++++=

++=

.

.

( ) ( )( ) ( ) ( )( ) ( ) ( )( )0 0 1 1 2 1...2 2 2N N N

h h hy y f x f x f x f x f x f x−= + + + + + + +

Que puede escribirse

( ) ( ) ( )

∑+++=

=i

N

iNN xfxfxf

hyy

1

100 2

2

ii) Método de trapecios Recordemos que

( ) ( ) ( ) ( )

∑++≅−

=∫ i

N

iN

N xfxfxfh

dttfx

x 1

10

0

22

Por lo que obtenemos

( ) ( ) ( ) ( )

∑+++≅

=i

N

iNN xfxfxf

hyxy

1

100 2

2

que da la misma aproximación Ny que Runge-Kutta de orden 2. C. i) Método de Runge-Kutta de orden 4

Teniendo en cuenta que ( ) ( )xfyxf =, es

( ) ( )

++

++

+++=+ hxfh

xfh

xfxfh

yy nnnnnn 22

22

61

donde 2

hxn + es el punto medio del intervalo [ ]1, +nn xx , o sea

221++=+ nn

n

xxhx

Haciendo los cálculos se tiene:

( ) ( )

+

+++= 110

001 24

6xf

xxfxf

hyy

Page 23: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

163

( ) ( ) ( ) ( )

+

+++

+

+++= 221

1110

002 24

624

6xf

xxfxf

hxf

xxfxf

hyy

. . .

( ) ( ) ( )

+

++++

+++= −N

NNN xf

xxfxf

xxfxf

hyy

242

24

61

110

00 …

Finalmente:

( ) ( ) ( ) ( )

+∑+∑+++=≅ −

=

= 242

61

1

1

100

iiN

ii

N

iNNN

xxfxfxfxf

hyyxy

ii ) Método de Simpson

Es fácil observar que haciendo el cálculo de la integral de la misma aproximación Ny que

la obtenida en i) para Runge-Kutta de orden 4.

ECUACIONES DIFERENCIALES DE ORDEN N

Sea la ecuación diferencial

( )( ) ( ) ( ) ( )( )( )txtxtxtftx nn 1,,,, −′= … .

Aquí consideramos la derivada n-ésima de ( )tx como función de t y de las derivadas de

( )tx de orden < n. Es posible modificar esta ecuación de la siguiente forma:

Si llamamos ( ) ( )txtx =1 , obtenemos un sistema de ecuaciones:

( ) ( ) ( )( ) ( ) ( )

( ) ( ) ( )( ) ( )

1 2

2 3

11

1 2 3, , , , ,

nn n

n n

x t x t x t

x t x t x t

x t x t x t

x t f t x x x x

−−

′ ′= = ′ ′′= = ′ = =

′ =

Una ecuación diferencial de orden n puede llevarse a un sistema de n ecuaciones de orden 1 que se resuelven simultáneamente con cualquiera de los métodos vistos.

Ejemplo: Para una cierta especie de pájaros el tiempo invertido en la búsqueda de alimento varía desde un mínimo de 2 horas por día en verano a un máximo de 8 horas diarias en invierno. Se sabe que la variación en la longitud de estos períodos obedece a la ecuación

Page 24: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

164

( ) ( ) 0274.0 =+′′ txtx .

Podemos transformar esta ecuación en el sistema:

−=′=′

12

21

274.0 xx

xx

suponiendo ( )txx =1 . Para resolverlo, necesitamos las correspondientes condiciones iniciales. En general, obtenemos dos ecuaciones de primer orden que resolvemos simultáneamente, con cualquiera de los métodos estudiados. A modo de ilustración, veamos cómo resolver una ecuación de segundo orden utilizando el método de Runge-Kutta de orden 4. Sea la ecuación diferencial

( )xxtfx ′=′′ ,,

con condiciones iniciales ( ) ( ) 0000 , wtxxtx =′= . La transformamos en

( )( )

=′==′

wxtfw

wxtgwx

,,

,,

con condiciones iniciales ( ) ( )0 0 0 0,x t x w t w= = .

Las fórmulas correspondientes serán:

( )43211 226

1kkkkxx nn ++++=+

( )43211 1121216

1 ++++=+ nn ww

donde:

( )( )

( )

1

1

1 1 12

1 12

2 2 23

2 23

4 3 3

, ,

1 , ,

1 1, ,

2 2 2 2

11 , ,

2 2 2

1 1, ,

2 2 2 2

11 , ,

2 2 2

, , 1

n n n n

n n n

n n n n

n n n

n n n n

n n n

n n n

k h g t x w h w

h f t x w

khk h g t x w h w

khh f t x x

khk h g t x w h w

khh f t x x

k h g t h x k w

= =

=

= + + + = +

= + + +

= + + + = +

= + + +

= + + + = ( )( )

3

4 3 3

1

1 , , 1

n

n n n

h w

h f t h x k w

+

= + + +

Page 25: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

165

Ejemplo: Sea la ecuación diferencial

( ) ( ) 011.0 2 =+′−−′′ xxxx

con condiciones iniciales ( ) ( ) 00,10 =′= xx . La transformamos en el sistema

( ) ( ) ( )

=−−=′=′

wxtfxwxw

wx

,,11.0 2

En este caso las fórmulas son

( ) ( )[ ]

( )

+

+−+

+−=

+=

−+−=

=

2

1

211.0

21

2

1

11.01

1

2

112

12

21

1

nnn

n

nnn

n

wk

xk

xh

whk

wxxh

whk

( )

( )( ) ( ) ( )( ) ( )[ ]3

2334

34

2

2

22

3

2

3

111.01

1

2

1

211.0

21

2

1

++−++−=

+=

+

+−+

+−=

+=

nnn

n

nnn

n

wkxkxh

whk

wk

xk

xh

whk

Si tomamos 2.0=h obtenemos

1

1

2

1

3

3

4

4

0

1 0.2

0.02

1 0.2

0.002

1 0.198

0.04

1 0.196

k

k

k

k

== −= −= −= −= −= −= −

de donde calculamos

Page 26: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

166

( )

( ) 199.0196.0396.04.02.06

10

98.004.004.004.06

11

1

1

−≅−−−−+=

=−−−+=

w

x

Entonces ( ) 98.02.0 ≅x . Algunas veces podemos encontrar modelos de sistemas biológicos en los que aparecen ecuaciones diferenciales con dos funciones incógnitas. Es el caso de los sistemas "presas-depredadores", por ejemplo, que resolveremos transformando el sistema con dos incógnitas en una ecuación diferencial de orden superior en una sola incógnita, y luego transformando esta ecuación en un sistema de ecuaciones de primer orden. Ejemplo (Modelo de Lotka-Volterra):

Si ( )tx es la población de la especie depredadora e ( )ty es la población de la especie presa, y si se sabe que las tasas de crecimiento obedecen al sistema

( ) ( ) ( )( ) ( ) ( )

x t x t y t

y t x t y t

′ = + ′ = − +

con poblaciones iniciales ( ) ( ) 100000 == yx , queremos determinar los valores de

población ( )tx e ( )ty a lo largo de un cierto intervalo de tiempo.

Hacemos

( ) ( ) ( )tytxtx ′+′=′′

y sustituyendo por medio de las ecuaciones antes planteadas:

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

( ) ( )2 2

x t x t x t y t

x t x t x t x t

x t x t

′′ ′= − +

′ ′= − + −

′= −

( ) ( ) ( )2 2 0x t x t x t′′ ′⇒ − + =

Ahora, si ( ) ( )txtx =1 , formamos:

( ) ( )( ) ( ) ( ) ( )

−=′=′=

txtxtxtx

txtx

1223

12

22

Page 27: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

167

y resolvemos usando cualquiera de los métodos estudiados anteriormente.

CONTROL DE PASO EN LOS METODOS DE RUNGE-KUTTA

No hay razón alguna para que el paso h se mantenga fijo a lo largo del proceso de solución numérica con Runge-Kutta. Se puede estimar el error local en cada paso y decidir cómo cambiar la longitud h. Un método se basa en dividir o multiplicar la longitud del intervalo siguiente por dos.

Supongamos que usamos Runge-Kutta de orden p y que llegamos a xn con 1−−= nn xxh .

Ahora resolvemos para hxx nn +=+1 dos veces:

(a) usando h

(b) usando dos pasos con 2

h.

Obtenemos dos estimaciones del valor exacto ( )1+nxy : ( )1h ny x + y ( )1

2

+nh xy .

Para Runge-Kutta de orden p tenemos

( ) ( ) ( ) ( )1P Ph n n ny x m h y x m h C x m h h hϑ ++ − + = + +

�����

depende de ( ),f x y y de hmxx n +=

Entonces:

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( )

( ) ( )

11 1 1

11 1 1

2

1 12

1 12

2

2 1 2

2 1

n

p ph n n n

pp

h n n n

C

p h n h n

n p

h n h n

n p

y x y x C x h h

hy x y x C x h

y x y xh

C

y x y x

D

ϑ

ϑ

++ + +

++ + +

+ +

+ +

− = + − = +

⇒ ≈ −

−⇒ =

�����

que permite estimar si h está bien, es grande o es chico.

Page 28: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

168

Supongamos que nos damos una tolerancia de error ε y queremos mantener nD debajo

de la tolerancia para cada paso, es decir nD hε≤ .

Un método es calcular ( )1+nh xy y ( )1

2

+nh xy y decidimos si ( )1

2

+nh xy es aceptable y

cuál paso hay que usar en la próxima integración. Notar que si sólo duplicamos o dividimos en dos la longitud de cada subintervalo, podemos

poner una cota inferior para el error local 1

´2p

εε += , ya que al dividir el error se reduce en

12

1+≈

p.

Si:

• εε <<′h

Dn , aceptamos ( )1

2

+nh xy y seguimos usando h ;

• ε>h

Dn , hay que reducir h a 2

h y volver a hacer las cuentas a partir de nx ;

• ε ′>h

Dn , sobra tolerancia podemos tomar ( )1

2

+nh xy y seguir con h2 a partir de

1+nx .

Por ejemplo, para 4=p , tenemos 32εε =′ , pero es más fácil de calcular y estamos más

seguros si consideramos 50

εε =′ .

Otro método toma la siguiente forma:

1

22

+

≈P

nn

hCD .

Se busca h para el paso siguiente. Como el error local será cercano a 1

22

+

P

n

hC , se

elige h de manera que la cota del error local sea satisfecha

hh

CP

n ε≤

+1

22

suponiendo que nC no varía mucho con n. De esta forma tenemos:

Page 29: CAP TULO VIII Ecu dif

Facultad de Ciencias Exactas, UNCPBA CALCULO NUMERICO

Ecuaciones Diferenciales G.A. Canziani, M.V. Simoy

169

11 1

1

1 1

22 2 2

2 2

PP P

n

P P

n P P

P Pn

h h hC h

h h h hD

D h h h

ε

ε

ε

++ +

+

+ +

Entonces se modifica la longitud del paso según: 1

PP

n

P

n

h hh

D

hh h

D

ε

ε

Ejemplo: Supongamos que 4p = , 610−=ε , 110−=h y que nD resulta 510− .

Entonces

( ) ( ) 032.032.001.001.01.0 41 ==≈h .

Pero si 810−=nD , tenemos

( ) ( ) 18.08.11.0101.0 41 =≈≈h