Está en la página 1de 7

Unidad 11

ECUACIONES
DIFERENCIALES
ORDINARIAS

ECUACIONES DIFERENCIALES ORDINARIAS

ASPECTOS GENERALES

La matemática constituye una valiosa herramienta para el ingeniero, mediante la cual se pueden obtener
representaciones del mundo real, que pueden ser más o menos exactas de acuerdo a su complejidad.

Estas representaciones se denominan modelos matemáticos, que deben ser resueltos para obtener resultados
que serán analizados e interpretados por el ingeniero.

Estos modelos pueden estar constituidos por ecuaciones algebraicas, cuyos resultados son valores numéricos,
los cuales son inalterables en la medida que las condiciones no cambien. Así por ejemplo: dados los caudales y
las concentraciones de reactivos que ingresan a un reactor tanque agitado, la temperatura y la conversión de la
reacción; la resolución de una ecuación algebraica permitirá calcular el volumen necesario del equipo. En la
medida que todas las variables involucradas: caudales, concentraciones, temperaturas y conversiones no
cambien, entonces el volumen del reactor tampoco lo hará.

Por otro lado, los modelos matemáticos pueden estar representados por ecuaciones diferenciales, siendo el
resultado de las mismas funciones de una o varias variables, dependiendo si dichas ecuaciones son ordinarias o
parciales. De esta manera, el resultado no es un valor numérico, sino que es un conjunto de valores que
dependerán de una o más variables independientes; por lo tanto, los valores de la solución van a ir cambiando
con el tiempo, la posición o cualquier otra variable independiente considerada. Para ejemplificar lo dicho, se
puede decir que la solución de una ecuación diferencial permite conocer la concentración del producto de una
reacción química, a medida que transcurre el tiempo, comenzando normalmente en cero y evolucionando hasta
llegar a un valor máximo.

Dicho de otra manera, las ecuaciones algebraicas permiten modelar situaciones estáticas; mientras que las
ecuaciones diferenciales, ordinarias o parciales, modelan fenómenos dinámicos, que cambian en forma continua
ya sea en el tiempo o en el espacio.

En el presente apunte se discutirán diversos métodos numéricos de resolución de ecuaciones diferenciales


ordinarias, con sus ventajas y desventajas. Es importante recordarle al lector que esta exposición es simplemente
una introducción al tema, ya que por motivos de tiempo no se puede realizar un estudio sistemático y exhaustivo.
Además, los procedimientos de modelado, por medio de los cuales se obtienen las ecuaciones diferenciales,
quedan fuera del alcance del presente apunte.

MÉTODO DE EULER

Se trata de un método sencillo, rara vez utilizado en la práctica, pero que tiene la ventaja de permitir comprender
fácilmente la estrategia de resolución numérica de una ecuación diferencial de primer orden con condiciones
iniciales, tal como se representa a continuación:

𝑦′ = 𝑓(𝑡, 𝑦)
(1)
𝑦 𝑡1 = 𝑦1

Conceptualmente se puede decir que se conoce la rapidez de cambio, punto a punto, de la variable dependiente
𝑦; además, también se conoce un punto por donde pasa la solución: (𝑡1 , 𝑦1 ).

Si se resolviera analíticamente esta ecuación diferencial, se obtendría como resultado una función del tipo

𝑦 = 𝑓(𝑡) (2)

Que debe cumplir con la condición

𝑦1 = 𝑓(𝑡1 ) (3)

Ing. Juan E. Núñez Mc Leod Página 1 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

Para ejemplificar el método de resolución, se supondrá la siguiente EDO:

𝑦 ′ = 𝑠𝑒𝑐 2 (𝑡)
(4)
𝑦 0 =0

En la figura 1 se muestra la gráfica de la solución de la ecuación (4), siendo las condiciones iniciales:

𝑡1 = 0 ; 𝑦1 = 0 (5)

Como se observa, la curva comienza


en las coordenadas (0; 0), correspon-
dientes a las condiciones iniciales. A
partir de dicho punto se produce la
evolución de la respuesta, a medida
que transcurre el tiempo, según la
función dada por (2).

Lo que se conoce es la ecuación


diferencial dada en (4), con la cual se
pueden calcular las derivadas primeras
en cualquier punto; las que corres–
ponden a las pendientes de las rectas
tangentes en los puntos donde la
derivada es evaluada.

De acuerdo a lo visto en el curso de


