Está en la página 1de 30

DISEO DE COLUMNAS DE

ABSORCIN USANDO MATLAB


Prof. FABIAN LEONARDO MORENO

MATLAB
Laboratorio de matrices
Opera matemticamente funciones, vectores ,
matrices, ecuaciones, ecuaciones
diferenciales, etc
Sirve para crear programas
Importa, exporta datos

Ventana de comandos
Ejecuto acciones: ejemplo.
Suma, resta, trigonomtricas, pi, date, etc
Trabaja con polinomios: p=[1,2,3,4]
Soluciona la ecuacin polinomial:
roots (p)
Tambien devuelve el polinomio dadas las races:
p2= poly([-2,-3])

Resuelva el sistema:

2x + 3y = 4
5x 2y = 6

>> a=[2, 3; 5, -2];


>> b=[4; 6];
>> x=inv(a)*b;
>> x

ingrese la matriz de coeficientes


ingrese el vector columna de constantes
obtenga la solucin con la funcin para invertir
muestre el vector solucin

Grafique la funcin f(x)=sen(x) ex en el intervalo 0 x

>> ezplot('sin(x)*exp(x)',0, 2);


>> grid on;

%escriba la funcin entre comillas simples


%muestre cuadrculas en el grfico

Resuelva la ecuacin cbica 5x3 + 2x2 - 3x + 1 = 0;


>> a=[5, 2, -3, 1];
ecuacin
>> x=roots(a)

ingrese los coeficientes de la


obtenga y muestre las races de la ecuacin

>> x=roots(a)

obtenga y muestre las races de la ecuacin

Obtenga la solucin de la ecuacin diferencial ordinaria: y-x-y = 0, y(0)=1


>> y=dsolve('Dy-x-y=0','y(0)=1', 'x'); %defina la ecuacin, condicin y variable
>> y
%muestre la solucin analtica obtenida
>> ezplot(y, 0, 2);
% grafique la solucin para 0 x 2
>> grid on
% muestre cuadrculas
Integre la funcin f(x) = x sen(x)
>> f=int('x*sin(x)')
>> s=int('x*sin(x)',0,pi)

obtenga el resultado analtico


integre entre 0 y

Manejo simblico de expresiones


>> syms x
>> y=x^3-8
>> t=factor(y)
>> e=taylor(exp(x), 5);

defina x con tipo simblico


una expresin con x
factorar la espresin asignada a y
expandir ex con 5 trminos de la serie de Taylor

graficas
La funcin plot(x), genera una grfica de los
valores de x que han sido calculados en
determinada funcin
Las graficas se pueden editar agregando titulo
(tittle), rotulos (xlabel, ylabel), cuadriculas (grid),
texto (text) etc
Clear all borra todo
Clc limpia pantalla

Ejemplo grafica
Graficar la funcin sin(x)*exp(-0.4*x) entre 0 y 10.
Opcin 1:
ezplot('sin(x)*exp(-0.4*x)',[0,10])
Opcin 2:
fplot('sin(x)*exp(-0.4*x)',[0,10])

Opcin 3:
x=0:0.05:10;
y=sin(x).*exp(-0.4*x);
plot(x,y)

Graficar:
Y = 3x^2+2x-5
Entre x = -8 y x= 8

fplot('sin(x)*exp(-0.4*x)',[0,10]);
title('ejemplo')
grid on;

PROGRAMANDO EN MATLAB
Se pueden usar instrucciones en la ventana de
comandos o en archivos llamados ficheros .m
Bucles: For, if, while,

for i=(1:2:10) (valor inicial, incremento, valor final)


y=i

If expresin 1
hacer algo
else if expresin 2
Hacer algo
Else
Hacer algo
end

While expresin
Hacer algo
end

Ficheros .m
Son archivos en los que se guardan
instrucciones y comandos. Es como crear un
programa que se puede llamar en cualquier
momento.

Funciones
Son ficheros .m que devuelven un valor de una
funcin dada.
Function[salida1, salida2, ] = nombre( entrada1,
entrada2, )
Comandos de MATLAB
Return
La funcin se evalua con: feval

