Vous êtes sur la page 1sur 36

Departamento de Automtica

Mtodos numricos para la


solucin de ecuaciones diferenciales
ordinarias (EDO)
Prof. Vctor M. Alfaro
Febrero de 2002
Rev. Diciembre de 2005
Mtodos numricos para la solucin de EDO
TABLA DE CONTENIDO
1. Introduccin........................................................................................ 1
1.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..................................................................................... 12
2.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 16
3.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
Mtodos numricos para la solucin de EDO
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............................................. 20
4.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
Mtodos numricos para la solucin de EDO 1
1. Introduccin
El estudio de los procesos dinmicos y sus sistemas de control, debe iniciarse con la obten
cin de una representacin matemtica de las relaciones existentes entre las diferentes va
riables 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 repre
sentacin para el mismo por medio de una ecuacin diferencial de orden alto, o por un con
junto 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 ana
lticos.
Como es normal que el modelo obtenido para el sistema que se desea analizar, est consti
tuido 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 enton
ces 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.
1.1 Planteamiento del problema
Se requiere solucionar la ecuacin diferencial de primer orden
dy
dt
=f y , t ) , yt
0
)=y
0
(1)
para encontrar y en una secuencia de valores de la variable independiente t {t
i
} dentro de un
intervalo de solucin [t
0
, t
f
], donde f y , t ) es una funcin no lineal cualquiera.
La obtencin de la solucin de (1) es conocida como el problema del valor inicial en la so
lucin de ecuaciones diferenciales y para esto, se dispone de dos tipos de mtodos de solu
cin:
1. Mtodos en los cuales f y , t ) ser evaluada solamente en los puntos (y
i
, t
i
), donde y
i
es el valor de y en t = t
i
y que se denominan Mtodos de integracin numrica
2. Mtodos en los cuales f y , t ) ser evaluada adems, en puntos distintos de (y
i
, t
i
) y
que se denominarn Mtodos del tipo Runge-Kutta.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 2
Si se define a Y(t) como la solucin exacta de (1) y a y(t) como la solucin calculada, enton
ces
Y
n
=Y t
n
) ,

Y
n
=

dY
dt
)
t=t
n
=f Y
n
, t
n
) (2)
y
n
=yt
n
) ,

y
n
=f y
n
, t
n
) (3)
At=t
n+1
t
n
(4)
Como Y es la solucin verdadera, f(Y
n
, t
n
) 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 usual
mente paso de integracin At , puede permanecer constante sobre un determinado nme
ro 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 de las ecuaciones es impor
tante considerar entonces:
1. cuanto error se comete en cada paso del clculo y como afecta este los pasos siguientes,
esto es, cmo se propaga el error
2. la habilidad del mtodo para estimar el error en una etapa de clculo, en funcin de los
resultados obtenidos
3. la iniciacin del mtodo (se conoce la condicin inicial y
0
pero como se ver, algunos
mtodos numricos requieren conocer adems, los valores de y en ms de un punto ante
rior para calcular el siguiente) y
4. la velocidad del mtodo.
En la presentacin siguiente de los diferentes mtodos de solucin de ecuaciones diferencia
les, 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 di
ferenciales 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.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 3
2. Mtodos del tipo Runge-Kutta
La base de todos los mtodos del tipo Runge-Kutta es expresar la diferencia entre los valo
res de y en t
n+1
y t
n
como
y
n+1
y
n
=

i=1
m
y
i
k
i
(5)
donde los y
i
son constantes y los
k
i
=At f

y
n
+

j=1
i1

