Está en la página 1de 10

CAPITULO VI

VI.1. Ecuaciones Diferenciales Ordinarias. Una Ecuacin Diferencial es una ecuacin que relaciona dos o ms variables en trminos de derivadas o diferenciales de la siguiente forma:
dy = Cos ( x) dx
d 2 y dy + 8y = 0 dx 2 dx
3

2V 2V =0 + x 2 y 2 y puede ser usada como modelo matemtico de una variedad de fenmenos fsicos y no fsicos, en cualquier nmero de disciplinas cientficas y no cientficas. Ejemplos de tales fenmenos incluyen lo siguiente: problemas de presin de flujos (Termodinmica), circuitos elctricos simples (Ingeniera Elctrica), problemas de fuerzas (Mecnica), tasas de crecimiento bacteriolgico (Ciencias Biolgicas), tasa de descomposicin de material radiactivo (Fsica Atmica), tasas de cristalizacin de un compuesto qumico (Qumica) y tasa de crecimiento poblacional (Estadstica). En un curso introductorio de Ecuaciones Diferenciales, se le ensea al estudiante a utilizar el mtodo general que parece mejor para la solucin de la Ecuacin Diferencial Lineal de Primer Orden. La solucin general de una ecuacin de este tipo consiste en una familia de curvas llamadas Curvas Integrales.

Mtodos Numricos

Se puede determinar una solucin particular de la ecuacin si se especifica una condicin de la curva solucin. Por ejemplo, si se requiere que la solucin particular (curva) pase a travs del punto P(xn, yn), entonces se obtiene una solucin particular, esto es conocido como un problema de Valor de Inicial. En el presente captulo se estudiarn los mtodos alternos para la solucin de Ecuaciones Diferenciales en problemas de Valor Inicial. VI.2. Mtodo de Euler. El mtodo de Euler es el ms simple de los algoritmos para resolver una Ecuacin Diferencial Ordinaria. Sin embargo, esta simplicidad permite explicar algunas propiedades y caractersticas de este y otro mtodos de solucin de Ecuaciones Diferenciales Ordinarias. En general, una ecuacin diferencial tiene la forma: M(x,y) dx + N(x,y) dy = 0 la cual se simplifica de la siguiente manera:
dy = f ( x, y ) dx

Dada una Ecuacin Diferencial de la forma anterior y el valor inicial f(x0) = y0 se pueden calcular valores de soluciones aproximadas si se aplican integrales a ambos lados de la ecuacin, de la siguiente manera:

dy = f ( x, y)dx
Esto implica que el problema se reduce a calcular el rea bajo la curva f(x,y), la cual se puede aproximar formando pequeos rectngulos de base x, segn se muestra en la Figura VI.1.

86

Mtodos Numricos

Figura VI.1. Mtodo de Euler. En la figura se tiene: As, el rea del primer rectngulo es: En general se cumple: Por otra parte: Lo cual puede se escrito como: Pero: Por lo tanto: Despejando: O tambin: xi+1 xi = x A0 = x y0 A1 = x y1 y' = dy y = dx x

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

Esto constituye el Mtodo de Euler y es la forma ms sencilla, aunque tambin la ms inexacta, de evaluar una Ecuacin Diferencial Ordinaria. Para este mtodo se tiene el siguiente algoritmo: 87

Mtodos Numricos

Algoritmo Euler Definir f(x,y) Leer x1, y1, x, n Para i = 1 hasta n y = f(x1, y1) y2 = y1 + y x Imprimir y2 x1 = x1 + x y1 = y2 fin_para Terminar Ejemplo: Calcular tres trminos para la siguiente ecuacin: y' = x x+ y con f(1) = 1.0 y x = 0.1

Para la solucin de este problema se construye una tabla de la siguiente manera: i 0 1 2 3 xi 1.0 1.1 1.2 1.3 yi 1.0000 1.0500 1.1012 1.1533 yi 0.5000 0.5116 0.5215 yi+1 1.0500 1.1012 1.1533

