Sie sind auf Seite 1von 38

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politcnica de la Fuerza Armada

Ncleo Maracay Departamento de Ingeniera en Telecomunicaciones

Facilitador: Ing. Jhonny Molleja.

Alumnas: Herrera H. Gisel C. C.I. 18.804.484. Leal B. Carla C. C.I. 18.884.659. Seccin ITD 702.

Maracay, 29 de mayo de 2012.

TABLA DE CONTENIDO Pgs. 1.Introduccin...............................................................................................................4 2. Mtodos del tipo Runge-Kutta..................................................................................7 2.1 Mtodo de Euler (Runge-Kutta de 1er orden).............................................7 2.2 Mtodo de Euler modificado (Runge-Kutta de 2o orden)...........................9 2.3 Mtodo de Euler-Cauchy modificado (Runge-Kutta de 2o orden)............10 2.4 Mtodo de la regla de Simpson (Runge-Kutta de 3er orden)....................10 2.5 Mtodo de Heun (Runge-Kutta de 3er orden)...........................................11 2.6 Runge-Kutta de 4o orden (clsico).........................................................11 2.7 Runge-Kutta-Simpson de 4o orden............................................................12 2.8 Mtodos RungeKutta de paso variable....................................................12 2.8.1 Runge-Kutta-Fehlberg de 2o orden.12 2.8.2 Runge-Kutta-Fehlberg de 4o orden.13 2.9 Error por truncamiento y error por redondeo............................................ 14 2.10 Sistemas rgidos.......................................................................................15 2.11 Efecto del paso de integracin sobre la exactitud de la solucin.............15 3. Mtodos de integracin numrica............................................................................17 3.1 Frmulas directas, Mtodos de Adams-Bashforth.....................................18 3.1.1 Mtodo de segundo orden...18 3.1.2 Mtodo de cuarto orden..19 3.2 Frmulas implcitas, Mtodos de Adams-Moulton...................................19 3.2.1 Mtodo de segundo orden...19 3.2.2 Mtodo de cuarto orden..19 3.3 Mtodos predictor - corrector....................................................................19 3.3.1 Mtodo trapezoidal modificado (2o orden)20 3.3.2 Mtodo de Adams-Bashforth-Moulton de 4o orden...20 3.3.3 Mtodo de Milne de 4o orden.....21 3.3.4 Mtodo de Milne de 6o orden.....21 2

3.4 Algoritmo de solucin................................................................................22 4. Ejemplos del uso de algunos mtodos.....................................................................23 4.1 Mtodo de la regla de Simpson en MATLAB...........................................23 4.2 Mtodo de Adams-Bashforth de 2o orden en Scilab.................................24 4.3 Solucin de una ecuacin diferencial de segundo orden...........................26 4.4 ODE Solvers en MATLAB y Simulink.................................................29 4.4.1 Mtodos de paso variable....29 4.4.2 Mtodos de paso fijo (solo en Simulink)30 4.4.3 Ejemplo...30 4.5 ODE Solvers en Scilab...........................................................................32 4.6 Mtodos de integracin en VisSim............................................................34 5. Comparacin de los mtodos de solucin de EDO.................................................34 6. Conclusin...............................................................................................................37 7. Referencias Bibliogrficas...38

Introduccin El estudio de los procesos dinmicos y sus sistemas de control, debe iniciarse con la obtencin de una representacin matemtica de las relaciones existentes entre las diferentes variables involucradas en el proceso a controlar, a la que usualmente se denomina modelo del sistema. El proceso de modelado de un sistema dinmico, puede llevar a la obtencin de una representacin para el mismo por medio de una ecuacin diferencial de orden alto, o por un conjunto de ecuaciones diferenciales de primer orden no lineales, cuya solucin se debe obtener para conocer la respuesta temporal del sistema, a partir un conjunto de condiciones iniciales y una entrada dada. La solucin analtica de una ecuacin diferencial lineal puede ser fcil, de varias ya presenta dificultades y de muchas es prcticamente imposible. Si las ecuaciones diferenciales son no lineales, el resolver una sola es muy difcil y varias o muchas es imposible por medios analticos. Como es normal que el modelo obtenido para el sistema que se desea analizar, est constituido por varias ecuaciones diferenciales no lineales, este solamente puede resolverse con la ayuda de un programa de simulacin digital. Para el desarrollo de un programa de simulacin de sistemas dinmicos, es necesario entonces contar con un mtodo de solucin de ecuaciones diferenciales. Se presentarn adelante en forma breve, algunos de los mtodos numricos de solucin de ecuaciones diferenciales ordinarias (EDO), ms empleados en la simulacin digital de los sistemas dinmicos. Para solucionar la ecuacin diferencial de primer orden tenemos: ( ) ( )

Ecuacin #1

Para encontrar y en una secuencia de valores de la variable independiente t {ti} dentro de un intervalo de solucin [t0, tf], donde f (y, t) es una funcin no lineal cualquiera. La obtencin de la solucin de (1) es conocida como el problema del 4

valor inicial en la solucin de ecuaciones diferenciales y para esto, se dispone de dos tipos de mtodos de solucin: 1. Mtodos en los cuales f (y , t) ser evaluada solamente en los puntos