ij
k
j
, t
n
+o
i
At
)
(6)
con o
1
=0 . Dadas las constantes y
i
, o
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 simultnea
mente dos mtodos de distinto orden.
En los mtodos del tipo Runge-Kutta el nmero de veces que es necesario evaluar la ecua
cin diferencial es igual al orden del mtodo, lo cual repercute directamente sobre su veloci
dad. 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 inte
gracin mayor para un grado de exactitud deseado.
2.1 Mtodo de Euler (Runge-Kutta de 1
er
orden)
Integracin rectangular
Se puede calcular el valor de la integral de y en el instante t
n+1
=t
n
+At , mediante la ex
pansin de la ecuacin (1) en una serie de Taylor
y
n+1
=y
n
+At
dy
dt
+
At
2
2!
d
2
y
dt
2
+
At
3
3!
d
3
y
dt
3
+.+
At
p
p!
d
p
y
dt
p
+. (7)
Sustituyendo (1) en (7) se obtiene que
y
n+1
=y
n
+At f y
n
, t
n
)+
At
2
2!
d f
dt
+
At
3
3!
d
2
f
dt
2
+.+
At
p
p!
d
p1
f
dt
p1
+. (8)
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 4
Si se reduce sustancialmente el valor del paso de integracin At , se pueden despreciar
los trminos con At
2
y superiores con lo que se obtiene que
y
n+1
=y
n
+At f y
n
, t
n
) (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 (5) y (6) quedando esta entonces como
k
1
=At f y
n
, t
n
)
y
n+1
=y
n
+k
1
(10)
Este mtodo se dir que es de primer orden por haberse truncado los trminos que contenan
ms all de la primera potencia de At . La omisin de estos trminos dar el error por
truncamiento inherente del mtodo, el cual se dir en este caso que es OAt
2
) o del or
den de At
2
.
El mtodo de Euler estima el valor de la solucin en el instante n + 1 a partir de la extrapo
lacin del valor de la ecuacin diferencial en el instante n, tangente de la solucin, por un
paso de integracin At como se muestra en la Figura 2.1.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
k
1
= t f(f
n
, t
n
)
y
n+1
= y
n
+ k
1
t
t
n
t
n+1
t
y(t)
y
n
y
n+1
f(y
n
, t
n
)
Fig. 2.1 - Integracin rectangular
0
1
y(t)
k
1
Mtodos numricos para la solucin de EDO 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 Run
ge-Kutta. Un mtodo de segundo orden o de dos pasos, est dado por las siguientes ecua
ciones
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+
1
2
k
1
, t
n
+
1
2
At)
y
n+1
=y
n
+k
2
(11)
Este mtodo coincide con la serie de Taylor (8) hasta el trmino At
2
por lo que su error
por truncamiento ser OAt
3
) .
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.2.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
k
1
= t f(y
n
, t
n
)
k
2
= t f(y
n
+k
1
/2, t
n
+t/2)
y
n+1
= y
n
+ k
2
f(y
n
+k
1
/2, t
n
+t/2)
t
n
+t/2 t
n
t
n+1
t
y(t)
y
n
y
n+1
f(y
n
, t
n
)
Fig. 2.2 - Mtodo de Euler modificado
0
1
2
y(t)
k
2
Mtodos numricos para la solucin de EDO 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
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+k
1
, t
n
+At)
y
n+1
=y
n
+
1
2
|k
1
+k
2

(12)
El mtodo de integracin trapezoidal utiliza un promedio del valor de la ecuacin diferen
cial al inicio (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
k
1
= f(y
n
, t
n
)
k
2
= f(y
n
+k
1
, t
n
+t)
y
n+1
= y
n
+ [k
1
+k
2
]/2
t
n
t
n+1
t
y(t)
y
n
y'
n+1
f(y
n
, t
n
)
Fig. 2.3 - Integracin trapezoidal
0
1
y(t)
2
f(y'
n+1
, t
n+1
)
y
n+1
{f(y
n
, t
n
) + f(y'
n+1
, t
n+1
)}/2
(k
1
+k
2
)/2
Mtodos numricos para la solucin de EDO 7
2.4 Mtodo de la regla de Simpson (Runge-Kutta de 3
er
orden)
Este es un mtodo de tres pasos dado por
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+
1
2
k
1
, t
n
+
1
2
At)
k
3
=At f y
n
k
1
+2k
2
, t
n
+At )
y
n+1
=y
n
+
1
6
|k
1
+4k
2
+k
3