Ejemplo funciones
function p=fun1(x)
p=x^32
Despues en la ventana de comandos se llama
la funcin y el punto donde se quiere evaluar:
fun1(3*pi/2)

Ejemplo newton raphson


x=-4:0.1:4
fx=x.^3+x+16
plot(x,fx)
grid on

format short;
x=4; fx=x.^3+x+16;
while abs(fx)>0.00001
fx=x.^3+x+16; dfx=3*x^2+1; xn=x-fx/dfx;
disp ([x fx dfx fx/dfx xn]); x=xn;
end

Otra rutina para Newton Raphson

function [res, it]=newton(func,dfunc,x,presic)


%x0 es el valor inicial, precis la presicion requerida
%func la funcin y dfunc es su derivada
it=0; x0=0;
d=feval(func,x0)/feval(dfunc,x0);
while abs(d)>presic
x1=x0-d;
it=it+1;
x0=x1;
d=feval(func,x0)/feval(dfunc,x0);
end;
res=x0

Se crean ficheros para las funciones, por


ejemplo para la funcin: x^2-x-sin(x+0.15)
Fichero f1
function f=f1(x);
f=x^2-x-sin(x+0.15);
Fichero derf1
function d=derf1(x);
d=2*x-1-cos(x+0.15);

Solucin de EDO en Matlab


OPCIONES:
Solucin exacta (directa)
Solucin de una funcin definida previamente
Solucin por mtodos numricos
programando la rutina respectiva

ejercicio
Resolver la ecuacin:
y = (t-y)/2 Y(0) = 1
En Matlab en forma directa.
En Matlab usando una rutina para el metodo de euler
En excel usando una rutina con el metodo de euler y
comparando el resultado para diferentes valores de n.
Graficar los resultados y compararlos con la solucion
real: y(t) = 3e(-t/2) 2 + t

Solucin exacta
Resolver: y=(t-y)/2 en [0,3] con y(0)=1
Se usa la funcin dsolve
Sintaxis en la ventana de comandos:
u = dsolve('Du = (t-u)/2','u(0) = 1')
Si queremos graficar la solucin:
t=0:0.1:3
plot((-2+t+3*exp(-1/2*t)))

Solucin exacta
Otro ejemplo Ej: resolver la ecuacin de valor
inicial:
1. U =1/2u ; u(0) =

2.
U' = 16
u(0) = 2

Solucin:
1. u = dsolve('Du = u/2','u(0) = 1/4')
2. u = dsolve('Du = r*u','u(0) = u0')

SOLUCION DE ODE EN MATLAB


Matlab ya tiene implicto el metodo de Runge
Kutta para resolver las ecuaciones
diferenciales ordinarias.
La instruccin es ODE45, ODE23, ODE 1213,
etc

Ejemplo

Resolver la ecuacin:
dy/dt =a + by-y^3

%Se define la funcin en el editor:


% Comentarios, instrucciones, etc.
function [f]=ecdif(t,y)
% Parmetros
a=6;b=1.5;
% Ecuacion
f=a+b*y-y^3;
f = f';
Luego se resuelve el sistema en la ventana de
comandos:
>>tr=1;y0=1;[t,y]=ode45('ecdif',tr,y0);
plot (t,y)

Solucion de sistemas de ecuaciones


diferenciales

Resolver el sistema
dx1/dt =a + bX1-x1^3
dx2/dt =cX2+a

%Se define la funcin en el editor:


% Comentarios, instrucciones, etc.
function [f]=ecdif(t,x)
% Parmetros
a=6;b=1.5;c=-14;
% Ecuaciones
f(1)=a+b*x(1)-x(1)^3;
f(2)=c*x(2)+a;
f = f';
plot (t,x)
Luego se resuelve el sistema en la ventana de comandos:

>>tr=[0,1];x0=[1,1];[t,x]=ode45('ecdif',tr,x0);

EJEMPLO 13.4 THOMPSON


PRIMERO SE CREA EL FICHERO .M EN LA PESTAA NEW/FUNCTION M-file

function dy=absorber(z,y)

dy=zeros(6,1); %VALORES INCIALES

XAGB=.17; %CONCENTRACIN DE A EN GAS ENTRADA BOTTOM

