Programación de Matlab 1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Programación de Matlab

function EXAMEN
clc, clear all
format short
disp('-----------------------------------------------------')
disp(' Obtención de Metanol ')
disp('-----------------------------------------------------')
%Este programa puede sacar la constante de equilibrio de una
reacción, se
%busca en tablas tanto alfa,beta,gamma,delta,delta de entalpía y
delta de
%energía libre y el avance de la reacción mediante
%el método numérico de Newton Raphson.
%Ecuación Química
%HCOOCH3+2H2=2CH3OH
%HCOOCH3=CH3OH+CO
%Tener en cuenta el número de reactantes y productos
%Coefiicientes Estequiometricos
%Reactantes
a=1; %HCOOCH3
b=2; %H2
%Producto
c=2; %CH3OH
%HALLANDO LA CAPACIDAD CALORIFICA Cp(J/mol.K)
%ALFA..............................Praunzit(1987)
%ALFA VALORES DE LA REACCIÓN
%Reactantes
Ax=1.432; %HCOOCH3
Bx=2.714; %H2
Cx=2.115; %CH3OH
%BETA..............................Praunzit(1987)
%BETA VALORES DE LA REACCIÓN
Ab=2.700*10^(-1); %HCOOCH3
Bb=9.274*10^(-3); %H2
Cb=7.092*10^(-2); %CH3OH
%GAMMA.............................Praunzit(1987)
%GAMMA VALORES DE LA REACCIÓN
Ag=-1.949*10^(-4); %HCOOCH3
Bg=-1.381*10^(-5); %H2
Cg=2.587*10^(-5); %CH3OH
%DELTA.............................Praunzit(1987)
%DELTA VALORES DE LA REACCIÓN
Ad=5.702*10^(-8); %HCOOCH3
Bd=7.645*10^(-9); %H2
Cd=-2.852*10^(-8); %CH3OH
%SUMA
%ALFA
X=c*Cx-(a*Ax+b*Bx);
%BETA
B=c*Cb-(a*Ab+b*Bb);
%GAMMA
G=c*Cg-(a*Ag+b*Bg);
%DELTA
D=c*Cd-(a*Ad+b*Bd);
%Temperatura estandar para hallar H0 y G0
Tre=298.15;
%DELTA DE ENTALPÍA (H(form)°).......................Praunzit(1987)
%DELTA DE ENTALPÍA (H(form)°)
HA=-3.500*10^(5); %HCOOCH3
HB=0; %H2
HC=-2.013*10^(5); %CH3OH
%DELTA ENERGÍA LIBRE (G(form)°)..................Praunzit(1987)
%DELTA ENERGÍA LIBRE (G(form)°)
GA=-2.974*10^(5); %HCOOCH3
GB=0; %H2
GC=-1.626*10^(5); %CH3OH
%SUMA H(form)° Y G(form)°
%DELTA DE ENTALPÍA (H(form)°)
H1=c*HC-(a*HA+b*HB);
%DELTA ENERGÍA LIBRE (G(form)°)
G1=c*GC-(a*GA+b*GB);
%CONSTANTE DE INTEGRACIÓN
%DELTA DE NETALPÍA (?Ho)...J/mol.K
H0=H1-(X*Tre)-((B/2)*(Tre^2))-((G/3)*(Tre^3))-((D/4)*(Tre^4));
%IR...J/mol
IR=(-G1/Tre)+(H0/Tre)-(X*log(Tre))-((B/2)*Tre)-((G/6)*(Tre^2))-
((D/12)*(Tre^3));
%Constante R
R=8.314; %J/mol.K
%Temperatura en Kelvin
T=[298 300 400 500];
for i=1:length(T)
Ht(i)=(H0+(X*T(i))+((B/2)*(T(i)^2))+((G/3)*(T(i)^3))+((D/
4)*(T(i)^4)))/10^3;
Gt(i)=(H0-(X*T(i)*log(T(i)))-((B/2)*(T(i)^2))-((G/6)*(T(i)^3))-
((D/12)*(T(i)^4))-IR*T(i))/10^3;
LnK(i)=(Gt(i)*(10^3))/(-R*T(i));
K(i)=exp(-((Gt(i)*(10^3))/(R*T(i))));
end
%CONSTANTE DE EQUILIBRIO a la temperatura deseada por el problema
%Ubica en que posición se encuentra la temperatura deseada en el
vector T
%Coloca el numero en K(i)
disp('constante a temperatura 500 K')
Const=K(4)
%Tomamos una base de calculo, Para sacar el numero de moles de la
reacción
%Número de Moles iniciales (ni)
nAi=20; %HCOOCH3
nBi=80; %H2
nCi=0; %CH3OH
%AVANCE DE REACCIÓN
syms E
% Sacar la diferencial del numero de moles dividirlo entre su
coeficiente
% estequiometrico e igualarlo a dE
%De los REACTANTES
%SO2+O2
nAf=(-a)*E+nAi;
nBf=(-b)*E+nBi;
%De los PRODUCTOS
%SO3+N2
nCf=(c*E)+nCi;
%Sumando obtenemos las moles totales (nT)
nT=nAf+nBf+nCf;
%Para la fracción molar Yi del compomente i
%Yi=nfi/nT
YA=nAf/nT;
YB=nBf/nT;
YC=nCf/nT;
%Considereando la reacción general
%aA+bB=cC+dD
%La constante de equilibrio Termodinámica (K) se establece como
%K=K(fi)*K(y)*K(P)
%Kfi=productos^coef. estequ./reactantes^coef. estequ.
%Considerando el comportamiento IDEAL
Kfi=1;
%K(P)=P^((c+d)-(a+b)), donde P es presion en atm
Presion=1; %atm
KP=Presion^(c-(a-b));
%Ky=[Ya]^coef. este/[YB]^coef. este*[YC]^coef. este
KE=((E/nT)^c/((nAf/nT)^a*(nBf/nT)^b))-Const;
KE1=diff(KE,E);
e=10^-5;
m=1;
d=1;
E1(m)=10;
while d>e
E=E1(m);
E1(m+1)=E1(m)-double(subs(KE))/double(subs(KE1));
d(m+1)=abs(E1(m+1)-E1(m));
m=m+1;
E=E1(m);
KEt(m+1)=double(subs(KE));
end
disp('Avance de Reacción')
Avan=E1(m)
%COMPOSICIONES MOLARES
YA=double(subs(nAf))/double(subs(nT));
YB=double(subs(nBf))/double(subs(nT));
YC=double(subs(nCf))/double(subs(nT));
YN2=double(subs(YA))*100;
YO2=double(subs(YB))*100;
YNO=double(subs(YC))*100;
disp('FRACCIONES MOLARES')
disp([YA YB YC])
disp('LA COMPOSICION EN EQUILIBRIO SERÁ (%)')
disp([YN2 YO2 YNO])
%Grafica 1: Diagrama Entalpía - Temperatura
subplot(2,2,1),plot(T,Ht,'-g'); grid on
title('VARIACIÓN DE LA ENTALPÍA CON LA TEMPERATURA');
xlabel('TEMPERATURA, K'); ylabel('ENTALPÍA, kJ/mol')
%Grafica 2: Diagrama de Energía Libre - Temperatura
subplot(2,2,2),plot(T,Gt,'-b'); grid on
title('VARIACIÓN DE LA ENERGIA LIBRE CON LA TEMPERATURA');
xlabel('TEMPERATURA, K'); ylabel('ENERGÍA LIBRE, kJ/mol')
%Grafica 3: Diagrama de LnK - Temperatura
subplot(2,2,3:4),plot(T,LnK,'-b'); grid on
title('VARIACIÓN DEL LnK CON LA TEMPERATURA');
xlabel('TEMPERATURA, K'); ylabel('LnK')
grid on
end

También podría gustarte