(13)
con un error por truncamiento OAt
4
) .
2.5 Mtodo de Heun (Runge-Kutta de 3
er
orden)
Este es otro mtodo de tres pasos y est dado por
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+
1
3
k
1
, t
n
+
1
3
At)
k
3
=At f y
n
+
2
3
k
2
, t
n
+
2
3
At)
y
n+1
=y
n
+
1
4
|k
1
+3 k
3

(14)
con un error por truncamiento OAt
4
)
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 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 simula
cin de los sistemas dinmicos y sus ecuaciones son
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+
1
2
k
1
, t
n
+
1
2
At)
k
3
=At f y
n
+
1
2
k
2
, t
n
+
1
2
At)
k
4
=At f y
n
+k
3
, t
n
+At)
y
n+1
=y
n
+
1
6
|k
1
+2k
2
+2 k
3
+k
4

(15)
El error por truncamiento de este mtodo es OAt
5
) , siendo adems mucho ms estable
que los anteriores.
Existen varios mtodos Runge-Kutta de 4 orden. Adems del anterior, cuyos coeficientes
se atribuyen a Kutta, existe el Runge-Kutta-Gill en que se minimiza la memoria utilizada, el
Runge-Kutta-Ralston en el que se minimiza el error por truncamiento, el Runge-Kutta-Mer
son que es una extensin para hacerlo de paso variable, esto a costa de una evaluacin adi
cional de las ecuaciones 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
Mtodos numricos para la solucin de EDO 9
2.7 Runge-Kutta-Simpson de 4 orden
Este es otro mtodo de cuarto orden con un error por truncamiento OAt
5
) , cuyas ecua
ciones son
k
1
=At f y
n
, t
n
)
k
2
=At f y
n
+
1
3
k
1
, t
n
+
1
3
At)
k
3
=At f y
n

1
3
k
1
+k
2
, t
n
+
2
3
At )
k
4
=At f y
n
+k
1
k
2
+k
3
, t
n
+At)
y
n+1
=y
n
+
1
8
|k
1
+3 k
2
+3k
3
+k
4

(16)
2.8 Mtodos RungeKutta de paso variable
Los mtodos del tipo Runge-Kutta no tienen forma de evaluar el error cometido en cada ite
racin, 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), te
nindose 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.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 10
2.8.1 Runge-Kutta-Fehlberg de 2 orden
Este mtodo est dado por las siguientes ecuaciones
k
1
=At ' f

y
n
, t
n
)
k
2
=At ' f

y
n
+
1
2
k
1
, t
n
+
1
2
At '
)
k
3
=At ' f

y
n
+
1
256
k
1
+
255
256
k
2
, t
n
+At '
)
y
n+1
=y
n
+
1
512
k
1
+
255
256
k
2
+
1
512
k
3
(17)
donde At ' es el paso de integracin variable, el cual debe dividirse a la mitad si el
Error>ErrAbs+ErrRely
n+1
(18)
y puede duplicarse si el
ErrorErrAbs+ErrRely
n+1
)/100 (19)
donde
Error=

k
1
k
3
)
512

(20)
es el error por truncamiento estimado y ErrAbs y ErrRel son el error absoluto y relativo uti
lizados para controlar el paso de integracin.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 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
mtodo de cuarto orden y tomar decisiones sobre el tamao del paso de integracin y est
dado por las siguientes ecuaciones
k
1
=At ' f

y
n
, t
n
)
k
2
=At ' f

y
n
+
1
4
k
1
, t
n
+
1
4
At '
)
k
3
=At ' f

y
n
+
3
32
k
1
+
9
32
k
2
, t
n
+
3
8
At '
)
k
4
=At ' f

y
n
+
1932
2197
k
1

7200
2197
k
2
+
7296
2197
k
3,
t
n
+
12
13
At '
)
k
5
=At ' f

y
n
+
439
216
k
1
8k
2
+
3680
513
k
3

845
4104
k
4,
t
n
+At '
)
k
6
=At ' f

y
n

