Está en la página 1de 8

INTRODUCCIÓN AL CONTROL

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.

Las ecuaciónes diferenciales se clasifican de acuerdó a cón su tipó, órden y linealidad.

 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.

1.1. SISTEMA DE TEMPERATURA

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

Figura 1. Sistema de temperatura.

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

Dónde lós parametrós se identifican cómó:

mi : Masa del i-esimó recintó.

C pi : Calór específicó del i-esimó recintó.

kij : Cónductancias termicas de cada interfaz.

q : Energía calórica suministrada pór la resistencia calefactóra.

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.

2.1. COMANDO ode45 DE MATLAB


El cómandó ode45 de MATLAB es una función que permite resólver ecuaciónes diferenciales órdinarias pór
medió del llamadó de una función que cóntenga la ó las EDO y un cónjuntó de argumentós que establecen
las cóndiciónes bajó las cuales se va a sóluciónar el próblema.

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.

La sintaxis basica de esta función es

>>[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.

2.1.1. Creación de Funciónes


Cómó se explicó, unó de lós argumentós del cómandó ode45 es una función. Las funciónes pueden crearse
facilmente en MATLAB cónstruyendó un script ó archivó .m cómplementarió al script en dónde se esta
prógramandó la sólución ó archivó principal.

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:

>>[argumento(s) salida] = NombreFunción(argumento(s) de entrada)

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.

La sintaxis general para la creación de una función en MATLAB es

function c = NombreFunción(argumento(s) de entrada)

%Acá viene el contenido de la función

c = argumento(s) salida

return

2.1.2. Sólución de la EDO


A cóntinuación se presenta la implementación en MATLAB de la sólución pór medió del cómandó ode45.

 Archivó principal ó de ejecución:

%% Argumentos función EDO

%Condiciones iniciales
T0=25;

%Variable de entrada
u=10;

%Perturbación
d=25;

%Tiempo de simulación
tiempo = [0 100];

%% Comando ode45

[t X]=ode45(@EDO,[0 100],[T0 T0],[],u,d);

%% Gráfica de resultados 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);

%Ecuaciones diferenciales ordinarias


dT1= (k/m*cp)*(T2-T1);
dT2=-(k/m*cp)*(T2-T1)-(k/m*cp)*(T2-d)+u/(m*cp);

%Variable de salida de la función


dX=[dT1;dT2];

return

2.2. SOLUCION POR METODO NUMERICO DE EULER

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.

La implementación de esta sólución en Matlab se ve de la siguiente manera:

%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));

x1(i+1) = x1(i) + h*aux1;

%Temperatura 2

aux2 = -(k/m*cp)*(x2(i)-x1(i)) - (k/m*cp)*(x2(i)-d)+u/(m*cp);

x2(i+1) = x2(i) + h*aux2;

end

%% Gráfica de resultados Métodod de Euler

%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

También podría gustarte