Top Banner

of 35

Vma.ucr.Metodos Numericos

Apr 08, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/6/2019 Vma.ucr.Metodos Numericos

    1/35

    Departamento de Automtica

    Mtodos numricos para la

    solucin de ecuaciones diferenciales

    ordinarias (EDO)

    Prof. Vctor M. Alfaro

    Febrero de 2002

    Rev. Diciembre de 2005

  • 8/6/2019 Vma.ucr.Metodos Numericos

    2/35

    Mtodos numricos para la solucin deEDO

    TABLA DE CONTENIDO

    1. Introduccin........................................................................................11.1 Planteamiento del problema....................................................................1

    2. Mtodos del tipo Runge-Kutta..........................................................3

    2.1 Mtodo de Euler (Runge-Kutta de 1er orden).......................................3

    2.2 Mtodo de Euler modificado (Runge-Kutta de 2 orden).....................5

    2.3 Mtodo de Euler-Cauchy modificado (Runge-Kutta de 2 orden).......6

    2.4 Mtodo de la regla de Simpson (Runge-Kutta de 3er orden)...............7

    2.5 Mtodo de Heun (Runge-Kutta de 3er orden).......................................7

    2.6 Runge-Kutta de 4 orden (clsico).......................................................8

    2.7 Runge-Kutta-Simpson de 4 orden..........................................................9

    2.8 Mtodos RungeKutta de paso variable.................................................9

    2.8.1 Runge-Kutta-Fehlberg de 2 orden 10

    2.8.2 Runge-Kutta-Fehlberg de 4 orden 11

    2.9 Error por truncamiento y error por redondeo....................................12

    2.10 Sistemas rgidos.....................................................................................122.11 Efecto del paso de integracin sobre la exactitud de la solucin......13

    3. Mtodos de integracin numrica...................................................15

    3.1 Frmulas directas, Mtodos de Adams-Bashforth..............................15

    3.1.1 Mtodo de segundo orden 16

    3.1.2 Mtodo de cuarto orden 16

    3.2 Frmulas implcitas, Mtodos de Adams-Moulton..............................16

    3.2.1 Mtodo de segundo orden 163.2.2 Mtodo de cuarto orden 16

    3.3 Mtodos predictor - corrector...............................................................16

    3.3.1 Mtodo trapezoidal modificado (2 orden) 17

    3.3.2 Mtodo de Adams-Bashforth-Moulton de 4 orden 17

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    3/35

    Mtodos numricos para la solucin deEDO

    3.3.3 Mtodo de Milne de 4 orden 18

    3.3.4 Mtodo de Milne de 6 orden 18

    3.4 Algoritmo de solucin.............................................................................18

    4. Ejemplos del uso de algunos mtodos.............................................204.1 Mtodo de la regla de Simpson en MATLAB......................................20

    4.2 Mtodo de Adams-Bashforth de 2 orden en Scilab............................21

    4.3 Solucin de una ecuacin diferencial de segundo orden.....................23

    4.4 ODE Solvers en MATLAB y Simulink.............................................25

    4.4.1 Mtodos de paso variable 25

    4.4.2 Mtodos de paso fijo (solo en Simulink) 26

    4.4.3 Ejemplo 26

    4.5 ODE Solvers en Scilab........................................................................27

    4.6 Mtodos de integracin en VisSim........................................................29

    5. Comparacin de los mtodos de solucin de EDO........................30

    Bibliografa.............................................................................................32

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    4/35

    Mtodos numricos para la solucin deEDO 1

    1. Introduccin

    El estudio de los procesos dinmicos y sus sistemas de control, debe iniciarse con la obtencin deuna representacin matemtica de las relaciones existentes entre las diferentes variables involu-

    cradas 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 representa-cin para el mismo por medio de una ecuacin diferencial de orden alto, o por un conjunto deecuaciones diferenciales de primer orden no lineales, cuya solucin se debe obtener para conocerla respuesta temporal del sistema, a partir un conjunto de condiciones iniciales y una entradadada.

    La solucin analtica de una ecuacin diferencial lineal puede ser fcil, de varias ya presenta difi-cultades 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 deun programa de simulacin digital.

    Para el desarrollo de un programa de simulacin de sistemas dinmicos, es necesario entoncescontar con un mtodo de solucin de ecuaciones diferenciales.

    Se presentarn adelante en forma breve, algunos de los mtodos numricos de solucin de ecua-ciones diferenciales ordinarias (EDO), ms empleados en la simulacin digital de los sistemasdinmicos.

    1.1 Planteamiento del problema

    Se requiere solucionar la ecuacin diferencial de primer orden

    dy

    dt=fy , t, yt0=y0 (1)

    para encontrary en una secuencia de valores de la variable independiente t{ti} dentro de un in-tervalo de solucin [t0, tf], donde fy , t es una funcin no lineal cualquiera.

    La obtencin de la solucin de (1) es conocida como el problema del valor inicialen la solucinde ecuaciones diferenciales y para esto, se dispone de dos tipos de mtodos de solucin:

    1. Mtodos en los cuales fy , t ser evaluada solamente en los puntos (yi, ti), donde yi es elvalor dey en t= ti y que se denominanMtodos de integracin numrica

    2. Mtodos en los cuales fy , t ser evaluada adems, en puntos distintos de (yi, ti) y que sedenominarnMtodos del tipo Runge-Kutta.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    5/35

    Mtodos numricos para la solucin deEDO 2

    Si se define a Y(t) como la solucin exacta de (1) y ay(t) como la solucin calculada, entonces

    Yn=Ytn, Yn=dYdtt=tn

    =fYn , tn (2)

    yn=y tn, yn=fyn , tn (3)

    t=tn1tn (4)

    Como Yes la solucin verdadera,f(Yn, tn) es igual a dY/dt|t=tn, sin embargoy(t) solamente existe enlos 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 interva-los de la solucin, o variarse cuando consideraciones de error lo hagan deseable.

    En la obtencin de los mtodos numricos para la solucin de de las ecuaciones es importanteconsiderar entonces:

    1. cuanto error se comete en cada paso del clculo y como afecta este los pasos siguientes, estoes, cmo se propaga el error

    2. la habilidad del mtodo para estimar el error en una etapa de clculo, en funcin de los resulta-dos obtenidos

    3. la iniciacin del mtodo (se conoce la condicin inicialy0 pero como se ver, algunos mtodosnumricos requieren conocer adems, los valores dey en ms de un punto anterior para calcu-lar el siguiente) y

    4. 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 embargotodos ellos son fcilmente extensibles al caso de un conjunto de ecuaciones diferenciales de pri-mer orden no lineales simultneas, considerando a todas las variables y ecuaciones como vecto-res. Si el modelo est representado por una ecuacin diferencial de orden alto, es necesarioconvertirla primero en un conjunto de ecuaciones diferenciales de primer orden simultneas parasu solucin.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    6/35

    Mtodos numricos para la solucin deEDO 3

    2. Mtodos del tipo Runge-Kutta

    La base de todos los mtodos del tipo Runge-Kutta es expresar la diferencia entre los valores de yen tn+1 y tn como

    yn1yn=i=1

    m

    i ki (5)

    donde los i son constantes y los

    ki= t fynj=1

    i1

    ij kj , tni t (6)con 1=0 . Dadas las constantes i , i y ij , la solucin es directa.

    Los mtodos del tipo Runge-Kutta se caracterizan por

    1. ser auto-iniciables

    2. requerir solamente informacin del punto n para calcular la solucin en el punto n+1

    3. evaluar en cada iteracin la funcin (derivada) tantas veces como el orden del mtodo, y

    4. por no poseer forma de estimar en error cometido, a menos que se utilicen simultneamentedos mtodos de distinto orden.

    En los mtodos del tipo Runge-Kutta el nmero de veces que es necesario evaluar la ecuacin di-ferencial es igual al orden del mtodo, lo cual repercute directamente sobre su velocidad. Sinembargo a medida que aumenta el orden del mtodo, este tiene una mayor exactitud para un pasode 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 dey en el instante tn1=tn t , mediante la expansinde la ecuacin (1) en una serie de Taylor

    yn1=yn tdy

    dt t2

    2 !

    d2

    y

    dt2 t3

    3 !

    d3

    y

    dt3

    tp

    p!

    dp

    y

    dtp (7)

    Sustituyendo (1) en (7) se obtiene que

    yn1=yn t fyn , tn t2

    2 !

    d f

    dt t3

    3 !

    d2

    f

    dt2

    tp

    p!

    dp1

    f

    dtp1

    (8)

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    7/35

    Mtodos numricos para la solucin deEDO 4

    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

    yn1=yn t fyn , tn (9)

    el cual es el conocido mtodo de integracin rectangularo mtodo de Euler.

    La ecuacin (9) se puede reescribir para expresarla en la forma general de los mtodos del tipoRunge-Kutta dada por (5) y (6) quedando esta entonces como

    k1= t fyn , tn

    yn1=ynk1

    (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 extrapolacindel valor de la ecuacin diferencial en el instante n, tangente de la solucin, por un paso de inte-

    gracin t como se muestra en la Figura 2.1.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    k1 = t f(fn, tn)

    yn+1 = yn + k1

    t

    tn

    tn+1 t

    y(t)

    yn

    yn+1

    f(yn, tn)

    Fig. 2.1 - Integracin rectangular

    0

    1

    y(t)

    k1

  • 8/6/2019 Vma.ucr.Metodos Numericos

    8/35

    Mtodos numricos para la solucin deEDO 5

    2.2 Mtodo de Euler modificado (Runge-Kutta de 2 orden)

    El mtodo de Euler es un mtodo de un paso y el ms simple de los mtodos del tipo Runge-Kut-ta. Un mtodo de segundo orden o de dos pasos, est dado por las siguientes ecuaciones

    k1= t fyn , tn

    k2= t fyn

    1

    2k1

    , tn1

    2 t

    yn1=ynk2

    (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 in-tegracin, extendindolo a todo su ancho segn se aprecia en la Figura 2.2.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    k1 = t f(yn, tn)

    k2 = t f(yn+k1/2, tn+t/2)

    yn+1 = yn + k2

    f(yn+k1/2, tn+t/2)

    tn+t/2tn tn+1 t

    y(t)

    yn

    yn+1 f(y

    n, t

    n)

    Fig. 2.2 - Mtodo de Euler modificado

    0

    1

    2

    y(t)

    k2

  • 8/6/2019 Vma.ucr.Metodos Numericos

    9/35

    Mtodos numricos para la solucin deEDO 6

    2.3 Mtodo de Euler-Cauchy modificado (Runge-Kutta de 2 orden)

    Integracin trapezoidal

    Este es otro mtodo de segundo orden y sus ecuaciones son

    k1= t fyn , tn

    k2= t fynk1 , tn t

    yn1=yn1

    2[k1k2]

    (12)

    El mtodo de integracin trapezoidalutiliza un promedio del valor de la ecuacin diferencial alinicio (n) y final (n+1) del paso de integracin, como se indica en la Figura 2.3.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    k1 = f(yn, tn)

    k2 = f(yn+k1, tn+t)

    yn+1 = yn + [k1+k2]/2

    tn

    tn+1 t

    y(t)

    yn

    y'n+1

    f(yn, tn)

    Fig. 2.3 - Integracin trapezoidal

    0

    1

    y(t)2

    f(y'n+1

    , tn+1

    )

    yn+1

    {f(yn, t

    n) + f(y'

    n+1, t

    n+1)}/2

    (k1+k

    2)/2

  • 8/6/2019 Vma.ucr.Metodos Numericos

    10/35

    Mtodos numricos para la solucin deEDO 7

    2.4 Mtodo de la regla de Simpson (Runge-Kutta de 3er orden)

    Este es un mtodo de tres pasos dado por

    k1

    =t fyn

    , tn

    k2= t fyn

    1

    2k1

    , tn1

    2 t

    k3= t fynk12k2 , tnt

    yn1=yn1

    6[k14k2k3]

    (13)

    con un error por truncamiento O t4 .

    2.5 Mtodo de Heun (Runge-Kutta de 3er orden)

    Este es otro mtodo de tres pasos y est dado por

    k1= t fyn , tn

    k2= t fyn1

    3k1 , tn

    1

    3 t

    k3= t fyn23

    k2 , tn23 t

    yn1=yn1

    4[k

    13 k

    3]

    (14)

    con un error por truncamiento O t4

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    11/35

    Mtodos numricos para la solucin deEDO 8

    2.6 Runge-Kutta de 4 orden (clsico)

    El mtodo de Runge-Kutta de cuarto orden, es el utilizado con ms frecuencia en la simulacin delos sistemas dinmicos y sus ecuaciones son

    k1= t fyn , tn

    k2= t fyn1

    2k1 , tn

    1

    2 t

    k3=t fyn

    1

    2k2

    , tn1

    2 t

    k4= t fynk3 , tn t

    yn1=yn1

    6[k12k22 k3k4]

    (15)

    El error por truncamiento de este mtodo es O t5 , siendo adems mucho ms estable quelos anteriores.

    Existen varios mtodos Runge-Kutta de 4 orden. Adems del anterior, cuyos coeficientes se atri-buyen a Kutta, existe el Runge-Kutta-Gill en que se minimiza la memoria utilizada, el Runge-Ku-tta-Ralston en el que se minimiza el error por truncamiento, el Runge-Kutta-Merson que es unaextensin para hacerlo de paso variable, esto a costa de una evaluacin adicional de las ecuacio-nes del sistema para poder estimar el error y tomar decisiones sobre el tamao del paso y otros

    ms.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    12/35

    Mtodos numricos para la solucin deEDO 9

    2.7 Runge-Kutta-Simpson de 4 orden

    Este es otro mtodo de cuarto orden con un error por truncamiento O t5 , cuyas ecuaciones

    son

    k1=t fyn , tn

    k2= t fyn1

    3k1 , tn

    1

    3 t

    k3= t fyn

    1

    3k1k

    2, tn

    2

    3 t

    k4= t fynk1k2k3 , tn t

    yn1=yn1

    8[k13 k23k3k4]

    (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 pasosde integracin diferentes, para estimar el error y en base a este, decidir si es necesario o nocambiar el tamao del paso de integracin (reducirlo o incrementarlo), tenindose entonces unmtodo de paso variable.

    Por ejemplo, los mtodos Runge-Kutta-Fehlberg son mtodos del tipo Runge-Kutta en los cualesse combinan dos mtodos de diferente orden, para poder estimar el error cometido en cada itera-cin de la solucin.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    13/35

    Mtodos numricos para la solucin deEDO 10

    2.8.1 Runge-Kutta-Fehlberg de 2 orden

    Este mtodo est dado por las siguientes ecuaciones

    k1=t ' fyn , tn

    k2= t ' fyn

    1

    2k1

    , tn1

    2 t '

    k3= t ' fyn 1256 k1255256 k2 , tnt '

    yn1=yn1

    512k1

    255

    256k2

    1

    512k3

    (17)

    donde t ' es el paso de integracin variable, el cual debe dividirse a la mitad si el

    ErrorErrAbsErrRelyn1 (18)

    y puede duplicarse si el

    ErrorErrAbsErrRelyn1/100 (19)

    donde

    Error=k1k3512 (20)es el error por truncamiento estimado yErrAbs yErrRelson el error absoluto y relativo utilizados

    para controlar el paso de integracin.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    14/35

    Mtodos numricos para la solucin deEDO 11

    2.8.2 Runge-Kutta-Fehlberg de 4 orden

    En este mtodo se utiliza un mtodo de quinto orden para estimar el error cometido por un mto-do de cuarto orden y tomar decisiones sobre el tamao del paso de integracin y est dado por lassiguientes ecuaciones

    k1= t ' fyn , tn

    k2=t ' fyn14 k1 , tn14 t '

    k3= t ' fyn 332 k1 932 k2 , tn38 t '

    k4= t ' f

    yn

    1932

    2197

    k17200

    2197

    k27296

    2197

    k3,

    tn12

    13

    t '

    k5= t ' fyn439216 k18k23680513 k3 8454104 k4, tn t '

    k6= t ' fyn 827 k12k235442565 k318594104 k41140 k5, tn12 t '

    (21)

    donde t ' es el paso de integracin variable.

    Se calcula

    R=1

    t '1

    360k1

    128

    4275k3

    2197

    75240k4

    1

    50k5

    2

    55k6 (22)

    siendo este

    R= t '

    2yn1 5yn14 (23)

    y =0.84TolE/R1/4 (24)

    Si RTolE , donde TolEes la tolerancia o error permitido en la solucin, se calcula el nuevopunto de la solucin

    yn1=yn25

    216k11408

    2565k32197

    4104k41

    5k5 (25)

    y el nuevo paso de integracin como t '= t ' , si 4 el paso solo se cuadruplica

    t '=4 t ' , y se continua con la solucin a partir del punto n+1.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    15/35

    Mtodos numricos para la solucin deEDO 12

    Si RTolE , se calcula el nuevo paso de integracin como t '=t ' , si 0.1 el pasose reduce solo a su dcima parte t '=0.1 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 sufi-cientemente pequeo para representar la solucin de la ecuacin diferencial en forma exacta, sedenomina 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 paraesto es que el error por redondeo es mayor para pasos de integracin pequeos debido al gran n-mero de iteraciones requeridas para obtener la solucin. El error por redondeo es el error re-sultante de la imposibilidad del computador digital de representar un nmero con ms de unnmero de cifras significativas y esto depender del largo de palabra utilizado para la represen-tacin numrica.

    Cuando el paso de integracin es grande el error dominante es el error por truncamiento, mientrasque para pasos pequeos, es ms importante el error por redondeo.

    2.10 Sistemas rgidos

    Se dice que un sistema es rgido cuando presenta caractersticas dinmicas lentas y rpidas enforma simultnea, esto es que contiene unos elementos dinmicos con constantes de tiempo pe-queas 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 muypequeas 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 r-pida, se puede requerir un paso de integracin pequeo, el cual puede ser demasiado pequeopara la solucin de la parte dinmica lenta, extendiendo innecesariamente la obtencin de la solu-cin 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 dife-rentes, puede ser la utilizacin de mtodos de paso variable, los cuales pueden ajustar el paso deintegracin de acuerdo a los requerimientos del sistema, utilizando pasos pequeos inicialmente yluego 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 adiciona-les 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 solu-cin de ecuaciones diferenciales basados en las frmulas de diferencias retrgradas implcitas.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    16/35

    Mtodos numricos para la solucin deEDO 13

    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 emplear el paso de integracin ma-yor posible para obtener una solucin rpida, pero no tan grande que introduzca erroresapreciables en esta. Al utilizar los mtodos de integracin de paso fijo, es responsabilidad delusuario la seleccin del paso de integracin adecuado.

    En la Figura 2.11-1 se muestra la solucin de la ecuacin diferenciald y

    dx=cosx; y0=0 utili-

    zando el mtodo de Euler (Runge-Kutta de primer orden), con cuatro pasos de integracin dife-rentes, uno lo suficientemente pequeo para considerar la solucin como exacta. Se puedeapreciar fcilmente como se deteriora la solucin a medida que se aumenta el paso de integraciny la necesidad de utilizar pasos suficientemente pequeos para tener una solucin con un errormnimo.

    Figura 2.11-1 Efecto del paso de integracin mtodo de Euler

    En la Figura 2.11-2 se muestra la solucin de la misma ecuacin diferencial anterior peroutilizando ahora el mtodo de Simpson (Runge-Kutta de tercer orden) y los mismos pasos deintegracin empleados anteriormente. En este caso se puede apreciar que para un mismo tamaode paso, la solucin con el mtodo de Simpson es mucho ms exacta que la obtenida con elmtodo de Euler.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    0 2 4 6 8 10 12 14 16 18-1

    -0.5

    0

    0.5

    1

    1.5

    2Solucin de py(x)=cos(x) por el mtodo de Euler (RK-1)

    x

    y(x)

    exacta

    paso = 0,5

    paso = 1,0

    paso = 2,0

  • 8/6/2019 Vma.ucr.Metodos Numericos

    17/35

    Mtodos numricos para la solucin deEDO 14

    Aunque el mtodo de Simpson requiere realizar tres veces ms evaluaciones de la ecuacin dife-rencial en cada paso de integracin que el mtodo de Euler, normalmente permite emplear pasosde 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 en-tonces de la exactitud del mtodo de integracin y de la 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 solu-cin de la ecuacin diferencial en forma grfica, el tamao mximo del paso estar determinadousualmente por la resolucin deseado de este grfico.

    Figura 2.11-1 Efecto del paso de integracin mtodo de Simpson

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    0 2 4 6 8 10 12 14 16 18-1

    -0.8

    -0.6

    -0.4

    -0.2

    0

    0.2

    0.4

    0.6

    0.8

    1Solucin de py(x)=cos(x) por el mtodo de Simpson (RK-3)

    x

    y(x)

    exacta

    paso = 0,5

    paso = 1,0

    paso = 2,0

  • 8/6/2019 Vma.ucr.Metodos Numericos

    18/35

    Mtodos numricos para la solucin deEDO 15

    3. Mtodos de integracin numrica

    La expresin general de los mtodos de integracin numrica est dada por

    yn1=i=0

    p

    a i yni ti=1

    p

    b i yni (26)

    en donde el ltimo valor de ten que se calculy es tn y el nmero de valores pasados usados paracalcularyn+1 esp+1.

    Se considerar que en (26) algunos de los ai y bi pueden ser cero, pero se supondr que ap o bp noson cero.

    Si en (26) b1=0 , yn+1 est expresado como una combinacin lineal de los valores conocidosdey y y y es fcil de calcular. Las frmulas con b1=0 se denominanfrmulas de integra-cin directa o abiertas

    Si b10 , la ecuacin (26) es una funcin implcita de yn+1 porque yn1=fyn1 , tn1 y sepuede resolver solamente por procedimientos iterativos. Las frmulas con b10 se denomi-nanfrmulas de integracin implcitas o cerradas.

    Como regla general, para frmulas del mismo orden, las frmulas implcitas son sustancialmentems exactas que las frmulas directas.

    En comparacin con los mtodos de integracin del tipo Runge-Kutta, los mtodos de integracinnumrica se caracterizan entonces por:

    1. no ser autoiniciables

    2. requerir aparte de la informacin del punto n, informacin de uno o ms puntos anteriores para

    calcular la solucin en el punto n+1

    3. evaluar la funcin (derivada) una sola vez por cada aplicacin de la frmula (el nmero deevaluaciones de la derivada en el caso de los mtodos predictor - corrector depender del n-mero de veces que sea necesario aplicar la frmula correctora) y

    4. por que el uso combinado de frmulas explcitas e implcitas permite estimar y corregir loserrores por truncamiento locales. Esta estimacin del error se puede utilizar para variar el ta-mao 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 sepodr apreciar en sus ecuaciones, estas requieren del conocimiento de la derivada evaluada enuno o hasta tres instantes anteriores respectivamente, por lo que la solucin de la ecuacin

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    19/35

    Mtodos numricos para la solucin deEDO 16

    diferencial debe iniciarse con un procedimiento del tipo Runge-Kutta del mismo orden paraobtener la informacin inicial requerida por el mtodo de Adams.

    3.1.1 Mtodo de segundo orden

    Este mtodo est dado por la ecuacin

    yn1=yn1

    2 t[3 ynyn1] (27)

    cuyo error por truncamiento es O t3 .

    3.1.2 Mtodo de cuarto orden

    Esta frmula directa est dada por la ecuacin

    yn1=yn1

    24 t[55 yn59 yn137 yn29 yn3] (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 co-rrectores de Adams-Moulton.

    3.2.1 Mtodo de segundo orden

    Este mtodo est dado por la ecuacin

    yn1=yn1

    2 t[ yn1 yn] (29)

    el cual es comnmente llamado mtodo trapezoidal cerrado.

    3.2.2 Mtodo de cuarto orden

    Esta frmula est dada por la ecuacin

    yn1=yn1

    24 t[9 yn119 yn5 yn1 yn2] (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

    b10 , se debe obtener primero una estimacin del valor de yn+1 denominado yn10

    , calcular

    luego fyn10

    , tn1 y utilizar (26) paras calcular yn11 .

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    20/35

    Mtodos numricos para la solucin deEDO 17

    Se debe entoncespredecirprimero el valor deyn+1 utilizando una frmula de integracin directa yluego corregirel valor predicho con una frmula de integracin implcita, crendose as los mto-dos del tipopredictorcorrector, los cuales emplean una frmula directa como predictor y unafrmula implcita como corrector, ambas con errores por truncamiento del mismo orden.

    3.3.1 Mtodo trapezoidal modificado (2 orden)

    Uno de los mtodos ms sencillos del tipo predictor - corrector se obtiene utilizando los mtodosde Adams de 2 orden (el de Adams-Bashforth como predictor y el de Adams Moulton, integra-cin trapezoidal cerrada, como corrector). En su versin ms simple el corrector se utilizara unasola vez en cada iteracin, haciendo del mismo un mtodo de paso fijo cuyas ecuaciones estn da-das por

    Predictor

    yn10 =yn

    1

    2 t[3 ynyn1]

    yn10

    =fyn10

    , tn t

    (31a)

    Corrector

    yn1=yn1

    2 t[ yn1

    0 yn] (31b)

    3.3.2 Mtodo de Adams-Bashforth-Moulton de 4 orden

    Al uso de una frmula de Adams abierta (predictor) junto con una frmula de Adams cerrada (co-rrector) se le conoce como mtodo de Adams-BashforthMoulton, siendo el de 4 orden

    Predictor

    yn10 =yn

    1

    24 t[55 yn59 yn137 yn29 yn3]

    yn10 =fyn1

    0, tn t

    (32a)

    Corrector

    yn1 j1=yn

    1

    24 t[9 yn1

    j 19 yn5 yn1yn2] (32b)

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    21/35

    Mtodos numricos para la solucin deEDO 18

    3.3.3 Mtodo de Milne de 4 orden

    Este es otro mtodo predictor corrector con un error O t5 cuyas ecuaciones son

    Predictor

    yn10

    =yn34

    3 t[2 yn yn12 yn2]

    yn10 =fyn1

    0, tn t

    (33a)

    Corrector

    yn1 j1=yn1

    1

    3 t[ yn1

    j 4 ynyn1] (33b)

    3.3.4 Mtodo de Milne de 6 orden

    Este es un mtodo predictor corrector con un error O t7 cuyas ecuaciones son

    Predictor

    yn10 =yn5

    3

    10 t[11 yn14 yn126 yn214 yn311 yn4]

    yn10 =fyn1

    0, tn t

    (34a)

    Corrector

    yn1 j1=yn3

    2

    45 t[7 yn1

    j 32 yn12 yn132 yn27 yn3] (34b)

    3.4 Algoritmo de solucin

    La utilizacin combinada de los mtodos de integracin del tipo Runge-Kutta con los mtodosnumricos predictor corrector, permite desarrollar un algoritmo de solucin de ecuaciones dife-renciales de paso variable el cual en trminos generales comprendera:

    1. Utilizar un algoritmo RungeKutta para iniciar la solucin y obtener la informacin requeridapor el mtodo predictor corrector

    2. En cada iteracin

    Predecir el valor de yn1

    0

    Corregir para obtener yn11

    3. Si la diferencia porcentual ente el valor predicho y el corregido es menor que un valor

    arbitrariamente pequeo, pero mayor que un valor dado, entonces continuar

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    22/35

    Mtodos numricos para la solucin deEDO 19

    4. Si la diferencia anterior no es menor que , utilizar entonces nuevamente el corrector obte-

    niendo yn12

    . 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 apartir del punto n para continuar la solucin, cambiando nuevamente al mtodo predictor co-rrector 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 co-metido es muy pequeo y se puede acelerar la solucin aumentando el paso de integracin aldoble, 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 man-tener el error por truncamiento local dentro de los lmites establecidos y tratando en todo casode usar el paso de integracin mayor posible para obtener una solucin rpida.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    23/35

    Mtodos numricos para la solucin deEDO 20

    4. Ejemplos del uso de algunos mtodos

    Los programas de diseo de sistemas de control asistido por computadora (CACSD) MATLAB yScilab, as como los de simulacin digital de sistemas dinmicos Simulink y VisSimTM,

    incorporan varias rutinas para la solucin de ecuaciones diferenciales ordinarias, o ODESolvers por sus siglas en ingls, por lo que al utilizarlos usualmente no es necesario suprogramacin a menos que se desee emplear un mtodo diferente o realizar comparaciones entrealgunos 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 diferencialdy

    dt=yt1 empleando el

    mtodo de Simpson, un Runge-Kutta de 3er orden, y el correspondiente listado de las instruccio-

    nes en MATLAB.

    %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

    %

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Solucin de p y= -y + 1 por el Mtodo de Simpson

    tiempo

    y(t)

  • 8/6/2019 Vma.ucr.Metodos Numericos

    24/35

    Mtodos numricos para la solucin deEDO 21

    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 numricawhile 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 solucinplot(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 2 orden en Scilab

    El siguiente es el listado de instrucciones en Scilab y el grfico de la solucin de la ecuacin dife-

    rencialdy

    dt=0.025 ytt empleando el mtodo de Adams-Bashforth de 2 orden.

    //Ejemplo 4.2

    //Solucin de una ecuacin diferencial utilizando

    //el mtodo de Adams-Bashforth de 2 orden//Ecuacin de ejemplo: p y = f(y,t) = -0.025 y + t

    //

    clear,xset('default'),xbasc()

    //definir la ecuacin diferencial a resolverfunction py=f(y,t)

    py=-0.025*y+t;

    endfunction//

    //condicin inicial y tiemposyo=0.;to=0;dt=0.25;tu=10;y(1)=yo;t(1)=to;

    n=0;

    //solucin numrica

    //arranque con integracin trapezoidaln=n+1;

    k1=dt*f(y(n),t(n));

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    25/35

    Mtodos numricos para la solucin deEDO 22

    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-Bashforthwhile 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

    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-Bash-forth de 2 orden','tiempo','y(t)')

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    Solucin de p y= -0.025 y + t por el mtodo de Adams-Bashforth de 2 orden

    tiempo

    y(t)

    0 1 2 3 4 5 6 7 8 9 10

    0

    5

    10

    15

    20

    25

    30

    35

    40

    45

    50

  • 8/6/2019 Vma.ucr.Metodos Numericos

    26/35

    Mtodos numricos para la solucin deEDO 23

    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 unconjunto de n ecuaciones diferenciales de primer orden.

    Por ejemplo, la ecuacin diferencial lineal de segundo orden

    d2

    y

    dt2a

    1

    dy

    dta

    0y t=b

    0u t (35)

    puede convertirse en dos ecuaciones diferenciales de primer orden definiendo

    x1t=yt, x2t=dy /dt (36)

    para obtener

    dx1

    dt=x2t,

    dx2

    dt=a0x1ta1x2tb0 u t (37)

    Para el caso de una ecuacin diferencial lineal de orden alto (n) dada por

    dn

    y

    dtnan1

    dn1

    y

    dtn1

    a1dy

    dta0 yt=b0 ut (38)

    definiendo

    x1t=yt, x2t=dy

    dt,, xn=

    dn1

    y

    dtn1

    (39)

    se puede convertir en un conjunto de n ecuaciones diferenciales de primer orden dado por

    x1=x2x2=x3

    xn=a0x1a1x2an1xnb0 ut

    (40)

    En el caso general de un conjunto de n ecuaciones diferenciales de primer orden no lineales setendra

    x1t=f1x1 , x2 ,, xn ; u ; t

    x2t=f2x1 , x2 ,, xn

    ; u ; t

    xn t=fnx1 , x2 ,, xn ; u ; t

    (41)

    las cuales deben ser resueltas en forma simultnea.

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    27/35

    Mtodos numricos para la solucin deEDO 24

    El siguiente es el grfico de la solucin de la ecuacin diferencial de segundo orden

    d2

    y

    dt21.5

    dy

    dt3 y t=3 empleando el mtodo de Euler, y el correspondiente listado de las

    instrucciones en MATLAB.

    Aunque la respuesta dey(t) se muestra en el grfico como una lnea continua, debe recordarse quela 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 tiemposx1o=0.;x2o=0;to=0;dt=0.0625;tu=8.0;x1(1)=x1o;x2(1)=x2o;t(1)=to;n=0;%%solucin numricawhile 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;

    end%%graficar la solucinplot(t,x1,'b')grid ontitle('Solucin de (p^2 + 1.5 * p + 3) y(t) = 3 por el mtodo deEuler')xlabel('tiempo'),ylabel('y(t)')

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    28/35

    Mtodos numricos para la solucin deEDO 25

    4.4 ODE Solvers en MATLAB y Simulink

    MATLAB y Simulikcomparten el mismo conjunto de rutinas para la solucin de ecuaciones dife-renciales 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

    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, exactitud baja

    ode23tb - mtodo hbrido, trapezoidal diferencias retrgradas, exactitud baja

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    0 1 2 3 4 5 6 7 80

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    1.4Solucin de (p2 + 1.5 * p + 3) y(t) = 3 por el mtodo de Euler

    tiempo

    y(t)

  • 8/6/2019 Vma.ucr.Metodos Numericos

    29/35

    Mtodos numricos para la solucin deEDO 26

    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 4 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 odesolveres el nombre del mtodo a utilizar, seleccionado de entre los listados en 4.4.1o 4.4.2.

    El siguiente es el listado de instrucciones y el grfico correspondiente para la solucin de un siste-

    ma 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%%Intervalo de solucinto=0;tu=20;%%llamado al "ode solver"[t,y]=ode45('modelo_44',[to tu],[0 0]);%%graficar la solucinplot(t,y(:,1))grid ontitle('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 ordenr=1;Kc=1.5;%realimentacin

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    30/35

    Mtodos numricos para la solucin deEDO 27

    e=r-x(1);%controlador Pu=Kc*e;%plantapx1=x(2);px2=-x(1)-0.5*x(2)+u;

    px=[px1; px2];

    4.5 ODE Solvers enScilab

    Al igual que MATLAB el programa Scilab provee varias rutinas para la solucin de un conjuntode 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 rgidos o de

    rigidez moderada

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    0 2 4 6 8 10 12 14 16 18 200

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0.8

    0.9

    1Ejemplo del uso de la rutina ODE45

    tiempo, seg

    y(t)

  • 8/6/2019 Vma.ucr.Metodos Numericos

    31/35

    Mtodos numricos para la solucin deEDO 28

    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

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

    //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//cleart=0:0.05:20;//definir el sistema como una funcin//dos ecuaciones diferenciales de primer ordenfunction px=modelo(t,x)

    px(1)=x(2)px(2)=-3*x(1)-0.5*x(2)

    endfunction//

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    x1

    x2

    -4 -3 -2 -1 0 1 2 3 4 5 6

    -8

    -6

    -4

    -2

    0

    2

    4

    6

  • 8/6/2019 Vma.ucr.Metodos Numericos

    32/35

    Mtodos numricos para la solucin deEDO 29

    //llamado al "ode solver" con el mtodo Runge-Kutta de 4 ordenx=ode('rk',[4;6],0,t,modelo);////dibujar el plano de faseplot2d(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 solucindel sistema dinmico:

    Euler

    Trapezoidal

    Runge-Kutta 2 orden (Euler modificado)

    Runge-Kutta de 4 orden

    Runge-Kutta de 5 orden (paso variable)

    Bulirsh-Stoer (polinomios racionales)

    Euler (diferencias retrgradas), para sistemas rgidos

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

  • 8/6/2019 Vma.ucr.Metodos Numericos

    33/35

    Mtodos numricos para la solucin deEDO 30

    5. Comparacin de los mtodos de solucin de EDO

    Como se ha indicado anteriormente, la exactitud de un mtodo numrico de solucin de ecuacio-nes 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 lasolucin de una ecuacin diferencial, utilizando diferentes mtodos de solucin y diferentes pasosde integracin.

    El programa SysQuake (Calerga, Suiza), es un programa CACSD similar en cierta forma al Ma-tlab, pero que incorpora facilidades extra para al interaccin entre el usuario y los programas de-sarrollados en este.

    A continuacin se presenta la solucin de la ecuacin diferencialdx

    dt=0.5 x22 obtenida uti-

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

    t=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 dife-renciales:

    Euler

    Euler modificado

    Integracin trapezoidal

    Regla de Simpson

    Heun

    Runge-Kuta de 4 orden Runge-Kutta-Simpson

    Se puede variar el paso de integracin t para ver su efecto en la solucin diferencial ytambin cambiar la ecuacin diferencial que se desea resolver.

    1 disponible entre los ejemplos de Sysquake para el curso IE-431 Sistemas de control, en la direccin electrnicahttp://www.eie.ucr.ac.cr/htm/pd/alfaro/sqdemos.htm

    2 la versin original de este programa forma parte de las rutinas desarrolladas por Aragn[1]

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    http://www.eie.ucr.ac.cr/htm/pd/alfaro/sqdemos.htmhttp://www.eie.ucr.ac.cr/htm/pd/alfaro/sqdemos.htm
  • 8/6/2019 Vma.ucr.Metodos Numericos

    34/35

    Mtodos numricos para la solucin deEDO 31

    Vma.ucr.metodos_numericos.odt V.M. Alfaro

    "Exacta"

    Euler

    0 10 t(s)

    0

    1

    Y(t)

    Solucin de la EDO por el mtodo de Euler

    dt (0.800):

    Mtodo de solucin numrica

    Euler Euler modificado

    Trapezoidal Simpson

    Heun Runge-Kutta

    Runge-Kutta-Simpson

    Paso de integracin

    "Exacta"

    Runge-Kutta

    0 10 t(s)

    0

    1

    Y(t)

    Solucin de la EDO por Runge-Kutta 4 orden

    dt (0.800):

    Mtodo de solucin numrica

    Euler Euler modificado

    Trapezoidal Simpson

    Heun Runge-Kutta

    Runge-Kutta-Simpson

    Paso de integracin

  • 8/6/2019 Vma.ucr.Metodos Numericos

    35/35

    Mtodos numricos para la solucin deEDO 32

    Bibliografa

    Aragn, M. (2003) - Desarrollo de herramientas en SysQuake para el curso Sistemas de Con-trol, Proyecto Elctrico, Escuela de Ingeniera Elctrica, Universidad de Costa Rica

    Burden, R.L. y J.D. Faires (1998) Anlisis Numrico, Sexta Edicn, Mxico, InternationalThompson Editores

    Calerga Sarl (2003) - SysQuake 2 User Manual, Lausana, Suiza

    Gomez, C. (Editor) (1999) - Engineering and Scientific Computing with Scilab, New York,NY, EUA, Birkhuser Boston

    Guy, J.L. (1982) - Modeling process systems via digital computers, Chemical Engineering(EUA), Marzo 8

    INRIA Group (2001) Scilab Reference Manual, Institut National de Recherche en Informa-tique et en Automatique Project Meta 2, Rocquencourt, Francia

    Ketter, R.L. y S.P. Prawel (1969) Modern Methods of Engineering Computation, New York,NY, EUA, McGraw-Hill, Inc.

    Kochenburger, R.J. (1972) - Computer Simulation of Dynamic Systems, Englewood Cliffs, NJ,EUA, Prentice-Hall, Inc.

    Korn, G.A. y J.V. Wait (1978) Digital Continuos System Simulation, Englewood Cliffs, NJ,EUA

    Ralston, A. (1965) - A First Course in Numerical Analysis, Tokyo, Japn, McGraw-Hill/Kogakusha Co.

    Shampine, L.F. y M.W. Reichelt (1997) The MATLAB ODE Suite, SIAM Journal of Scienti-fic Computing (EUA), Vol. 18 N 1, pg. 1-22

    The Matworks, Inc. (2002) - Using Matlab- Version 6, Natick, MA, EUA

    The Matworks, Inc. (2002) - Using Simulink- Version 5, Natick, MA, EUA

    Thomas, B. (1986) - The Runge-Kutta Methods, Byte (EUA), Abril

    Visual Solutions, Inc. (1999) - VisSimTM User Guide Version 3 , Westford, MA, EUA