8
27
k
1
+2k
2

3544
2565
k
3
+
1859
4104
k
4

11
40
k
5,
t
n
+
1
2
At '
)
(21)
donde At ' es el paso de integracin variable.
Se calcula
R=
1
At '

1
360
k
1

128
4275
k
3

2197
75240
k
4
+
1
50
k
5
+
2
55
k
6

(22)
siendo este
R=
At '
2

y
n+15)
y
n+1 4)

(23)
y 6=0.84TolE/ R)
1/4
(24)
Si RTolE , donde TolE es la tolerancia o error permitido en la solucin, se calcula el
nuevo punto de la solucin
y
n+1
=y
n
+
25
216
k
1
+
1408
2565
k
3
+
2197
4104
k
4

1
5
k
5
(25)
y el nuevo paso de integracin como At '=6At ' , si 64 el paso solo se cuadruplica
At ' =4At ' ) , y se continua con la solucin a partir del punto n+1.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 12
Si R>TolE , se calcula el nuevo paso de integracin como At '=6At ' , si 60.1 el
paso se reduce solo a su dcima parte At ' =0.1At ' ) , 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 At 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 in
cluir trminos ms all de un cierto At
k
. Sin embargo, por otra parte consideraciones
numricas as como el tiempo total de solucin, requieren que el At no se haga demasia
do pequeo. La razn para esto es que el error por redondeo es mayor para pasos de inte
gracin 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 re
presentar 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 redondeo.
2.10 Sistemas rgidos
Se dice que un sistema es rgido cuando presenta caractersticas dinmicas lentas y rpi
das 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 electromecnico 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 diferen
ciales, introduce dificultades al momento de obtener su solucin numrica.
Para garantizar la estabilidad y exactitud de la solucin de las ecuaciones de la parte din
mica 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 obten
cin de la solucin en todo el intervalo de solucin deseado, si el paso se mantiene constan
te.
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 efec
tuar evaluaciones adicionales de las ecuaciones diferenciales y comparaciones para determi
nar el ajuste del paso.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 13
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 im
plcitas.
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, afec
ta directamente la exactitud de la misma. Normalmente se desea emplear el paso de inte
gracin 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 responsa
bilidad del usuario la seleccin del paso de integracin adecuado.
En la Figura 2.11-1 se muestra la solucin de la ecuacin diferencial
d y
dx
=cosx); y0)=0 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 me
dida que se aumenta el paso de integracin y la necesidad de utilizar pasos suficientemente
pequeos para tener una solucin con un error mnimo.
Figura 2.11-1 Efecto del paso de integracin mtodo 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
2
Solucin 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
Mtodos numricos para la solucin de EDO 14
En la Figura 2.11-2 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 obteni
da 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 em
plear 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 ecuacin diferencial a resolver.
Entre ms preciso, mayor orden, sea el mtodo de integracin utilizado, se pueden emplear
paso mayores, sin embargo debe tenerse tambin en cuenta que, en los casos en que se de
sea 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 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
1
Solucin 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
Mtodos numricos para la solucin de EDO 15
3. Mtodos de integracin numrica
La expresin general de los mtodos de integracin numrica est dada por
y
n+1
=

i=0
p
a
i
y
ni
+At

i=1
p
b
i
y
ni
(26)
en donde el ltimo valor de t en que se calcul y es t
n
y el nmero de valores pasados usados
para calcular y
n+1
es p+1.
Se considerar que en (26) algunos de los a
i
y b
i
pueden ser cero, pero se supondr que a
p
o
b
p
no son cero.
Si en (26) b
1
=0 , y
n+1
est expresado como una combinacin lineal de los valores cono
cidos de y y