Para la construccin de la tabla, tngase en cuenta lo siguiente: ( a ) La primera columna determina el nmero de iteraciones a trabajar. ( b ) Las segunda columna empieza con el valor inicial de x, incrementndose x cada iteracin. ( c ) La tercera columna empieza con el valor inicial de y y los dems valores se calculan en las siguientes columnas. ( d ) La cuarta columna es la evaluacin de la frmula trabajada con los valores de xi y yi de la misma fila. ( e ) Finalmente, se evala la frmula de Euler con los valores obtenidos con anterioridad. VI.3. Mtodo Predictor Corrector de Euler. Si se hiciera una comparacin entre los resultados obtenidos por el mtodo de Euler y algn mtodo tradicional, se observara un aumento en el error conforme se trabaje con ms iteraciones. Para averiguar el porqu de este comportamiento, obsrvese la Figura VI.2; en esta figura se observa que el error obtenido de la primera iteracin se suma al error 88

Mtodos Numricos

obtenido en la segunda y as sucesivamente (en la figura, la lnea delgada representa a los valores obtenidos por el mtodo de Euler).

Figura VI.2. Error en el mtodo de Euler. Esta aproximacin tan pobre puede mejorarse si se toman trapecios en lugar de rectngulos en el clculo del rea bajo la curva. En el mtodo de Euler se utiliza la frmula siguiente: yi+1 = yi + h yi donde por facilidad se han modificado los nombres de x por h y de f(x,y) por y. Si se considera h como la altura del rectngulo y y como la base, al tomar trapecios, se cambiara el segundo sumando por: h (yi + yi+1)/2 el cual representa el rea del trapecio. As, la frmula queda como: y i +1 = y i + h devolviendo a y su nombre de funcin se tiene: y i' + y i' +1 2

y i +1 = y i + h

[ f ( xi , yi ) + f ( xi +1 , yi +1 )]
2

Esta frmula es conocida como Mtodo de Gauss; sin embargo, surge un problema con el mtodo. Para calcular el valor de yi+1 se requiere conocer el valor de yi+1. Para solucionar este problema se utilizan los dos mtodos en conjunto prediciendo un valor de yi+1 con el mtodo de Euler y corrigiendo despus con el mtodo de Gauss (de aqu los nombres de 89

Mtodos Numricos

Mtodo Predictor Corrector y Mtodo de Euler Gauss con los que se conoce este mtodo). Adems, el mtodo de Gauss permite corregir el valor calculado de yi+1 tanto como se quiera de acuerdo a una predefinida, de la siguiente manera: ( a ) Si | yi+1c yi+1p | < , entonces yi+1c es la aproximacin buscada. ( b ) Si | yi+1c yi+1p | > , entonces se calcula de nuevo yi+1c, utilizando yi+1c como yi+1p. donde yp representa la y predicha por el mtodo de Euler y yc representa la y corregida por el mtodo de Gauss. Para este mtodo se tiene el siguiente algoritmo: Algoritmo Euler_Gauss Definir f(x,y) Leer x1, y1, x, n, Para i = 1 hasta n y = f(x1, y1) yp = y1 + y x x1 = x1 + x Repetir y2 = f(xi, yp) yc = y1 + (y + y2) x/2 d = | yc y p | yp = yc hasta d < Imprimir yc y1 = yc fin_para Terminar Ejemplo: Calcular por el mtodo Predictor Corrector de Euler tres iteraciones para: y = x + y con y(0) = 1, h = 0.1 y = 0.001

Para la solucin de este problema se construye una tabla de la siguiente manera: i 0 1 2 3 xi 0.0 0.1 0.2 0.3 yi yi ypi+1 1.0000 1.0000 1.0000 1.1100 1.1105 1.2105 1.2316 1.2426 1.2431 1.4431 1.3874 1.3996 1.4002 90 xi+1 0.1 0.2 0.3 yi+1 1.2000 1.2100 1.4316 1.4426 1.6874 1.6996 yci+1 1.1100 1.1105 1.2426 1.2431 1.3996 1.4002 0.1100 0.0005 0.0110 0.0005 0.0122 0.0006

