Está en la página 1de 10

Universidad Católica Boliviana San Pablo

Facultad de Ingeniería
Ingeniería Química
Programación en Matemática Aplicada IQM - 152

CLASE N° 26: RESOLUCIÓN NUMÉRICA DE ECUACIONES


DIFERENCIALES

MATLAB incluye algunas funciones que resuelven numéricamente ecuaciones diferenciales ordinarias
de la forma:

No toda ecuación diferencial se puede resolver con la misma técnica, de modo que MATLAB incluye
una gran variedad de solucionadores de ecuaciones diferenciales. Sin embargo, todos estos
solucionadores tienen el mismo formato. Esto hace fácil intentar diferentes técnicas al sólo cambiar el
nombre de función. Las principales funciones de resolución de ecuaciones diferenciales se encuentran
resumidas en la siguiente tabla:
Cada uno de los solucionadores requiere las siguientes tres entradas como mínimo:

• Un manipulador de función para una función que describa la ecuación diferencial de primer
orden o sistema de ecuaciones diferenciales en términos de t y y.
• El lapso de tiempo de interés.
• Una condición inicial para cada ecuación en el sistema.
Existen dos tipos de notaciones adecuadas para emplear estas funciones:
ode###(manipulador de función,[tiempo inicial,tiempo final],[condiciones iniciales])

[t,y]=ode###(manipulador de función,[tiempo inicial,tiempo final],[condiciones iniciales])

Un manipulador de función es un “apodo” para una función. El manipulador de función puede hacer
referencia o a una función MATLAB estándar, almacenada como archivo-m, o a una función MATLAB
anónima.
Todos los solucionadores regresan un arreglo de valores t y y, si no especifica los arreglos resultantes
[t,y], las funciones crean una gráfica de los resultados.
A continuación, se analizarán dos ejemplos:
EJEMPLO 1: Ecuación diferencial.

Por ejemplo, para el caso de una función anónima, considere la siguiente ecuación diferencial:

Misma que se encuentra definida entre los valores de y desde -1 a 1 y presenta la siguiente condición
inicial:

Para solucionar esta ecuación diferencial se creará una función anónima llamada f1:

Aunque esta función particular no usa un valor de y en el resultado (2t), todavía necesita ser parte de
la entrada.
Si no sabe cómo se comporta su ecuación o sistema de ecuaciones, se sugiere usar el solver ode45
usando la siguiente notación:
ode45(manipulador de función,[tiempo inicial,tiempo final],[condiciones iniciales])
Si emplea la notación anterior para cualquier solver de ecuaciones diferenciales, MATLAB graficará las
funciones de resultado en una nueva figura.
También puede utilizar la siguiente sintaxis:
[t,y]=ode###(manipulador de función,[tiempo inicial,tiempo final],[condiciones iniciales])

Este comando regresa un arreglo de t valores y un arreglo correspondiente de y valores. Puede graficar
ambos usted mismo y realizar las modificaciones que considere pertinentes.

Los resultados se muestran en la figura son consistentes con la solución analítica, que es:

Resolviendo la misma ecuación diferencial de forma analítica en MATLAB:


Se comprueba que ambas soluciones son iguales.
EJEMPLO 2: Sistema de ecuaciones diferenciales.
Considere el siguiente sistema de ecuaciones diferenciales:

Donde la prima indica la derivada con respecto al tiempo y las funciones con respecto al tiempo son y1
y y2.
El lapso de tiempo de interés es desde –1 hasta 1, y las condiciones iniciales son ambas 1:
𝑦1 (−1) = 1
𝑦2 (−1) = 1
Note que existe una condición inicial para cada ecuación en el sistema.
Si quiere resolver un sistema de ecuaciones diferenciales, es preferible definir un archivo-m de función.
La salida de la función debe ser un vector columna de valores de primera derivada, por ejemplo:

Cuando la función de entrada o sistema de funciones se almacena en un archivo-m, la sintaxis es


ligeramente diferente. El manipulador para un archivo-m existente es:
@nombre_archivo
Para resolver el sistema de ecuaciones descrito en sistemaed se usa el siguiente comando:
ode45(@nombre_archivo,[tiempo inicial,tiempo final],[condiciones iniciales])

En MATLAB:

Este comando hará que MATLAB grafique las funciones solución de la ecuación diferencial en una
nueva figura.

También puede utilizar la siguiente sintaxis:


[t,y]=ode45(@nombre_archivo,[tiempo inicial,tiempo final],[condiciones iniciales])

Este comando regresa un arreglo de t valores (que corresponde a los valores de tiempo dentro de los
límites especificados) y una matriz y, que contiene en cada una de sus columnas los valores
correspondientes a las soluciones del sistema de ecuaciones diferenciales. Puede graficar ambos usted
mismo y realizar las modificaciones que considere pertinentes.
En el presente ejemplo, se tiene un sistema de dos ecuaciones diferenciales con dos incógnitas; por lo
tanto, la matriz y tendrá dos columnas, cada una correspondiente a los valores de cada una de las
funciones solución.
Para comprobar los resultados, se puede resolver el sistema de ecuaciones diferenciales de forma
analítica:
Se comprueba que ambas soluciones son iguales.
PRÁCTICA N° 26: RESOLUCIÓN NUMÉRICA DE ECUACIONES
DIFERENCIALES
Resuelva los siguientes ejercicios empleando MATLAB. Dentro de un archivo tipo Live Script
(.mlx). Posteriormente, envíe el archivo siguiendo el formato de la materia, al correo
wendy.garcia@ucb.edu.bo
1. Resuelva las siguientes ecuaciones diferenciales de forma numérica, empleando la
función ode45, con las siguientes consideraciones:
a) x=f(t) a) x(0)=1
b) y=f(x) b) y(0)=1
c) y=f(x) c) y(0)=1

Para su análisis, considere un valor de la variable independiente inicial de 0 y un valor


final de 1. Emplee las condiciones iniciales mostradas en el recuadro naranja.
Aplique los dos tipos de sintaxis de ode45 vistos en clase.
Agregue título y títulos de ejes a todas sus gráficas.

2. Resuelva el siguiente sistema de ecuaciones diferenciales, x y y se encuentran en


función de t:

Para resolver el problema de forma más sencilla puede aplicar la siguiente equivalencia:

𝑦1 = 𝑥
𝑦2 = 𝑦

Entonces las ecuaciones del sistema se pueden reescribir como:

𝑦1 ′ − 𝑦1 + 2𝑦2 = 0
3𝑦1 + 𝑦2 ′ = 0

Para resolver correctamente el sistema, empleando ode45, se deben despejar las


primeras derivadas:

𝑦1 ′ = 𝑦1 − 2𝑦2
𝑦2 ′ = −3𝑦1

Para resolver el sistema de ecuaciones diferenciales, analice un intervalo de tiempo de


0 a 1 y tome en cuenta las siguientes condiciones iniciales:

𝑦1 (0) = 1
𝑦2 (1) = 1
Para resolver este ejercicio usted tendrá que crear una función externa como un archivo
.mlx. Asegúrese de guardar dicha función en la misma carpeta que su práctica, para
evitar errores en la revisión. Envíe la carpeta que contenga la función externa y su
práctica de forma comprimida, siguiendo el formato de la materia, mediante la
plataforma NEO.

También podría gustarte