y y es fcil de calcular. Las frmulas con b
1
=0 se denominan frmulas
de integracin directa o abiertas
Si b
1
0 , la ecuacin (26) es una funcin implcita de y
n+1
porque
y
n+1
=f y
n+1
, t
n+1
)
y se puede resolver solamente por procedimientos iterativos. Las frmulas con b
1
0 se
denominan frmulas de integracin implcitas o cerradas.
Como regla general, para frmulas del mismo orden, las frmulas implcitas son sustancial
mente ms exactas que las frmulas directas.
En comparacin con los mtodos de integracin del tipo Runge-Kutta, los mtodos de inte
gracin numrica se caracterizan entonces por:
1. no ser autoiniciables
2. requerir aparte de la informacin del punto n, informacin de uno o ms puntos anterio
res 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
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
4. por que 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 va
riar 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
Adams 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
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 16
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
y
n+1
=y
n
+
1
2
At|3 y
n
y
n1
(27)
cuyo error por truncamiento es OAt
3
) .
3.1.2 Mtodo de cuarto orden
Esta frmula directa est dada por la ecuacin
y
n+1
=y
n
+
1
24
At |55 y
n
59 y
n1
+37 y
n2
9 y
n3
(28)
con un error por truncamiento OAt
5
) .
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
y
n+1
=y
n
+
1
2
At| y
n+1
y
n
(29)
el cual es comnmente llamado mtodo trapezoidal cerrado.
3.2.2 Mtodo de cuarto orden
Esta frmula est dada por la ecuacin
y
n+1
=y
n
+
1
24
At |9 y
n+1
+19 y
n
5 y
n1
+ y
n2
(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 y
n+1
cuando
b
1
0 , se debe obtener primero una estimacin del valor de y
n+1
denominado y
n+1
0)
,
calcular luego f

y
n+1
0)
, t
n+1
)
y utilizar (26) paras calcular y
n+1
1)
.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 17
Se debe entonces predecir primero el valor de y
n+1
utilizando una frmula de integracin di
recta y luego corregir el valor predicho con una frmula de integracin 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 (2 orden)
Uno de los mtodos ms sencillos del tipo predictor - corrector se obtiene utilizando los
mtodos de Adams de 2 orden (el de Adams-Bashforth como predictor y el de Adams
Moulton, integracin trapezoidal cerrada, como corrector). En su versin ms simple el co
rrector se utilizara una sola vez en cada iteracin, haciendo del mismo un mtodo de paso
fijo cuyas ecuaciones estn dadas por
Predictor
y
n+1
0)
=y
n
+
1
2
At|3 y
n
y
n1

y
n+1
0)
=f y
n+1
0)
, t
n
+At )
(31a)
Corrector
y
n+1
=y
n
+
1
2
At| y
n+1
0)
+ y
n
(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 cerra
da (corrector) se le conoce como mtodo de Adams-BashforthMoulton, siendo el de 4 or
den
Predictor
y
n+1
0)
=y
n
+
1
24
At |55 y
n
59 y
n1
+37 y
n2
9 y
n3

y
n+1
0)
=f y
n+1
0)
, t
n
+At)
(32a)
Corrector
y
n+1
j+1)
=y
n
+
1
24
At |9 y
n+1
j)
+19 y
n
5 y
n1
+y
n2
(32b)
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 18
3.3.3 Mtodo de Milne de 4 orden
Este es otro mtodo predictor corrector con un error OAt
5
) cuyas ecuaciones son
Predictor
y
n+1
0)
=y
n3
+
4
3
At |2 y
n
y
n1
+2 y
n2

y
n+1
0)
=f y
n+1
0)
, t
n
+At)
(33a)
Corrector
y
n+1
j+1)
=y
n1
+
1
3
At | y
n+1
j)
+4 y
n
+y
n1
(33b)
3.3.4 Mtodo de Milne de 6 orden
Este es un mtodo predictor corrector con un error OAt
7
) cuyas ecuaciones son
Predictor
y
n+1
0)
=y
n5
+
3
10
At |11 y
n
14 y
n1
+26 y
n2
14 y
n3
+11 y
n4