(yi, ti), donde yi es el valor de y en t = ti y que se denominan Mtodos de integracin numrica 2. Mtodos en los cuales f (y , t) ser evaluada adems, en puntos

distintos de (yi, ti) y que se denominarn Mtodos del tipo Runge-Kutta. Si se define a Y(t) como la solucin exacta de (1) y a y(t) como la solucin calculada, entonces :

Ecuacin #2

Ecuacin #3

Ecuacin #4

Como Y es la solucin verdadera, f (Yn, tn) es igual a dY/dt|t=tn , sin embargo y(t) solamente existe en los instantes n = 1, 2, 3, ... El intervalo de tiempo entre dos instantes consecutivos de la solucin, denominado usualmente paso de integracin t , puede permanecer constante sobre un determinado nmero de intervalos de la solucin, o variarse cuando consideraciones de error lo hagan deseable. En la obtencin de los mtodos numricos para la solucin de las ecuaciones es importante considerar entonces: Cuanto error se comete en cada paso del clculo y como afecta este los

pasos siguientes, esto es, cmo se propaga el error La habilidad del mtodo para estimar el error en una etapa de clculo,

en funcin de los resulta- dos obtenidos La iniciacin del mtodo (se conoce la condicin inicial y0 pero como

se ver, algunos mtodos numricos requieren conocer adems, los valores de y en 5

ms de un punto anterior para calcular el siguiente) y la velocidad del mtodo. En la presentacin siguiente de los diferentes mtodos de solucin de ecuaciones diferenciales, se considerar la solucin de una sola ecuacin diferencial no lineal de primer orden, sin embargo todos ellos son fcilmente extensibles al caso de un conjunto de ecuaciones diferenciales de primer orden no lineales simultneas, considerando a todas las variables y ecuaciones como vectores. Si el modelo est representado por una ecuacin diferencial de orden alto, es necesario convertirla primero en un conjunto de ecuaciones diferenciales de primer orden simultneas para su solucin.

2. Mtodos del tipo Runge-Kutta La base de todos los mtodos del tipo Runge-Kutta es expresar la diferencia entre los valores de y en tn+1 y tn como: Yn+1 Yn =
Ecuacin #5

ki

Donde los

son constantes y los:

Ecuacin #6

Con

. Dadas las constantes

, la solucin es directa. Los mtodos del tipo

Runge-Kutta se caracterizan por: Ser auto-iniciables. Requerir solamente informacin del punto n para calcular la solucin en el punto n+1. Evaluar en cada iteracin la funcin (derivada) tantas veces como el orden del mtodo, y Por no poseer forma de estimar en error cometido, a menos que se utilicen simultneamente dos mtodos de distinto orden. En los mtodos del tipo Runge-Kutta el nmero de veces que es necesario evaluar la ecuacin diferencial es igual al orden del mtodo, lo cual repercute directamente sobre su velocidad. Sin embargo a medida que aumenta el orden del mtodo, este tiene una mayor exactitud para un paso de integracin dado, por lo que ser posible utilizar un paso de integracin mayor para un grado de exactitud deseado. 2.1 Mtodo de Euler (Runge-Kutta de 1er orden) Integracin rectangular Se puede calcular el valor de la integral de y en el instante tn+1=tn+ mediante la expansin de la siguiente ecuacin en una serie de Taylor: 7 ,

Ecuacion#7

Sustituyendo la ecuacin #1 en la ecuacin #7 se obtiene que:

Ecuacin #8

Si se reduce sustancialmente el valor del paso de integracin t, se pueden despreciar los trminos con t2 y superiores con lo que se obtiene que:

Ecuacin #9

El cual es el conocido mtodo de integracin rectangular o mtodo de Euler. La ecuacin #9 se puede reescribir para expresarla en la forma general de los mtodos del tipo Runge-Kutta dada por la ecuacin #5 y #6 quedando esta entonces como:

Ecuacin #10

Este mtodo se dir que es de primer orden por haberse truncado los trminos que contenan ms all de la primera potencia de t. La omisin de estos trminos dar el error por truncamiento inherente del mtodo, el cual se dir en este caso que es O ( t2) o del orden de t2. El mtodo de Euler estima el valor de la solucin en el instante n + 1 a partir de la extrapolacin del valor de la ecuacin diferencial en el instante n, tangente de la solucin, por un paso de integracin t como se muestra en la Figura 1.

Figura 1. Integracin rectangular Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

2.2 Mtodo de Euler modificado (Runge-Kutta de 2o orden) El mtodo de Euler es un mtodo de un paso y el ms simple de los mtodos del tipo Runge-Kutta. Un mtodo de segundo orden o de dos pasos, est dado por las siguientes ecuaciones:

Ecuacin #11

Este mtodo coincide con la serie de Taylor (8) hasta el trmino t2 por lo que su error por truncamiento ser O ( t3). El mtodo de Euler modificado utiliza el valor de la ecuacin diferencial al centro del paso de integracin, extendindolo a todo su ancho segn se aprecia en la Figura 2.

Figura 2. Mtodo de euler modificado. Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

2.3 Mtodo de Euler-Cauchy modificado (Runge-Kutta de 2o orden) Integracin trapezoidal Este es otro mtodo de segundo orden y sus ecuaciones son:

Ecuacin #12