Geometría Analítica, es posible deter–
minar la ecuación de una recta si se
conoce la pendiente y un punto de la
misma. Sobre esta posibilidad se basa
el método de Euler.
Fig. 1. Ejemplo de resultado de una EDO.

El método de Euler es un procedimiento iterativo, que da comienzo en el punto de coordenadas conocidas


(𝑡1 , 𝑦1 ), en donde se calcula la derivada primera haciendo uso de la ecuación diferencial. De esta manera:

𝑚1 = 𝑠𝑒𝑐 2 0 = 1 (6)

La ecuación de la recta conocida la pendiente y un punto perteneciente a la misma, es:

𝑦 = 𝑚1 𝑡 − 𝑡1 + 𝑦1 (7)

Al reemplazar los valores conocidos, queda:

𝑦 =1 𝑡−0 +0
(8)
𝑦=𝑡

En la figura 2 se observa en color rojo la representación de la recta tangente 1, que naturalmente pasa por el
punto de coordenadas (0; 0). Analizando el resultado se aprecia como en cercanías del punto inicial, la recta se
confunde con la gráfica de la respuesta, apareciendo un error cada vez más importante en la medida que el punto
considerado está más lejos de ese valor inicial.

1
Si bien la pendiente de dicha recta tangente vale 1, equivalente a una inclinación de 45º, en la figura se observa un ángulo menor debido a
la diferencia de escalas de los ejes.

Ing. Juan E. Núñez Mc Leod Página 2 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

Lo que se hará a continuación es


considerar que el error cometido es
despreciable, por lo que se estimará el
siguiente punto de la solución utilizando la
ecuación de la recta tangente.

Lo primero que se debe hacer es decidir


cuánto se avanzará en el eje de tiempos
(mientras mayor sea este valor, tanto
mayor será el error, pero menor la
cantidad de cálculos necesarios para
resolver el problema).

Para poder visualizar el error cometido, se


adoptará un incremento de tiempo de 0.5
unidades, denominado paso. Ahora se
puede estimar el próximo punto solución,
de la siguiente manera:

∆𝑡 = 0.5
𝑡2 = 𝑡1 + ∆𝑡 → 0 + 0.5 = 0.5 → 𝑡2 = 0.5
Fig. 2. En rojo se representa la recta tangente al punto dado por las 𝑦 = 𝑡 → 𝑦2 = 𝑡2 → 𝑦2 = 0.5
condiciones iniciales.

De esta manera el primer valor


estimado de la solución es el punto
(0.5; 0.5). En la figura 3 se aprecia
dicho punto y se observa el error
cometido, que corresponde a la
distancia que lo separa de la curva
solución, en color azul.

Seguidamente se calculará la pen–


diente de la solución en el nuevo
punto; es decir:

𝑚2 = 𝑠𝑒𝑐 2 0.5 = 1.2984464

Se determina la nueva recta:

𝑦 = 𝑚2 𝑡 − 𝑡2 + 𝑦2

𝑦 = 1.2984464 𝑡 − 0.5 + 0.5

Se vuelve a avanzar en el eje de


tiempos:
Fig. 3. Primer punto estimado de la solución.

𝑡3 = 𝑡3 + ∆𝑡 → 0.5 + 0.5 = 1 → 𝑡3 = 1

Y finalmente se estima el valor que corresponde a la solución:

𝑦3 = 1.2984464 𝑡3 − 0.5 + 0.5 → 𝑦3 = 1.1492232

De esta manera se determina que el nuevo punto estimado de la solución es (1; 1.1492232).

Ing. Juan E. Núñez Mc Leod Página 3 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

En la figura 4 se encuentra represen–


tada la segunda recta tangente, que
pasa por el primer punto estimado de la
solución, y se ha resaltado el segundo
punto solución.

De esta manera se prosigue iterando


hasta completar el intervalo de tiempo
en donde se desea conocer la solución.

Resumiendo, la secuencia de cálculos


sería:

𝑚𝑖 = 𝑓(𝑡𝑖 , 𝑦𝑖 ) (9)

𝑡𝑖+1 = 𝑡𝑖 + ∆𝑡 (10)

𝑦𝑖+1 = 𝑚𝑖 𝑡𝑖+1 − 𝑡𝑖 + 𝑦𝑖 (11)

Siendo las coordenadas del nuevo


punto estimado de la solución
Fig. 4. Estimación del segundo punto de la solución. 𝑡𝑖+1 ; 𝑦𝑖+1 .