y
n+1
0)
=f y
n+1
0)
, t
n
+At)
(34a)
Corrector
y
n+1
j+1)
=y
n3
+
2
45
At |7 y
n+1
j)
+32 y
n
+12 y
n1
+32 y
n2
+7 y
n3
(34b)
3.4 Algoritmo de solucin
La utilizacin combinada de los mtodos de integracin del tipo Runge-Kutta con los mto
dos numricos predictor corrector, permite desarrollar un algoritmo de solucin de ecua
ciones diferenciales de paso variable el cual en trminos generales comprendera:
1. Utilizar un algoritmo RungeKutta para iniciar la solucin y obtener la informacin re
querida por el mtodo predictor corrector
2. En cada iteracin
Predecir el valor de y
n+1
0)
Corregir para obtener y
n+1
1)
3. Si la diferencia porcentual ente el valor predicho y el corregido es menor que un valor
c arbitrariamente pequeo, pero mayor que un valor 6 dado, entonces continuar
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 19
4. Si la diferencia anterior no es menor que c , utilizar entonces nuevamente el corrector
obteniendo y
n+1
2)
. 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 6 , entonces el error
cometido es muy pequeo y se puede acelerar la solucin aumentando el paso de integra
cin al doble, continuar con el mtodo RungeKutta y luego el predictor corrector nue
vamente
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 lmites establecidos y tratando en
todo caso de usar el paso de integracin mayor posible para obtener una solucin rpida.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 20
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
VisSim
TM
, 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
dy
dt
=yt)+1 em
pleando el mtodo de Simpson, un Runge-Kutta de 3
er
orden, y el correspondiente listado de
las instrucciones 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 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Solucin de p y= -y + 1 por el Mtodo de Simpson
tiempo
y
(
t
)
Mtodos numricos para la solucin de EDO 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 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 2 orden en Scilab
El siguiente es el listado de instrucciones en Scilab y el grfico de la solucin de la ecuacin
diferencial
dy
dt
=0.025 yt)+t 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 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
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 22
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
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-Bas-
hforth 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
Mtodos numricos para la solucin de EDO 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 un
conjunto de n ecuaciones diferenciales de primer orden.
Por ejemplo, la ecuacin diferencial lineal de segundo orden
d
2
y
dt
2
+a
1
dy
dt
+a
0
yt)=b
0
ut) (35)
puede convertirse en dos ecuaciones diferenciales de primer orden definiendo
x
1
t)=yt) , x
2
t)=dy/dt (36)
para obtener
dx
1
dt
=x
2
t) ,
dx
2
dt
=a
0
x
1
t)a
1
x
2
t)+b
0
ut) (37)
Para el caso de una ecuacin diferencial lineal de orden alto (n) dada por
d
n
y
dt
n
+a
n1
d
n1
y
dt
n1
++a
1
dy
dt
+a
0
yt)=b
0
ut) (38)
definiendo
x
1
t)=yt) , x
2
t)=
dy
dt
,, x
n
=
d
n1
y
dt
n1
(39)
se puede convertir en un conjunto de n ecuaciones diferenciales de primer orden dado por

x
1
=x
2
x
2
=x
3

x
n
=a
0
x
1
a
1
x
2
a
n1
x
n
+b
0
ut)
(40)
En el caso general de un conjunto de n ecuaciones diferenciales de primer orden no lineales
se tendra

x
1
t)=f
1
x
1
, x
2
,., x
n
; u ; t)
x
2
t)=f
2
x
1
, x
2
, ., x
n
; u; t)