El mtodo de integracin trapezoidal utiliza un promedio del valor de la ecuacin diferencial al inicio (n) y final (n+1) del paso de integracin, como se indica en la Figura 3.

Figura 3. Integracin trapezoidal. Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

2.4 Mtodo de la regla de Simpson (Runge-Kutta de 3er orden) Este es un mtodo de tres pasos dado por:

Ecuacin #13

Por un error de truncamiento O ( t4). 10

2.5 Mtodo de Heun (Runge-Kutta de 3er orden) Este es otro mtodo de tres pasos y est dado por: ( ( ( (
Ecuacin #14

) ) ) )

Con un error de truncamiento O ( t4). 2.6 Runge-Kutta de 4o orden (clsico) El mtodo de Runge-Kutta de cuarto orden, es el utilizado con ms frecuencia en la simulacin de los sistemas dinmicos y sus ecuaciones son: ( ( ( ( (
Ecuacin #15

) ) ) ) )

El error por truncamiento de este mtodo es O ( t5), siendo adems mucho ms estable que los anteriores. Existen varios mtodos Runge-Kutta de 4o orden. Adems del anterior, cuyos coeficientes se atribuyen a Kutta, existe el Runge-KuttaGill en que se minimiza la memoria utilizada, el Runge-Kutta-Ralston en el que se minimiza el error por truncamiento, el Runge-Kutta-Merson que es una extensin para hacerlo de paso variable, esto a costa de una evaluacin adicional de las ecuaciones del sistema para poder estimar el error y tomar decisiones sobre el tamao del paso y otros ms. 11

2.7 Runge-Kutta-Simpson de 4o orden Este es otro mtodo de cuarto orden con un error por truncamiento O ( t5) son: ( ( ( ( (
Ecuacin #16

) ) ) ) )

2.8 Mtodos RungeKutta de paso variable Los mtodos del tipo Runge-Kutta no tienen forma de evaluar el error cometido en cada iteracin, sin embargo es posible combinar dos mtodos orden diferente o utilizar un mtodo con dos pasos de integracin diferentes, para estimar el error y en base a este, decidir si es necesario o no cambiar el tamao del paso de integracin (reducirlo o incrementarlo), tenindose entonces un mtodo de paso variable. Por ejemplo, los mtodos Runge-Kutta-Fehlberg son mtodos del tipo Runge-Kutta en los cuales se combinan dos mtodos de diferente orden, para poder estimar el error cometido en cada iteracin de la solucin. 2.8.1 Runge-Kutta-Fehlberg de 2o orden Este mtodo est dado por las siguientes ecuaciones: ( ( ( ) ) )

Ecuacin #17

Donde

es el paso de integracin variable, el cual debe dividirse a la mitad si el 12

Error >ErrAbs +ErrRel|


Ecuacin #18

Y puede duplicarse si el donde Error < (ErrAbs+ErrRel|


Ecuacin #19

|)/100

Donde Error = |
( )

Ecuacin #20

Es el error por truncamiento estimado y ErrAbs y ErrRel son el error absoluto y relativo utilizados para controlar el paso de integracin. 2.8.2 Runge-Kutta-Fehlberg de 4o orden En este mtodo se utiliza un mtodo de quinto orden para estimar el error cometido por un mtodo de cuarto orden y tomar decisiones sobre el tamao del paso de integracin y est dado por las siguientes ecuaciones: ( ( ( ( ( (
Ecuacin #21

) ) ) ) ) )

Donde Se calcula

es el paso de integracin variable.

R=

|
Ecuacin #22

13

Siendo este |
( ) ( )|

Ecuacin #23

(
Ecuacin #24

| )

Si RTolE, donde TolE es la tolerancia o error permitido en la solucin, se calcula el nuevo punto de la solucin:

Ecuacin #25

Y el nuevo paso de integracin como t' = cuadruplica ( t' =

t' si 4 el paso solo se

t'), y se continua con la solucin a partir del punto n+1. t', si 0.1

Si R>TolE, se calcula el nuevo paso de integracin como t' = el paso se reduce solo a su dcima parte ( t' =

t'), y se parte del punto n anterior.

2.9 Error por truncamiento y error por redondeo Se indic anteriormente que el error producido cuando el paso de integracin t no es suficientemente pequeo para representar la solucin de la ecuacin diferencial en forma exacta, se denomina error por truncamiento, al haber truncado la serie de Taylor y no incluir trminos ms all de un cierto tk . Sin embargo, por otra parte consideraciones numricas as como el tiempo total de solucin, requieren que el t no se haga demasiado pequeo. La razn para esto es que el error por redondeo es mayor para pasos de integracin pequeos debido al gran nmero de iteraciones requeridas para obtener la solucin. El error por redondeo es el error resultante de la imposibilidad del computador digital de representar un nmero con ms de un nmero de cifras significativas y esto depender del largo de palabra utilizado para la representacin numrica. Cuando el paso de integracin es grande el error dominante es el error por truncamiento, mientras que para pasos pequeos, es ms importante el error por 14