Si se adopta un incremento h constante de la variable independiente, entonces reemplazando en la expresión 10


se obtiene la 12. Además si se combinan las expresiones 9 y 11, teniendo en cuenta la 10, se obtiene la 13,
como se expone a continuación:

𝑡𝑖+1 = 𝑡𝑖 + ℎ (12)

𝑦𝑖+1 = 𝑦𝑖 + ℎ 𝑓(𝑡𝑖 , 𝑦𝑖 ) (13)

Como se estudió en el tema de integración numérica, es más cómodo especificar la cantidad de subdivisiones,
denominada M en aquel momento, que el valor del salto de tiempo h. De esta manera, conociendo el tiempo
inicial, 𝑡1 , el tiempo final, 𝑡𝑓 y la cantidad de subdivisiones, M, las expresiones de cálculo quedan:

𝑡𝑓 − 𝑡1 (14)
ℎ=
𝑀
𝑡𝑖+1 = 𝑡𝑖 + ℎ (15)

𝑦𝑖+1 = 𝑦𝑖 + ℎ 𝑓(𝑡𝑖 , 𝑦𝑖 ) (16)

Para poder resolver la EDO dada en la expresión 4, se hará uso de dos funciones. La primera de ellas, llamada
euler, implementará el cálculo iterativo según lo expuesto en 14, 15 y 16. Por otro lado, para evaluar la
ecuación diferencial, se hará uso de una segunda función denominada EDO.

Esta manera de dividir el problema en dos funciones, busca como objetivo hacer más sencillas las
modificaciones, cuando haya que resolver otro problema. Esto se debe a que el algoritmo de resolución no se
modifica (función euler), solamente es necesario introducir la expresión de la nueva ecuación diferencial en la
función EDO.

Para poder analizar las bondades del método de Euler, se resolverá el problema propuesto en el intervalo de
tiempos [0; 1], con la condición inicial y=0 para t=0, utilizando los siguientes intervalos M = 2, 4, 10 y 100. Siendo
este último, como se verá, el que da una solución de relativa precisión.

Ing. Juan E. Núñez Mc Leod Página 4 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

Función Euler Función EDO


// Resolución EDO por el método de Euler // Cálculo de la EDO
// Variables de entrada // Variables de entrada
// t1: tiempo inicial. // t: tiempo.
// y1: solución de la EDO al tiempo t1. // y: valor de la solución, si es necesaria.
// tf: tiempo hasta donde obtener la // Variables de salida
solución. // dy: valor de la derivada primera.
// M: cantidad de intervalos utilizados. function [dy]=EDO(t, y)
// Variables de salida dy=sec(t)^2
// t: vector de tiempos, tamaño M+1. endfunction
// y: vector solución, tamaño M+1.
function [t, y]=euler(t1, tf, y1, M)
h=(tf-t1)/M
t=zeros(M+1)
y=zeros(M+1)
t(1)=t1
y(1)=y1
for i=1:M
t(i+1)=t(i)+h
y(i+1)=y(i)+h*EDO(t(i),y(i))
end
endfunction

Para generar el gráfico de la figura 5, se


han introducido las siguientes instru–
cciones en la consola:

-->[t1,y1]=euler(0,1,0,2);

-->plot2d(t1,y1,style=1)

-->[t2,y2]=euler(0,1,0,4);

-->plot2d(t2,y2,style=2)

-->[t3,y3]=euler(0,1,0,10);

-->plot2d(t3,y3,style=5)

-->[t4,y4]=euler(0,1,0,100);

-->plot2d(t4,y4,style=3)

Fig. 5. Resultados del método de Euler para los valores de M indicados.

Como se observa claramente, a medida que se aumenta M, mejora la precisión del resultado; sin embargo, los
tiempos de cálculo cada vez son mayores, incrementando el costo computacional. Para concluir, el método de
Euler es de orden uno, y tiene principalmente interés académico, ya que para obtener resultados precisos se
deben utilizar intervalos excesivamente reducidos. El principal problema de este método es que se basa en un
único valor (pendiente) para estimar el próximo punto solución.

METODO DE RUNGE-KUTTA DE CUARTO ORDEN

Runge y Kutta fueron dos matemáticos y físicos alemanes, que a principios del siglo XX desarrollaron una serie
de métodos para resolver ecuaciones diferenciales ordinarias, los cuales son ampliamente utilizados en la
actualidad. El método que se verá a continuación es muy popular, debido a su simplicidad comparada con la
precisión obtenida. El mismo se denomina abreviadamente RK4.

