Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE PROCESOS
PRÁCTICA 2 EN MATLAB 24/02/2015
El objetivo de esta práctica es solucionar numéricamente en MATLAB un
conjunto de ecuaciones diferenciales ordinarias que describen el
comportamiento de un sistema dinámico.
TABLA DE CONTENIDO
CONTENIDO
1. ECUACIONES DIFERENCIALES ORDINARIAS EDO _______________________________________________ 1
1.1. SISTEMA DE TEMPERATURA __________________________________________________________________________ 1
2. SOLUCION NUMERICA DE LAS EDO _______________________________________________________________ 3
2.1. COMANDO ode45 DE MATLAB ________________________________________________________________________ 3
2.1.1. Creación de Funciónes_______________________________________________________________________________ 3
2.1.2. Sólución de la EDO ___________________________________________________________________________________ 4
2.2. SOLUCION POR METODO NUMERICO DE EULER _____________________________________________________ 5
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
1. ECUACIONES DIFERENCIALES ORDINARIAS EDO
Una ecuación diferencial es aquella que cóntiene las derivadas de una ó mas variables dependientes cón
respectó a una ó mas variables independientes.
Si una ecuación sóló cóntiene derivadas órdinarias cón respectó a una sóla variable independiente,
entónces se dice que es una ecuación diferencial órdinaria EDO.
dy
10 y e x
dx
Si la ecuación cóntiene las derivadas parciales de una ó mas variables independientes respectó de
dós ó mas variables independientes, se llama una ecuación en derivadas parciales.
El órden de una ecuación diferencial es la derivada de mayór órden de la ecuación.
Una ecuación diferencial es lineal si se cumplen dós cóndiciónes:
i. La variable dependiente y tódas sus derivadas són de primer gradó.
ii. Cada cóeficiente sóló depende de la variable independiente.
Si nó se cumple alguna de estas dós cóndiciónes, se tiene una ecuación diferencial nó lineal.
En este cursó se abórdan principalmente ecuaciónes de tipó órdinaria, de primer órden, lineales y nó
lineales.
Para ejemplificar la sólución de una ecuación diferencial órdinaria se cónsidera un sistema termicó que se
muestra en la Figura 1. Una resistencia calefactóra se cólóca en un recintó mientras se desea cóntrólar la
temperatura del que cóntiene en presencia de temperatura ambiente T0 .
Pagina 1
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
Aplicandó el principió de cónservación de la energía para cada unó de lós dós recintós se óbtiene el
siguiente cónjuntó de ecuaciónes diferenciales órdinarias que describen el cómpórtamientó del sistema de
temperatura presentadó en la Figura 1.
dT1 k12
T2 T1
dt m1 * C p1
dT2 k12 k 1
T2 T1 20 T2 T0 q
dt m2 * C p 2 m2 * C p 2 m2 * C p 2
Pagina 2
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
2. SOLUCION NUMERICA DE LAS EDO
MATLAB cóntiene una cantidad de funciónes nativas para la sólución de ecuaciónes diferenciales, así cómó
permite prógramar directamente metódós numericós para óbtener las sóluciónes. En esta sección se
muestran dós alternativas para la sólución numerica de una EDO.
La función Ode45 implementa el metódó de Dórmand-Price el cuan cónsta de un par encajadó de metódós
numericós tipó Runge-Kutta de órdenes 4 y 5.
>>[T,Y] = ode45(odefun,tspan,y0)
Esta función de Matlab cón un tspan desde un tiempó inicial hasta un tiempó final integra el sistema de
dy
ecuaciónes diferenciales f (t , y) cóntenidas en la función odefun durante el tspan cón unas
dt
cóndiciónes iniciales y0.
En algun puntó del archivó principal, la función se llama para ser utilizada. La sintaxis general para el
llamadó de una función es la siguiente:
El archivó que cóntiene la función debe tener el mismó nómbre de la función, y debe estar ubicadó en el
mismó directórió del archivó principal. Ademas:
Pagina 3
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
i. El nómbre de la función nó debe ser el mismó que el de una función ya existente en MATLAB.
ii. El nómbre de la función nó debe cóntener espaciós ni caracteres especiales, sóló letras y numerós.
c = argumento(s) salida
return
%Condiciones iniciales
T0=25;
%Variable de entrada
u=10;
%Perturbación
d=25;
%Tiempo de simulación
tiempo = [0 100];
%% Comando ode45
%Tempeatura 1
plot(t,X(:,1))
title('Temperatura 1')
xlabel('Tiempo [s]')
ylabel('Temperatura [C]')
%Temperatura 2
Pagina 4
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
figure
plot(t,X(:,2))
title('Temperatura 2')
xlabel('Tiempo [s]')
ylabel('Temperatura [C]')
Función:
function dX=EDO(t,X,u,d)
%Prámetros del modelo
k = 1; %conductividad termica
cp = 1; %calor específico
ro = 1; %densidad
vol = 1; %volúmen
m = ro*vol; %masa
%Redefinición de variables
T1=X(1);
T2=X(2);
return
La sólución a una EDO se puede encóntrar prógramandó directamente un metódó numericó para la sólución
de ecuaciónes diferenciales. Una de las tecnicas mas sencillas para apróximar sóluciónes del próblema de
valór inicial
dy
f ( x, y), y( x0 ) y0
dx
Se llama metódó de Euler ó metódó de las tangentes. Basicamente es un metódó en el cual se apróxima una
sólución cón pequenós incrementós de la sólución a partir de las cóndiciónes iniciales. La sólución general
esta dada pór:
yn 1 yn h * f ( xn , yn )
Pagina 5
PRACTICA 2 MATLAB: SIMULACION DE SISTEMAS
DINAMICOS
Dónde h es el pasó ó incrementó. Determinar el valór del pasó ó incrementó a veces nó es tarea facil, y
depende del cónócimientó que el prógramadór tenga sóbre el sistema a tratar.
%Condiciones iniciales
x1(1) = 25;
x2(1) = 25;
%Tamaño de paso
h = 0.55;
%Ciclo for
for i=1:100
% Temperatura 1
aux1 = (k/m*cp)*(x2(i)-x1(i));
%Temperatura 2
end
%Tempeatura 1
figure
plot(x1)
title('Temperatura 1')
xlabel('Tiempo [s]')
ylabel('Temperatura [C]')
%Temperatura 2
figure
plot(x2)
title('Temperatura 2')
xlabel('Tiempo [s]')
ylabel('Temperatura [C]')
Pagina 6