Mtodos Numricos

Para la construccin de la tabla, tngase en cuenta lo siguiente: ( a ) La primera columna determina el nmero de iteraciones a trabajar. ( b ) Las segunda columna empieza con el valor inicial de x, incrementndose x cada iteracin. ( c ) La tercera columna empieza con el valor inicial de y y los dems valores se calculan en las siguientes columnas. ( d ) La cuarta columna es la evaluacin de la frmula trabajada con los valores de xi y yi de la misma fila. ( e ) La quinta columna es la evaluacin del valor predicho (mtodo de Euler). ( f ) La sexta columna es el valor de la segunda fila incrementado en x. ( g ) La sptima columna es la evaluacin de la frmula trabajada con los valores de xi+1 y ypi+1 de la misma fila. ( h ) La octava columna es la evaluacin del valor corregido (mtodo de Gauss). ( i ) La novena columna es la diferencia (en valor absoluto) de yp con yc. Si este valor es menor a la se procede a realizar una iteracin interna, pasando la yc a yp. ( j ) Cuidado !. En las iteraciones internas slo se llenan las columnas de la cinco en adelante, teniendo en cuenta que la xi+1 es la misma que la anterior. ( k ) Finalmente, al llegar al valor de se concluye la iteracin interna, descendiendo el valor de yc a yi y se determina la siguiente iteracin, si la hay, segn el mtodo antes descrito (a partir del inciso a). VI.4. Mtodo de Runge Kutta. Debe ser notorio que los mtodos anteriores para solucionar Ecuaciones Diferenciales tienen una misma forma general, la cual es: yi+1 = yi + h (xi, yi) en donde la funcin (xi, yi) vara segn el mtodo estudiado. Lo anterior se debe a que ambos son mtodos pertenecientes a la misma familia de mtodos denominados Mtodos de Runge Kutta; as, el mtodo de Euler es el Mtodo de Runge Kutta de Primer Orden y el mtodo de Gauss es el Mtodo de Runge Kutta de Segundo Orden. Existen mtodos de Runge Kutta de Tercer Orden, de Cuarto Orden, etc. La diferencia fundamental entre los mtodos de la familia estriba en que conforme el error se va haciendo ms pequeo, el mtodo se va haciendo ms complicado. El mtodo de la familia que resulta ms accesible y de menor error es el llamado Mtodo de Runge Kutta de Cuarto Orden (conocido simplemente como Mtodo de Runge Kutta) y est dado, en su forma general, por la frmula siguiente: yi+1 = yi + h (xi, yi) donde: (xi, yi) = (k1 + 2 k2 + 2 k3 + k4) / 6

91

Mtodos Numricos

y en la cual:

k1 = f(x, y) hk h k2 = f x + , y + 1 2 2 hk h k3 = f x + , y + 2 2 2 k4 = f(x + h, y + h k3)

para este mtodo se tiene el siguiente algoritmo: Algoritmo Runge_Kutta Definir f(x,y) Leer x1, y1, x, n Para i = 1 hasta n k1 = f(x, y) k2 = f(x + x/2, y + x k1/2) k3 = f(x + x/2, y + x k2/2) k4 = f(x + x, y + x k3) = (k1 + 2 k2 + 2 k3 + k4) / 6 y = y + x x = x + x Imprimir x, y fin_para Terminar Ejemplo: Calcular por el mtodo de Runge Kutta tres iteraciones para: y = x + y con y(0) = 1 y h = 0.1

Para la solucin de este problema se construye una tabla de la siguiente manera: x 0.0 0.1 0.2 0.3 y 1.0000 1.1103 1.2427 1.3996 k1 1.0000 1.2103 1.4427 k2 1.1000 1.3208 1.5648 k3 1.1050 1.3263 1.5709 k4 1.2105 1.4429 1.6998 (x, y) 1.1034 1.3246 1.5689 yi+1 1.1103 1.2427 1.3996