redondeo. 2.10 Sistemas rgidos Se dice que un sistema es rgido cuando presenta caractersticas dinmicas lentas y rpidas en forma simultnea, esto es que contiene unos elementos dinmicos con constantes de tiempo pequeas y otros con constantes de tiempo grandes, como podra ser el caso de un sistema electro- mecnico en donde las constantes de tiempo de los componentes elctricos, pueden ser muy pequeas en comparacin con las constantes de tiempo de los componentes mecnicos. La presencia de dinmicas lentas y rpidas dentro del mismo sistema de ecuaciones diferenciales, introduce dificultades al momento de obtener su solucin numrica. Para garantizar la estabilidad y exactitud de la solucin de las ecuaciones de la parte dinmica rpida, se puede requerir un paso de integracin pequeo, el cual puede ser demasiado pequeo para la solucin de la parte dinmica lenta, extendiendo innecesariamente la obtencin de la solucin en todo el intervalo de solucin deseado, si el paso se mantiene constante. Una posible solucin al problema planteado por la presencia de constantes de tiempo muy diferentes, puede ser la utilizacin de mtodos de paso variable, los cuales pueden ajustar el paso de integracin de acuerdo a los requerimientos del sistema, utilizando pasos pequeos inicialmente y luego que la parte de dinmica rpida haya desaparecido, utilizando entonces paso de integracin mayor, sin embargo esto tiene un costo extra por la necesidad de efectuar evaluaciones adicionales de las ecuaciones diferenciales y comparaciones para determinar el ajuste del paso. Para la solucin de los sistema rgidos son usualmente preferidos los mtodos numricos de solucin de ecuaciones diferenciales basados en las frmulas de diferencias retrgradas implcitas. 2.11 Efecto del paso de integracin sobre la exactitud de la solucin El tamao del paso de integracin utilizado para la solucin de la ecuacin diferencial, afecta di- rectamente la exactitud de la misma. Normalmente se desea 15

emplear el paso de integracin mayor posible para obtener una solucin rpida, pero no tan grande que introduzca errores apreciables en esta. Al utilizar los mtodos de integracin de paso fijo, es responsabilidad del usuario la seleccin del paso de integracin adecuado. En la Figura 4 se muestra la solucin de la ecuacin diferencial ( ) , utilizando el mtodo de Euler (Runge-Kutta de primer orden),

con cuatro pasos de integracin diferentes, uno lo suficientemente pequeo para considerar la solucin como exacta. Se puede apreciar fcilmente como se deteriora la solucin a medida que se aumenta el paso de integracin y la necesidad de utilizar pasos suficientemente pequeos para tener una solucin con un error mnimo.

Figura 4. Efecto del paso de integracin mtodo de Euler Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

En la Figura 5 se muestra la solucin de la misma ecuacin diferencial anterior pero utilizando ahora el mtodo de Simpson (Runge-Kutta de tercer orden) y los mismos pasos de integracin empleados anteriormente. En este caso se puede apreciar que para un mismo tamao de paso, la solucin con el mtodo de Simpson es mucho ms exacta que la obtenida con el mtodo de Euler. Aunque el mtodo de Simpson requiere realizar tres veces ms evaluaciones de la ecuacin diferencial en cada paso de integracin que el mtodo de Euler, normalmente permite emplear pasos de integracin bastante mayores, reducindose incluso el tiempo total requerido para la solucin. El tamao del paso de integracin necesario para obtener una solucin satisfactoria depende entonces de la exactitud del mtodo de integracin y de la 16

ecuacin diferencial a resolver. Entre ms preciso, mayor orden, sea el mtodo de integracin utilizado, se pueden emplear paso mayo- res, sin embargo debe tenerse tambin en cuenta que, en los casos en que se desea mostrar la solucin de la ecuacin diferencial en forma grfica, el tamao mximo del paso estar determinado usualmente por la resolucin deseado de este grfico.

Figura 5. Efecto del paso de integracin mtodo de Simpson Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

3. Mtodos de Integracin Numrica La expresin general de los mtodos de integracin numrica est dada por:

Ecuacin #26

En donde el ltimo valor de t en que se calcul y es tn y el nmero de valores pasados usados para calcular yn+1 es p+1.Se considerar que en la Ecuacin #26 algunos de los ai y bi pueden ser cero, pero se supondr que ap o bp no son cero. Si en la Ecuacin #26 b1=0 , yn+1 est expresado como una combinacin lineal de los valores conocidos de y y y es fcil de calcular. Las frmulas con b1=0 se denominan frmulas de integracin directa o abiertas Si b1 , la ecuacin #26 es una funcin implcita de yn+1 porque n+1=f(yn+1, tn+1)y se puede resolver solamente por procedimientos iterativos. Las frmulas con b1 se denominan frmulas de integracin implcitas o cerradas.

Como regla general, para frmulas del mismo orden, las frmulas implcitas 17

son sustancialmente ms exactas que las frmulas directas. En comparacin con los mtodos de integracin del tipo Runge-Kutta, los mtodos de integracin numrica se caracterizan entonces por: No ser autoiniciables. Requerir aparte de la informacin del punto n, informacin de uno o

ms puntos anteriores para calcular la solucin en el punto n+1. Evaluar la funcin (derivada) una sola vez por cada aplicacin de la

frmula (el nmero de evaluaciones de la derivada en el caso de los mtodos predictor - corrector depender del nmero de veces que sea necesario aplicar la frmula correctora) y Porque el uso combinado de frmulas explcitas e implcitas permite