XALB=.026; % CONCENTRACIN A EN EL AGUA QUE SALE BOTTOM

XAGT=.01; % CONCENTRACIN DE A EN EL GAS QUE SALE TOP

NGB=26.6; % FLUX DE GAS QUE ENTRA BOTTOM

NLB=-164.7; % FLUX LQUIDO QUE SALE BOTTOM DIRECCIN CONTRARIA Y Z POSITIVO (BAJA)

DHV=55.6; % ENTALPA VAP AGUA

DHS=1.3E4; % ENTALPA DISOLUCIN AMONACO EN AGUA

CPG=7.0; % CP GAS

CPL=18; % CP LQUIDO

PTOT=1.0; %PTOT SISTEMA

TB=35; % TEMPERATURA FONDO TORRE BOTTOM

KOGAI=19; %KOG*aI

%PARMETROS DEL EQUILIBRIO AMONIACO

A1=1.6E9;

A2=6276;

%PARMETROS ANTOINE

B1=8.10765; B2=1750.286; B3=235;

NXAGB=4.522; %FLUX GAS DE ENTRADA DE A

NXALB=-4.28; %FLUX LQUIDO A LA SALIDA DE A

NXBGB=.146; % FLUX EN EL GAS ENTRADA 10% HUMEDAD RELATIVA DE B

%FRMULAS:

XAG=y(1)/y(5); % HACE EXPLCITO XAG

y(6)=XAG;
% HACE EXPLCITO XAG

NL=-y(5)+NGB+NLB; %LTIMA ECUACIN DE LA TABLA 13-2, NO HAY QUE DEFINIR COMO Y(I) PORQUE NO ES DIFERENCIAL

MA=A1*exp(-A2/(y(3)+273)); %EQUILIBRIO A

XAL=y(2)/NL;

XAGS=MA*XAL;
%FRACCIN DE A EN EL GAS EN EQUILIBRIO CON EL LQUIDO PARA CUALQUIER CONCENTRACIN EN EL LQUIDO

NAI=KOGAI*(XAG-XAGS); % CANTIDAD DE A QUE CRUZA LA INTERFASE

ALPHA=B1-B2/(B3+y(3)); % EC ANTOINE

PBST=10^ALPHA; %PRESIN DE VAPOR DE B POR EC.ANTOINE

XBGS=PBST/(PTOT*760); % FRACCIN DE B EN EL GAS EN EL EQUILIBRIO RAOULT

XBG=y(4)/y(5); % HACE EXPLCITO XBG

NBI=KOGAI*(XBGS-XBG); %FLUX DE B QUE CRUZA LA INTERFASE

% ECUACIONES DIFERENCIALES RESUELTAS SEGN TABLA 13-2

dy(1)=-NAI

dy(2)=NAI

dy(3)=(1/1.8)*(-DHV*NBI+DHS*NAI)/(y(5)*CPG+NL*CPL)

dy(4)=NBI

dy(5)=NBI-NAI

dy(6)=(1/y(5))*(dy(1)-y(6)*dy(5))

end

EJEMPLO 13.4 THOMPSON

% REALIZA LA GRFICA DESPUS DE CORRER EL M-FILE


clc
clear all
y0(1)=4.522;
y0(2)=-4.28;
y0(3)=35;
y0(4)=.146;
y0(5)=26.6;
y0(6)=.17;
[z,y]=ode45('absorber',[0 5],[y0]);
plotyy(z,y(:,3),z,y(:,6))
ylabel('TEMPERATURE(F)')
ylabel('XAG')
xlabel('z (ft)')
title('{Fraccin molar y temperatura en un absorbedor de gas}')

PARA EL PROYECTO:
Determinar el equilibrio del sistema usando
aspen:
Ingresar los componentes, abrir el menu
tools/analysis/binary
Seleccionar el diagrama Txy
Generar una correlacin en excel son los datos
del equilibrio para tener el valor de m

Leyes de equilibrio

Tema 6

Diagrama de equilibrio T-x-y

Temperatura

TB
T1

TA

0% A d
100% B

e
Concentracin

100% A
0% B