Ing. Juan E. Núñez Mc Leod Página 5 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

Para mejorar la precisión del resultado,


se utiliza una estimación ponderada en
el intervalo o salto de tiempo. De esta
manera, si se está en el punto t=0.5 y se
desea estimar la solución en t=1; es
decir, utilizando un salto de tiempo de
0.5, se evaluarán las pendientes en los
extremos y en el punto medio, tal cual se
observa en la figura 6.

Según lo visto en la expresión 16, que se


transcribe a continuación:

𝑦𝑖+1 = 𝑦𝑖 + ℎ 𝑓(𝑡𝑖 , 𝑦𝑖 )

la estimación del nuevo punto solución


se realiza calculando el incremento que
tiene la función; es decir, ℎ 𝑓(𝑡𝑖 , 𝑦𝑖 ), para
luego sumarlo al valor conocido de la
solución 𝑦𝑖 .

En el método RK4, evalúa los siguientes Fig. 6. El método RK4 utiliza la ponderación de varias pendientes.
incrementos:

𝑘1 = ℎ 𝑓(𝑡𝑖 , 𝑦𝑖 ) (17)

1 1
𝑘2 = ℎ 𝑓(𝑡𝑖 + ℎ , 𝑦𝑖 + 𝑘1 ) (18)
2 2
1 1
𝑘3 = ℎ 𝑓(𝑡𝑖 + ℎ , 𝑦𝑖 + 𝑘2 ) (19)
2 2

𝑘4 = ℎ 𝑓(𝑡𝑖 + ℎ , 𝑦𝑖 + 𝑘3 ) (20)

De esta manera se tienen cuatro incrementos, para calcular el valor utilizado en la estimación del resultado para
t=1, los mismos se ponderan según la siguiente expresión:

1
𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 2 𝑘2 + 2 𝑘3 + 𝑘4 ) (21)
6

La función de Scilab para utilizar el método RK4 se observa a continuación:

function [t, y]=RK4(t1, tf, y1, M)


h=(tf-t1)/M
t=zeros(M+1)
y=zeros(M+1)
t(1)=t1
y(1)=y1
for i=1:M
t(i+1)=t(i)+h
k1=h*EDO(t(i),y(i))
k2=h*EDO(t(i)+h/2,y(i)+k1/2)
k3=h*EDO(t(i)+h/2,y(i)+k2/2)
k4=h*EDO(t(i)+h,y(i)+k3)
y(i+1)=y(i)+1/6*(k1+2*k2+2*k3+k4)
end
endfunction

Ing. Juan E. Núñez Mc Leod Página 6 de 7


Unidad 11
ECUACIONES
DIFERENCIALES
ORDINARIAS

En la figura 7 se observan los resultados


obtenidos aplicando el método RK4 para
resolver la EDO dada en la expresión 4.

Los valores de M utilizados fueron 2, 4 y 10,


dando este último un resultado aceptable, ya
que para un valor M=100, las dos soluciones
se confunden en el gráfico (se deja al lector
verificar esta situación).

Es importante aclarar que el método RK4 tiene


problemas cuando hay una aceleración
importante en la solución. Si se da esta
situación se deben utilizar otros métodos.

El método RK4 tiene una precisión de orden 4,


de allí el nombre del método.

Fig. 7. Resultados del método RK4 para los valores de M indicados.

COMPARACIÓN ENTRE LOS DISTINTOS MÉTODOS

Para comparar las bondades de cada método, se resolverá la siguiente ecuación diferencial:

𝐴∙𝐶
𝑦 ′ = −𝑦 2 ∙ ∙ 𝑒𝐴 𝑡
𝐵

𝑡1 = 0
𝑦1 = 0.2380952

A= -2; B= 5; C= 20

La solución exacta de esta ecuación diferencial es:

𝐵
𝑦=
1+𝐶∙𝑒 𝐴 𝑡

Se resolverá el problema utilizando los dos métodos vistos, graficando los resultados (en color rojo) de cada uno
conjuntamente con el resultado exacto (en color negro). Con el objeto de poder comparar se han utilizado los
siguientes parámetros en todos los casos:

-->t1=0;y1=0.2380952;tf=5;M=10;tol=0.001;

Fig. 8. Método de Euler. Fig. 9. Método RK4.

Ing. Juan E. Núñez Mc Leod Página 7 de 7

También podría gustarte