estimar y corregir los errores por truncamiento locales. Esta estimacin del error se puede utilizar para variar el tamao del paso de integracin. 3.1 Frmulas directas, Mtodos de Adams-Bashforth Las frmulas directas (abiertas) pueden utilizarse solas. Al uso de las frmulas directas de Ada- ms solas, se les llama mtodos o predictores de AdamsBashforth. Los mtodos de Adams-Bashforth ms utilizados son los de segundo y cuarto orden. Como se podr apreciar en sus ecuaciones, estas requieren del conocimiento de la derivada evaluada en uno o hasta tres instantes anteriores respectivamente, por lo que la solucin de la ecuacin diferencial debe iniciarse con un procedimiento del tipo Runge-Kutta del mismo orden para obtener la informacin inicial requerida por el mtodo de Adams. 3.1.1 Mtodo de segundo orden Este mtodo est dado por la ecuacin:

Ecuacin #27

Cuyo error por truncamiento es O (

t3).

18

3.1.2 Mtodo de cuarto orden Esta frmula directa est dada por la ecuacin: [
Ecuacin #28

Con un error por truncamiento O ( t5). 3.2 Frmulas implcitas, Mtodos de Adams-Moulton Las frmulas implcitas (cerradas) no pueden utilizarse solas y se les llamar mtodos o correctores de Adams-Moulton. 3.2.1 Mtodo de segundo orden Este mtodo est dado por la ecuacin: [
Ecuacin #29

El cual es comnmente llamado mtodo trapezoidal cerrado. 3.2.2 Mtodo de cuarto orden Esta frmula est dada por la ecuacin: [
Ecuacin #30

3.3 Mtodos predictor - corrector Si bien las frmulas directas se pueden utilizar solas, proveyndoles la informacin de arranque necesaria, las frmulas implcitas no pueden emplearse solas. Para poder hacer uso de las frmulas de integracin numrica para el clculo de yn+1 cuando b1 denominado calcular
( ) ( )

0 , se debe obtener primero una estimacin del valor de yn+1 , calcular luego f (
( )

, tn+1) y utilizar la ecuacin #26 para

Se debe entonces predecir primero el valor de yn+1 utilizando una frmula de integracin directa y luego corregir el valor predicho con una frmula de integracin 19

implcita, crendose as los mtodos del tipo predictor corrector, los cuales emplean una frmula directa como predictor y una frmula implcita como corrector, ambas con errores por truncamiento del mismo orden. 3.3.1 Mtodo trapezoidal modificado (2o orden) Uno de los mtodos ms sencillos del tipo predictor - corrector se obtiene utilizando los mtodos de Adams de 2o orden (el de Adams-Bashforth como predictor y el de Adams Moulton, integracin trapezoidal cerrada, como corrector). En su versin ms simple el corrector se utilizara una sola vez en cada iteracin, haciendo del mismo un mtodo de paso fijo cuyas ecuaciones estn dadas por: Predictor
( ) ( ) ( )

[ [

] ]

Ecuacin #31(a)

Corrector [
Ecuacin #31(b)

()

3.3.2 Mtodo de Adams-Bashforth-Moulton de 4o orden Al uso de una frmula de Adams abierta (predictor) junto con una frmula de Adams cerrada (corrector) se le conoce como mtodo de Adams-BashforthMoulton, siendo el de 4o orden.

Predictor
( )

Ecuacin #32(a)

20

Corrector
( )

Ecuacin #32(b)

3.3.3 Mtodo de Milne de 4o orden Este es otro mtodo predictor corrector con un error O ( ecuaciones son: Predictor
( )

t5) cuyas

[
( )

( )

Ecuacin #33(a)

Corrector

( )

Ecuacin #33(b)

3.3.4 Mtodo de Milne de 6o orden Este es un mtodo predictor corrector con un error O ( t7) cuyas ecuaciones son:
( )

Predictor [
( )

[
( )

Ecuacin #34(a)

21

Corrector
( )

( )

Ecuacin #34(b)

3.4 Algoritmo de solucin La utilizacin combinada de los mtodos de integracin del tipo Runge-Kutta con los mtodos numricos predictor corrector, permite desarrollar un algoritmo de solucin de ecuaciones diferenciales de paso variable el cual en trminos generales comprendera: 1. Utilizar un algoritmo RungeKutta para iniciar la solucin y obtener la informacin requerida por el mtodo predictor corrector. 2. En cada iteracin: 3. Predecir el valor de Corregir para obtener
( ) ( )

Si la diferencia porcentual ente el valor predicho y el corregido es arbitrariamente pequeo, pero mayor que un valor dado,

menor que un valor entonces continuar. 4.

Si la diferencia anterior no es menor que


( )

, utilizar entonces

nuevamente el corrector obteniendo

. Si en dos iteraciones del corrector no se

logra la precisin deseada, entonces el paso de integracin debe dividirse a la mitad y volver a utilizar el mtodo de RungeKutta a partir del punto n para continuar la solucin, cambiando nuevamente al mtodo predictor corrector cuando se tenga la informacin requerida por este. 5. Si la diferencia ente el valor predicho y el corregido es menor que ,

entonces el error cometido es muy pequeo y se puede acelerar la solucin aumentando el paso de integracin al doble, continuar con el mtodo RungeKutta y luego el predictor corrector nuevamente. 6. El mtodo continuar doblando o dividiendo por dos el paso de

integracin de manera de mantener el error por truncamiento local dentro de los 22

lmites establecidos y tratando en todo caso de usar el paso de integracin mayor posible para obtener una solucin rpida. 4. Ejemplos del uso de algunos mtodos Los programas de diseo de sistemas de control asistido por computadora (CACSD) MATLAB y Scilab, as como los de simulacin digital de sistemas dinmicos Simulink y VisSimTM, incorporan varias rutinas para la solucin de ecuaciones diferenciales ordinarias, o ODE Solvers por sus siglas en ingls, por lo que al utilizarlos usualmente no es necesario su programacin a menos que se desee emplear un mtodo diferente o realizar comparaciones entre algunos mtodos no incluidos en ellos. 4.1 Mtodo de la regla de Simpson en MATLAB El siguiente es el grfico de la solucin de la ecuacin diferencial ( ) empleando el mtodo de Simpson, un Runge-Kutta de 3er orden, y el

correspondiente listado de las instrucciones en MATLAB.

Figura 6. Grafico empleando el mtodo de Simpson Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

%Ejemplo 4.1 %Solucin de una ecuacin diferencial utilizando %el mtodo de Simpson (Runge-Kuta de 3er orden) %Ecuacin de ejemplo: p y = f(y,t) = -y + 1 23

% clear %definir la ecuacin diferencial a resolver f=inline('-y+1','y','t'); % %condicin inicial y tiempos yo=0.;to=0;dt=0.25;tu=5; y(1)=yo;t(1)=to; n=0; % %solucin numrica while t(n+1) < tu n=n+1; k1=dt*f(y(n),t(n)); k2=dt*f(y(n)+k1/2,t(n)+dt/2); k3=dt*f(y(n)-k1+2*k2,t(n)+dt); y(n+1)=y(n)+(k1+4*k2+k3)/6; t(n+1)=t(n)+dt; end % %graficar la solucin plot(t,y,'+b') grid on title('Solucin de p y= -y + 1 por el Mtodo de Simpson') xlabel('tiempo'),ylabel('y(t)') 4.2 Mtodo de Adams-Bashforth de 2o orden en Scilab El siguiente es el listado de instrucciones en Scilab y el grfico de la solucin de la ecuacin diferencial Bashforth de 2do orden. 24 ( ) empleando el mtodo de Adams-

//Ejemplo 4.2 //Solucin de una ecuacin diferencial utilizando //el mtodo de Adams-Bashforth de 2o orden //Ecuacin de ejemplo: p y = f(y,t) = -0.025 y + t // clear,xset('default'),xbasc() //definir la ecuacin diferencial a resolver function py=f(y,t) py=-0.025*y+t; endfunction // //condicin inicial y tiempos yo=0.;to=0;dt=0.25;tu=10; y(1)=yo;t(1)=to; n=0; //solucin numrica //arranque con integracin trapezoidal n=n+1; k1=dt*f(y(n),t(n)); k2=dt*f(y(n)+k1,t(n)+dt); y(n+1)=y(n)+(k1+k2)/2; t(n+1)=t(n)+dt; //cambio al mtodo de Adams-Bashforth while t(n+1) < tu n=n+1; y(n+1)=y(n)+dt*(3*f(y(n),t(n))-f(y(n-1),t(n-1)))/2; t(n+1)=t(n)+dt; end // //graficar la solucin 25

xname ('Solucin numrica de una ecuacin diferencial') xset('color',2),xset('mark size',1,18) plot2d(t,y,style=-1) xgrid(4) xset('color',1),xset('font',2,3) xtitle('Solucin de p y= -0.025 y + t por el mtodo de Adams-Bashforth de 2do orden' ,'y(t) ')

Figura 7. Solucin de la ecuacin diferencial

( )

empleando el mtodo de Adams-Bashforth de 2do orden. Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

4.3 Solucin de una ecuacin diferencial de segundo orden Para obtener la solucin de una ecuacin diferencial de orden n, esta debe convertirse en un conjunto de n ecuaciones diferenciales de primer orden. Por ejemplo, la ecuacin diferencial lineal de segundo orden: ( )
Ecuacin #35

( )

Puede convertirse en dos ecuaciones diferenciales de primer orden definiendo: x1(t)=y(t), x2(t)=dy/dt
Ecuacion#36

26

Para obtener: ( ) ( )
Ecuacin #37

( )

( )

Para el caso de una ecuacin diferencial lineal de orden alto (n) dada por: ( )
Ecuacin #38

( )

Definiendo: x1(t)=y(t), x2(t)=dy/dt, , xn=


Ecuacin #39

Se puede convertir en un conjunto de n ecuaciones diferenciales de primer orden dado por: . . .


Ecuacin #40

( )

En el caso general de un conjunto de n ecuaciones diferenciales de primer orden no lineales se tendra: ( ) ( ) f1 (x1,x2, , xn ; u : t) f2 (x1,x2, , xn ; u : t) . . . fn (x1,x2, , xn ; u : t)
Ecuacin #41

( )

Las cuales deben ser resueltas en forma simultnea.

27

El siguiente es el grfico de la solucin de la ecuacin diferencial de segundo orden empleando el mtodo de Euler, y el correspondiente listado de las instrucciones en MATLAB. Aunque la respuesta de y(t) se muestra en el grfico como una lnea continua, debe recordarse que la solucin de la ecuacin diferencial solo existe en los instantes {ti} en los cuales se calcul. %Ejemplo 4.3 %Solucin de una ecuacin diferencial de segundo orden %utilizando el mtodo de Euler (Runge-Kutta de 1er orden) %Ecuacin de ejemplo: (p^2+1.5*p+3) y(t) = 3 % clear %definir la ecuacin diferencial %como dos ecuaciones diferenciales de 1er orden) f1=inline('x2','x1','x2','t'); f2=inline('-1.5*x2-3*x1+3','x1','x2','t'); % %condiciones iniciales y tiempos x1o=0.;x2o=0;to=0;dt=0.0625;tu=8.0; x1(1)=x1o;x2(1)=x2o;t(1)=to; n=0; % %solucin numrica while t(n+1) < tu n=n+1; k11=dt*f1(x1(n),x2(n),t(n)); k12=dt*f2(x1(n),x2(n),t(n)); x1(n+1)=x1(n)+k11; x2(n+1)=x2(n)+k12; t(n+1)=t(n)+dt; 28

end % %graficar la solucin plot(t,x1,'b') grid on title('Solucin de (p^2 + 1.5 * p + 3) y(t) = 3 por el mtodo de Euler') xlabel('tiempo'),ylabel('y(t)')

Figura 8. Solucin de la ecuacin diferencial de segundo orden empleando el mtodo de Euler Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

4.4 ODE Solvers en MATLAB y Simulink MATLAB y Simulink comparten el mismo conjunto de rutinas para la solucin de ecuaciones diferenciales ordinarias el cual incluye los siguientes mtodos: 4.4.1 Mtodos de paso variable Sistemas no rgidos Ode45 - frmula Runge-Kutta (4,5) explcita, Dormand-Prince, exactitud media (mtodo utilizado por omisin). Ode23 - frmula Runge-Kutta (2,3) explcita, Bogacki-Shampine, exactitud baja. Ode113 - frmula de Adams-Bashforth-Moulton (1,13), exactitud baja a alta.

29

exactitud baja. exactitud baja.

Sistemas rgidos Ode15s -frmula de diferencias retrgradas, Klopfenstein-Shampine

(1,5), exactitud baja a alta. Ode23s - frmula de modificada de Rosenbrock (2,3), exactitud baja. Ode23t - integracin trapezoidal, sistema moderadamente rgidos, Ode23tb - mtodo hbrido, trapezoidal diferencias retrgradas,

4.4.2 Mtodos de paso fijo (solo en Simulink) Ode1 - frmula de Euler. Ode2 - frmula de Euler modificada. Ode3 - versin de paso fijo del ode23. Ode4 - frmula Runge-Kutta de 4o orden. Ode5 - versin de paso fijo del ode45. 4.4.3 Ejemplo El llamado general a las rutinas de solucin de ecuaciones diferenciales en MATLAB es: [t,y] = odesolver('f',intervalo,yo) En donde odesolver es el nombre del mtodo a utilizar, seleccionado de entre los listados en 4.4.1 o 4.4.2. El siguiente es el listado de instrucciones y el grfico correspondiente para la solucin de un sistema de control proporcional de una planta de segundo orden utilizando el ode45 de Matlab. %Ejemplo 4.4 %Utilizacin de la rutina ode45 (Runge-Kutta 4/5) %las ecuaciones diferenciales (modelo) estn contenidas %en el archivo modelo_44.m % clear 30

% %Intervalo de solucin to=0;tu=20; % %llamado al "ode solver" [t,y]=ode45('modelo_44',[to tu],[0 0]); % %graficar la solucin plot(t,y(:,1)) grid on title('Ejemplo del uso de la rutina ODE45') xlabel('tiempo, seg'),ylabel('y(t)') El modelo a resolver debe proporcionarse en un archivo separado. function px=modelo(t,x) %Ejemplo 4.4 %Archivo modelo_44.m con definicin del modelo %(conjunto de ecuaciones diferenciales) %la funcin debe devolver un vector columna % %Modelo de ejemplo - control P de una planta de segundo orden r=1;Kc=1.5; %realimentacin e=r-x(1); %controlador P u=Kc*e; %planta px1=x(2); px2=-x(1)-0.5*x(2)+u; px=[px1; px2];

31

Figura 9. Ejemplo de uso de rutina de ODE45 Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

4.5 ODE Solvers en Scilab Al igual que MATLAB el programa Scilab provee varias rutinas para la solucin de un conjunto de ecuaciones diferenciales ordinarias no lineales. El llamado general al mtodo de solucin es: y = ode([tipo],yo,to,t,f) En donde el tipo define la rutina a utilizar tenindose disponibles las siguientes: adams - mtodo predictor -corrector de Adams, sistemas no rgidos. stiff - mtodo de diferencias retrgradas, sistemas rgidos. rk - Runge-Kutta de 4 orden, paso variable. rkf - Runge.Kutta-Felhberg (4,5), Shampine-Watts, sistemas no fix igual a rkf, menos argumentos en la llamada. root rutina de solucin con capacidad de encontrar races. discrete- simulacin en tiempo discreto. omisin - selecciona automticamente entre adams y stiff.

rgidos o de rigidez moderada.

32

El siguiente es el listado de instrucciones en Scilab y el grfico correspondiente, para la obtencin del movimiento en el plano de fase de los estados de un sistema de segundo orden libre y con condiciones iniciales diferentes de cero, utilizando la instruccin ode.

Figura 9. Grfico de instrucciones en Scilab Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

//Ejemplo 4.5 //Utilizacin de la instruccin ode de Scilab //Dibujo del movimiento en el plano de fase //de los estados de un sistema de segundo orden //Funcin de ejemplo: (p^2+0.5*p+3) x(t) = 0 // clear t=0:0.05:20; //definir el sistema como una funcin //dos ecuaciones diferenciales de primer orden function px=modelo(t,x) px(1)=x(2) px(2)=-3*x(1)-0.5*x(2) endfunction // //llamado al "ode solver" con el mtodo Runge-Kutta de 4 orden x=ode('rk',[4;6],0,t,modelo); 33

// //dibujar el plano de fase plot2d(x(1,:),x(2,:),style=5) xgrid(4),xtitle('','x1','x2') // //el cambio de la posicin de los ejes coordenados //y del tamao y color de las escalas y leyendas, //se realiz con las facilidades de Scilab //para la edicin de las propiedades de las figuras 4.6 Mtodos de integracin en VisSim Este programa de simulacin digital permite seleccionar entre los siguientes mtodos de solucin del sistema dinmico: Euler . Trapezoidal . Runge-Kutta 2o orden (Euler modificado) . Runge-Kutta de 4o orden . Runge-Kutta de 5o orden (paso variable). Bulirsh-Stoer (polinomios racionales) . Euler (diferencias retrgradas), para sistemas rgidos.

5. Comparacin de los mtodos de solucin de EDO Como se ha indicado anteriormente, la exactitud de un mtodo numrico de solucin de ecuaciones diferenciales depende de su tipo y orden, y del pasado de integracin utilizado. Es de utilidad contar entonces con una programa o herramienta que permita comparar las caractersticas de la solucin de una ecuacin diferencial, utilizando diferentes mtodos de solucin y diferentes pasos de integracin. El programa SysQuake (Calerga, Suiza), es un programa CACSD similar en cierta forma al Matlab, pero que incorpora facilidades extra para al interaccin entre el usuario y los programas desarrollados en este. A continuacin se presenta la solucin de la ecuacin diferencial 34 obtenida utilizando el mtodo de

Euler y el Runge-Kutta de cuarto orden con un paso de integracin

=0.80 y el

programa ucr.ie431.solucin_edo.sq1 Versin 1.22 desarrollado en SysQuake LE. Este programa permite seleccionar entre los siguientes mtodos de solucin de ecuaciones diferenciales: Euler . Euler modificado . Integracin trapezoidal . Regla de Simpson . Heun . Runge-Kuta de 4o orden . Runge-Kutta-Simpson . para ver su efecto en la solucin

Se puede variar el paso de integracin

diferencial y tambin cambiar la ecuacin diferencial que se desea resolver.

Figura 10. Solucin de la EDO por el mtodo Euler Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

35

Figura 11. Solucin de la EDO por el mtodo Runge-Kutta 4to Orden Fuente http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf

36

Conclusin Los mtodos numricos han permitido crear nuevas y mejores tcnicas e instrumentos, facilitando el descubrimiento de materiales radiactivos de alto nivel productivo. Los mtodos ms utilizados en la actualidad son los mtodos integrales debido a que poseen mayor estabilidad numrica en cuanto a problemas que necesitan anlisis minuciosos en cuanto a ecuaciones electromagnticas se refiere. Los mtodos numricos pueden atacar gran cantidad de problemas que estn presentes hoy en da en las diferentes reas de lo que a ciencia se refiere, por ejemplo, matemticas, la qumica, la fsica, la ingeniera entre otras por medio de clculos. Es por ello que se le otorga gran seguridad siempre y cuando los clculos se realicen correctamente por medio de sus procedimientos. Lo que se llaman mtodos numricos han permitido que hoy en da el ser humano pueda ampliar sus conocimientos y hacer posible gran cantidad de ideas mediante el anlisis y la interaccin con las operaciones numricas, obteniendo as grandes resultados que los han llevado a un presente y a un futuro mejor. En este caso se har nfasis a los diferentes tipos de mtodos numricos con el cual pueden trabajar las antenas entre otros.

37

Referencias Bibliogrficas Libros BALANIS, C.A. (1982). Antenna Theory: Analysis and Desig. CARDAMA AZNAR Antenas KRAUS, J.D. (1990). Antennas. McGraw-Hill, New York

Referencias Web Vctor M. Alfaro, Universidad de Costa Rica http://www2.eie.ucr.ac.cr/~valfaro/docs/Vma.ucr.metodos_numericos.pdf, Febrero de 2002 Rev. Diciembre de 2005. Gonzalo Casaravilla www.fing.edu.uy/inco/cursos/numerico/ed/final/magnetoestatica.pdf, Noviembre 2002. eisc.univalle.edu.co/cursos/web/.../MN_DiferenciacionIntegracion.pdf

38

Das könnte Ihnen auch gefallen