Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Facultad de Ingeniería
Ingeniería Química
Programación en Matemática Aplicada IQM - 152
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])
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:
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:
En MATLAB:
Este comando hará que MATLAB grafique las funciones solución de la ecuación diferencial en una
nueva figura.
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 resolver el problema de forma más sencilla puede aplicar la siguiente equivalencia:
𝑦1 = 𝑥
𝑦2 = 𝑦
𝑦1 ′ − 𝑦1 + 2𝑦2 = 0
3𝑦1 + 𝑦2 ′ = 0
𝑦1 ′ = 𝑦1 − 2𝑦2
𝑦2 ′ = −3𝑦1
𝑦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.