92

Mtodos Numricos

Para el llenado de la tabla se tiene: ( a ) La primera columna son los valores de x segn el valor inicial y el incremento dados. ( b ) Las segunda columna empieza con el valor de y dado y los dems elementos se evalan en las siguientes columnas. ( c ) Las columnas tres, cuatro, cinco y seis se evalan con los valores x y y dela fila en la correspondiente ecuacin. ( d ) La sptima columna es la evaluacin de la funcin segn los valores de ki. ( e ) Finalmente, se evala el valor nuevo de y segn la frmula de Runge - Kutta. VI.5. Solucin de Sistemas de Ecuaciones Diferenciales. Muchos problemas prcticos de ciencia e ingeniera requieren de la solucin de un sistema de ecuaciones diferenciales ordinarias en lugar de una sola ecuacin. Tales sistemas se pueden representar como: y1 = f1(x, y1, y2, . . ., yn) y2 = f2(x, y1, y2, . . ., yn) ... ... ...

yn = fn(x, y1, y2, . . ., yn) La solucin de este sistema requiere que las n condiciones iniciales se conozcan en un valor inicial de x. Todos los mtodos para ecuaciones simples pueden extenderse para el sistema mostrado anteriormente. Las aplicaciones de la ingeniera pueden implicar la solucin de varios cientos de ecuaciones simultneas. En este caso el procedimiento de solucin del sistema de ecuaciones simplemente significa aplicar el mtodo de un paso a cada una de las ecuaciones antes de continuar con el siguiente paso. Esto se ilustra en el siguiente ejemplo. Ejemplo: Resulvase el siguiente sistema de ecuaciones diferenciales utilizando el mtodo de Euler, suponiendo que en x = 0, y1 = 4 y y2 = 6. Intgrese a x = 2 en incrementos de 0.5. y1 = - 0.5 y1 y2 = 4 0.3 y2 0.1 y1 Solucin: El mtodo de Euler se implementa como sigue: y1 (0.5) = 4 + [ - 0.5 ( 4 ) ] ( 0.5 ) = 3 y2 (0.5) = 6 + [ 4 0.3 ( 6 ) 0.1 ( 4 ) ] ( 0.5 ) = 6.9

93

Mtodos Numricos

Obsrvese que y1(0) = 4 se usa en la segunda ecuacin en vez de y1(0.5) = 3, calculado con la primera ecuacin. Procediendo de una manera semejante se obtiene: x 0.0 0.5 1.0 1.5 2.0 y1 4.000000 3.000000 2.250000 1.687500 1.265625 y2 6.0000000 6.9000000 7.7150000 8.4452500 9.0940875

Algoritmo para la computadora para la solucin de sistemas de Ecuaciones Diferenciales Ordinarias. El programa para resolver una sola ecuacin diferencial ordinaria con el mtodo de Euler se puede extender fcilmente a un sistema de ecuaciones. Las modificaciones incluyen: 1. Introducir el nmero de ecuaciones, n. 2. Introducir los valores iniciales para cada una de las n variables dependientes. 3. Modificar la subrutina de tal manera que calcule las pendientes de cada una de las variables. 4. Incluir funciones adicionales para calcular las derivadas de cada una de las ecuaciones diferenciales ordinarias. 5. Incluir las ecuaciones restantes para calcular un nuevo valor de cada una de las variables dependientes. Obsrvese que cualquiera de los mtodos de este captulo se pueden usar para este algoritmo. La nica diferencia sera la formulacin de la subrutina que calcula las pendientes. El mtodo clsico de Runge Kutta de cuarto orden es una buena alternativa para este propsito ya que proporciona una exactitud excelente y es relativamente fcil de programar. Una caracterstica importante de un programa de computadora para resolver sistemas de ecuaciones diferenciales ordinarias con el mtodo de Runge Kutta es la secuencia de clculo de las k.

94

También podría gustarte