x
n
t)=f
n
x
1
, x
2
,., x
n
; u; t)
(41)
las cuales deben ser resueltas en forma simultnea.
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 24
El siguiente es el grfico de la solucin de la ecuacin diferencial de segundo orden
d
2
y
dt
2
+1.5
dy
dt
+3 yt)=3 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 recor
darse que la solucin de la ecuacin diferencial solo existe en los instantes {t
i
} 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;
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)')
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 25
4.4 ODE Solvers en MATLAB y Simulink
MATLAB y Simulik 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
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 8
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Solucin de (p
2
+ 1.5 * p + 3) y(t) = 3 por el mtodo de Euler
tiempo
y
(
t
)
Mtodos numricos para la solucin de EDO 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 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 Mat
lab.
%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 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
Vma.ucr.metodos_numericos.odt V.M. Alfaro
Mtodos numricos para la solucin de EDO 27
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];
4.5 ODE Solvers en Scilab
Al igual que MATLAB el programa Scilab provee varias rutinas para la solucin de un con
junto 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 rgidos o de
Vma.ucr.metodos_numericos.odt V.M. Alfaro
0 2 4 6 8 10 12 14 16 18 20
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Ejemplo del uso de la rutina ODE45
tiempo, seg
y
(
t
)
Mtodos numricos para la solucin de EDO 28
rigidez moderada
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 ob
tencin 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.
//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)
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
Mtodos numricos para la solucin de EDO 29
endfunction
//
//llamado al "ode solver" con el mtodo Runge-Kutta de 4 orden
x=ode('rk',[4;6],0,t,modelo);
//
//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 so
lucin del 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
Mtodos numricos para la solucin de EDO 30
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 pro
gramas desarrollados en este.
A continuacin se presenta la solucin de la ecuacin diferencial
dx
dt
=0.5 x
2
+2 obteni
da utilizando el mtodo de Euler y el Runge-Kutta de cuarto orden con un paso de integra
cin At=0.80 y el programa ucr.ie431.solucin_edo.sq
1
Versin 1.2
2
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 4 orden
Runge-Kutta-Simpson
Se puede variar el paso de integracin At para ver su efecto en la solucin diferencial y
tambin 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 electrnica
http://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
Mtodos numricos para la solucin de EDO 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 modif icado
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 modif icado
Trapezoidal Simpson
Heun Runge-Kutta
Runge-Kutta-Simpson
Paso de integracin
Mtodos numricos para la solucin de EDO 32
Bibliografa
1. Aragn, M. - Desarrollo de herramientas en SysQuake para el curso Sistemas de Con
trol, Proyecto Elctrico, Escuela de Ingeniera Elctrica, Universidad de Costa Rica,
2003
2. Burden, R.L. y J.D. Faires Anlisis Numrico, Sexta Edicn, Mxico, International
Thompson Editores, 1998
3. Calerga Sarl- SysQuake 2 User Manual, Lausana, Suiza, 2003
4. Gomez, C. (Editor) - Engineering and Scientific Computing with Scilab, New York,
NY, EUA, Birkhuser Boston, 1999
5. Guy, J.L. - Modeling process systems via digital computers, Chemical Engineering
(EUA), Marzo 8 1982
6. INRIA Group Scilab Reference Manual, Institut National de Recherche en Informa
tique et en Automatique Project Meta 2, Rocquencourt, Francia, 2001
7. Ketter, R.L. y S.P. Prawel Modern Methods of Engineering Computation, New
York, NY, EUA, McGraw-Hill, Inc., 1969
8. Kochenburger, R.J. - Computer Simulation of Dynamic Systems, Englewood Cliffs,
NJ, EUA, Prentice-Hall, Inc., 1972
9. Korn, G.A. y J.V. Wait Digital Continuos System Simulation, Englewood Cliffs,
NJ, EUA, 1978
10. Ralston, A. - A First Course in Numerical Analysis, Tokyo, Japn, McGraw-
Hill/Kogakusha Co., 1965
11. Shampine, L.F. y M.W. Reichelt The MATLAB ODE Suite, SIAM Journal of
Scientific Computing (EUA), Vol. 18 N 1, pg. 1-22, 1997
12. The Matworks, Inc. Using Matlab- Version 6, Natick, MA, EUA, 2002
13. The Matworks, Inc. Using Simulink- Version 5, Natick, MA, EUA, 2002
14. Thomas, B. - The Runge-Kutta Methods, Byte (EUA), Abril 1986
15. Visual Solutions, Inc. - VisSim
TM
User Guide Version 3 , Westford, MA, EUA,
1999
Vma.ucr.metodos_numericos.odt V.M. Alfaro

Vous aimerez peut-être aussi