Metodo Grafico Riguroso De Destilacion Binaria: Resumen

METODO GRAFICO RIGUROSO DE DESTILACION BINARIA Parra Milián, R. Universidad Nacional Pedro Ruiz Gallo Facultad de Ingeni

Views 140 Downloads 0 File size 93KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

METODO GRAFICO RIGUROSO DE DESTILACION BINARIA Parra Milián, R. Universidad Nacional Pedro Ruiz Gallo Facultad de Ingeniería Química e Industrias Alimentarias

RESUMEN El presente trabajo se desarrolló, con la finalidad de aplicar el modelo UNIFAC en la destilación binaria de metanol-agua a 760 mmHg utilizando el método grafico riguroso de Ponchon y Savarit. Las ecuaciones fueron transcritas en un lenguaje de programación conocida MATLAB, siendo ejecutadas al mismo tiempo. Se determino que tanto el modelo UNIFAC así como el método grafico pueden elaborarse sin restricción alguna. PALABRAS CLAVES Equilibrio líquido vapor. Ley de Raoult modificada, Método grafico Ponchon-Savarit ABSTRACT This research was made with the aim to apply UNIFAC model into methanol-water binary distillation at 760 mmHg using Ponchon and Savarit rigorous graphic method. The equations were written in a programming language called MATLAB, being executed simultaneously. It was determined that both the UNIFAC model and Ponchon and Savarit rigorous graphic method may be made without restriction. KEY WORDS Liquid vapor equilibrium, Modified Law of Raoult, Ponchon-Savarit graphic method. INTRODUCCION El método de destilación grafica simplificada de McCabe-Thiele, asume que los flujos molares tanto de líquido descendente como vapor ascendente permanecen constantes en cualquier sección de la columna. De esta manera realiza solo el intercambio de materia en cada etapa de la columna, despreciando el intercambio de calor entre aquellos. El método de destilación grafica riguroso de Ponchon y Savarit toma en cuenta la variación de los flujos molares de líquido descendente como vapor ascendente. La única consideración que toma en cuenta es que la columna opere adiabáticamente. REVISION DE LITERATURA EVL a presiones bajas y moderadas. Cuando se opera en sistema de presiones bajas o moderadas, para el cálculo tanto del punto de burbuja como de rocío se realizan con la ley de Raoult: Ley de Raoult

P

P

Desafortunadamente esta ley nos introduce ciertos errores en el cálculo del equilibrio liquido-vapor, por lo cual se introduce un coeficiente , que es el coeficiente de actividad, dando de esta manera la ley de Raoult modificada Ley de Raoult modificada

P

P

Se han desarrollado modelos que pueden predecir los coeficientes de actividad con precisión (Van Laar, Margules, Wilson, NRTL, UNIQUAC y UNIFAC). Este último se basa en la interacción que tienen los grupos funcionales, un conjunto de sumatorias que su ejecución a mano es laborioso. Al no obtener laos parámetros binarios de los demás modelos se opto por la aplicación del modelo UNIFAC. La expresión matemática se presenta en el texto de Prausnitz, siendo complejo en su transcripción, se despejo término a término y se llego a la forma simplificada que presenta Van Ness. Método Grafico de Ponchon y Savarit QD

El método grafico de Ponchon y Savarit, es un método grafico riguroso que combina tanto los balances de materia como los balances entálpicos, y que podrá ser aplicable a cualquier sistema binario a separar, sin que se tenga restricción alguna.

D xD VM+N

LD M+N

n+1

Zona de Rectificación Balance de materia:

V

L

Vn

D

n

Balance de materia del componente más volátil: Balance de energia: Donde

Vy

L

DM

Q

VH

L

VH

L

Ln-1

x

Vn-1

Dx

h

n-1

Q

Dh

Ln

Dh

a+1 M+N

F xF

h

DM

a

a-1

Despejando tenemos: ! "#

V m+1

La-1

Vm

Lm+1

m+1

"#

m

Zona de Agotamiento Balance de materia: L V R Balance de materia del componente más volátil: Rx&

Balance de energia: Donde

L% x%

V% y%

1

L% h% Q& V% H% Rh& RM& Rh& ' Q & L% h% V% H% RM&

Despejando tenemos: (

(

!)"#

)

)

)"#

+

Calculo de MD:

M

*

Calculo de MR:

M&

H. ' *

Finalmente:

m-1

Q

VR

L1

QR

)

)

+

1- H ' * - h /

/

- 0x . ' x & 1

D0M ' h 1 , Q&

, donde

R0h& ' M& 1

R= LD/D

R xR

Inyección directa de vapor: Si uno de los componentes de la mezcla binaria a separar fuese agua, se es factible la aplicación directa de vapor en sustitución de la caldera. Para la determinación de vapor de agua se despejan las ecuaciones mostradas, métodos diferentes realizan la determinación gráficamente. Balance de materia F V D R B. de materia del componente más volátil Fx. Dx Rx& Balance de energia FH. Vλ DM Rh& 0 / λ1 ( 0!( λ1 / λ1 ( 0!( λ1

D

Despejando:

F *0

Calculo del punto (xc,Mc) /

3

/

3

!( λ (

Igualando y despejando tenemos:

x5 M5

Donde:

-

3

4

3

λ 4 7 89/ ; : 8:/ 7 89/ 6 ; : 8:/

λ 6

< 8λ 6 ( ; :(

λ

*

!( λ (

- x5

RESULTADOS Se elaboró el archivo Meth_Ponchon_Savarit.m con la capacidad de leer tanto datos calculados como experimentales para el cálculo de etapas por el método de Ponchon-Savarit. Se utilizo con fines teóricos datos calculados mediante la ecuación de Raoult modificada, calculando una nube de 10000 puntos utilizando el modelo UNIFAC para el cálculo de los coeficientes de actividad, siendo el caso más sencillo en estudio el sistema binario metanol-agua a 760 mmHg. Caso en estudio: A la presión de 760 mmHg se separa una mezcla binaria de metanol-agua ingresando a su punto de burbuja, con 36.0% mol de metanol con una alimentación de 100 Kmol/h. Se obtiene un producto de destilado de composición molar de 91.5% y de fondos de 2.87%. El destilado se va a condensar totalmente y el reflujo se va a regresar en su punto de burbuja. Se va a utilizar una relación de reflujo externa de 1.17. Se estudia la separación en dos etapas: Con condensador total y reboiler, Con condensador total e inyección de vapor de agua. En esta sección solo se presentan un número limitado de puntos que se muestran en la tabla n°01. Tabla n°01: Datos Entálpicos y de Equilibrio liquido-vapor calculados para el sistema Metanol-Agua a 760 mmHg Temperatura (K) 373.1521 360.8420 355.0072

Fracción mol de metanol en el liquido 0.0000 0.1000 0.2000

Fracción mol de metanol en el vapor 0.0000 0.4230 0.5795

hl (Mcal/kgmol) 1.8050 1.5967 1.5023

Hg (Mcal/kgmol) 11.2292 11.1612 10.9095

351.3263 348.5849 346.3233 344.3358 342.5203 340.8215 339.2081 337.6608

0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000

0.6692 0.7336 0.7864 0.8333 0.8770 0.9188 0.9597 1.0000

1.4454 1.4046 1.3718 1.3432 1.3172 1.2928 1.2694 1.2466

10.7105 10.5494 10.4110 10.2867 10.1717 10.0632 9.9596 9.8599

Fuente: Autor Diagrama Entalpico para el sistema binario Metanol-Agua a 760 mmHg 12

Entalpia especifica molar H,h ( Mcal/Kmol )

Hg vs y 10

8

6

4

2 hl vs x 0

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fraccion molar de metanol x,y

Grafica n°01: Diagrama Entalpia vs composición

Calculo del número de Etapas por el Método grafico de Ponchon-Savarit Con condensador total y reboiler: Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg 22 20

(x ,M ) D

D

18

Entalpia especifica molar H,h ( Mcal/Kmol )

16 14 12

7

6

5

4

3

2

10

1

8 6 4 2 0 -2 -4 -6 -8 (x ,M )

-10 -12

R

0

R

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fraccion molar de metanol x,y

Grafica n°02: Método de destilación grafica Ponchon-Savarit con condensador total

De la grafica se ha obtenido 7 platos teóricos, de los cuales 1 corresponde al hervidor. La entrada de la alimentación se realizara en el plato n°4. Obteniendo: MD= 20.0983 Mcal/Kmol, MR= -9.7303 Mcal/Kmol Destilado= 37.3801 Kmol/h, Fondos= 62.6199 Kmol/h. Calculando los flujos de calor del condensador y del reboiler: QD= 703.9552 Mcal/h, QR = 717.1834 Mcal/h Con condensador total e inyección de vapor de agua. Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg 22 20

(x ,M ) D

D

Entalpia especifica molar H,h ( Mcal/Kmol )

18 16 14 12

7

6

5

4

3

2

10

1

8 6 4 2 0 -2 -4 -6 -8

(x ,M ) C

-10

0

0.1

C

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Fraccion molar de metanol x,y

Grafica n°03: Método grafico Ponchon-Savarit con condensador total e inyección de vapor

De la grafica se ha obtenido 7 platos teóricos, con la inyección de vapor, siendo la entrada de la alimentación en el plato n°4. Obteniendo: MD= 20.0983 Mcal/Kmol, MC= -8.7464 Mcal/Kmol Calor latente del vapor de agua: 12.00 Mcal/Kmol Calculando los flujos de calor del condensador: QD= 663.7287 Mcal/h y el flujo de vapor: 65.9640 Kmol/h, Destilado= 35.2441 Kmol/h, Fondos= 130.7199 Kmol/h CONCLUSIONES Se comprobó que la ejecución del método grafico riguroso de Ponchon-Savarit así como el cálculo de los coeficientes de actividad por el modelo UNIFAC puede realizarse en el lenguaje de programación MATLAB. BIBLIOGRAFIA Henley S. “Operaciones de separación por etapas de equilibrio en ingeniería química”. Ed. Reverte. 2000 Martínez P. y Rus E. “Operaciones de separación en ingeniería química-Métodos de cálculo”. Ed. Prentice Hall. 2004

Perry R.H., and Green D.W., “Perry's Chemical Engineer's Handbook”. McGrawHill, 8th edition, 2008. Poling B.E., Prausnitz J.M. and O’Connell J.P., “The properties of Gases and Liquids”. McGrawHill, 5th edition, 2001. Smith J.M., Van Ness H.C., and Abbott M.M., “Introduction to Chemical Engineering Thermodynamics”. McGrawHill, 7th edition, 2005. Yaws, Carl. “Chemical Properties Handbook”. McGraw-Hill. 1999.

Archivo Meth_Ponchon_Savarit.m disp(' Pära condensador total y una sola alimentacion') data=load('datos_UNIFAC_Ideal.txt'); T=data(:,1);x=data(:,2);y=data(:,3);h=data(:,4);H=data(:,5); xd=0.915; %Composicion de destilado 0.9 xb=0.0287; %Composicion de fondos 0.0008 zf=0.36; %Composicion de alimentacion 0.4507 q= 1; F=100;% Kmol/h D=F*(zf-xb)/(xd-xb);W=F-D; figure(1); hold on; grid off % une las graficas. plot(x,h,'-',y,H,'-'); axis on; box on; set(gca,'YMinortick','on','XMinortick','on') hd=interp1(x,h,xd); Hd=interp1(x,H,xd); yb=interp1(x,y,xb);Hb=interp1(y,H,yb); yf=interp1(x,y,zf); Hf=interp1(y,H,yf); hf=interp1(x,h,zf); hb=interp1(x,h,xb); MDm=(Hf-hf)/(yf-zf)*(xd-zf)+hf;Rm=(MDm-Hf)/(Hf-hf); R=1.17; MD=((R+1)*Hd-R*hd); MR=hf-((MD-hf)/(xd-zf))*(zf-xb); set(line([zf zf] ,[0 hf]),'Color',[.1 .1 0],'Linestyle',':') %para zf set(line([xd xd] ,[0 MD]),'Color',[.1 .1 0],'Linestyle',':') %para xd set(line([xb xb] ,[Hb MR]),'Color',[.1 .1 .1],'Linestyle',':') %para xb set(line([zf xd] ,[hf MD]),'Color',[1 0 0],'Linestyle','-') set(line([zf xb] ,[hf MR]),'Color',[1 0 0],'Linestyle','-') set(line([0 1] ,[0 0]),'Color',[0 0 0],'Linestyle','-') %Zona de enriquecimiento i=1; xp(1)=xd; yp(1)=xd; count1=0; tic while (xp(i)>zf) xp(i+1)=interp1(y,x,yp(i)); %interpolacion H1(i)=interp1(y,H,yp(i)); h1(i+1)=interp1(x,h,xp(i+1)); set(line([xp(i+1) yp(i)] ,[h1(i+1) H1(i)]),'Color',[0 .5 .5],'LineWidth',1.5) if (xp(i+1)>zf) set(line([xp(i+1) xd] ,[h1(i+1) MD]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1) end %Iterar para encontrar y% ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0; while abs(er(i+1))>1e-12 He(i+1)=interp1(y,H,ypp(i+1)); mm(i+1)=(xp(i+1)-xd)/(h1(i+1)-MD); yp1(i+1)=(He(i+1)+xp(i+1)/mm(i+1)-h1(i+1))*mm(i+1); er(i+1)=ypp(i+1)-yp1(i+1); ypp(i+1)=yp1(i+1); hh=hh+1; end ii=num2str(i); text(yp(i),H1(i),ii,'FontSize',10,'VerticalAlignment','bottom'); yp(i+1)=ypp(i+1); i=i+1; count1=count1+1; end % Zona de agotamiento count2=count1; while (xp(i)>xb) %Iterar para encontrar y% ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0; while abs(er(i+1))>1e-12 He(i+1)=interp1(y,H,ypp(i+1)); nn(i)=(xp(i)-xb)/(h1(i)-MR); yp1(i+1)=(He(i+1)+xp(i)/nn(i)-h1(i))*nn(i);

er(i+1)=ypp(i+1)-yp1(i+1); ypp(i+1)=yp1(i+1); hh=hh+1; end yp(i+1)=ypp(i+1); xp(i+1)=interp1(y,x,yp(i+1)); %interpolacion H1(i+1)=interp1(y,H,yp(i+1)); h1(i+1)=interp1(x,h,xp(i+1)); set(line([xp(i+1) yp(i+1)] ,[h1(i+1) H1(i+1)]),'Color',[0 .5 .5],'LineWidth',1.5) set(line([yp(i+1) xb] ,[H1(i+1) MR]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1) ii=num2str(i); text(yp(i+1),H1(i+1),ii,'FontSize',10,'VerticalAlignment','bottom'); i=i+1; count2=count2+1; end toc [M]=get(gca,'Ylim'); M(1)=M(1)-2;M(2)=M(2)-3; M=[M(1) M(2)];set(gca,'Ylim',M); [N]=get(gca,'Ytick'); N(1)=M(1); N(end)=M(2); N=[N(1):2:N(end)];set(gca,'Ytick',N); fprintf('Numero de platos en la columna: %3d\n',(count2)-1) title('Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg','fontsize',12) xlabel('Fraccion molar de metanol x,y','fontsize',12); ylabel('Entalpia especifica molar H,h ( Mcal/Kmol )','fontsize',12) text(xd,MD,' (x_D,M_D)','FontSize',9,'VerticalAlignment','cap'); text(xb,MR,' (x_R,M_R)','FontSize',9,'VerticalAlignment','middle') Qd=D*(MD-hd);QR=W*(hb-MR); fprintf('MD= %7.4f Mcal/Kmol, MR= %7.4f Mcal/Kmol, QD= %7.4f Mcal/h, QR= %7.4f Mcal/h \n',MD,MR,Qd,QR) fprintf('F= %7.4f Kmol/h, D= %7.4f Kmol/h, W= %7.4f Kmol/h \n',F,D,W)

Archivo Meth_Ponchon_Savarit_2.m clear all; clc; clf disp(' Pära condensador total e inyeccion de vapor de agua') data=load('datos_UNIFAC_Ideal.txt'); T=data(:,1);x=data(:,2);y=data(:,3);h=data(:,4);H=data(:,5); xd=0.915; %Composicion de destilado 0.9 xb=0.0287; %Composicion de fondos 0.0008 zf=0.36; %Composicion de alimentacion 0.4507 q= 1; F=100;% Kmol/h Lambda=12; % Calor latente de vaporizacion del vapor de agua Mcal/Kmol figure(1); hold on; grid off % une las graficas. plot(x,h,'-',y,H,'-');axis on; box on set(gca,'YMinortick','on','XMinortick','on') hd=interp1(x,h,xd); Hd=interp1(x,H,xd); yb=interp1(x,y,xb);Hb=interp1(y,H,yb); yf=interp1(x,y,zf); Hf=interp1(y,H,yf); hf=interp1(x,h,zf);hb=interp1(x,h,xb); MDm=(Hf-hf)/(yf-zf)*(xd-zf)+hf; Rm=(MDm-Hf)/(Hf-hf); R=1.17; %Razon de reflujo R=L/D calcular % R=Rm*2; %Relacion de reflujo R=L/D calcular o ingresar directo MD=((R+1)*Hd-R*hd); MR=hf-((MD-hf)/(xd-zf))*(zf-xb); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% m1=(MD-hf)/(xd-zf); m2=(hb-Lambda)/xb; xc=(MD-Lambda-m1*xd)/(m2-m1); Mc=Lambda+m2*xc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% set(line([0 xc] ,[Lambda Mc]),'Color',[.1 .1 0],'Linestyle',':') set(line([zf zf] ,[0 hf]),'Color',[.1 .1 0],'Linestyle',':') %para zf set(line([xd xd] ,[0 MD]),'Color',[.1 .1 0],'Linestyle',':') %para xd set(line([zf xd] ,[hf MD]),'Color',[1 0 0],'Linestyle','-') set(line([zf xc] ,[hf Mc]),'Color',[1 0 0],'Linestyle','-') set(line([0 1] ,[0 0]),'Color',[0 0 0],'Linestyle','-') %Zona de enriquecimiento

i=1; xp(1)=xd; yp(1)=xd; count=0; tic while (xp(i)>zf) xp(i+1)=interp1(y,x,yp(i)); %interpolacion H1(i)=interp1(y,H,yp(i)); h1(i+1)=interp1(x,h,xp(i+1)); set(line([xp(i+1) yp(i)] ,[h1(i+1) H1(i)]),'Color',[0 .5 .5],'LineWidth',1.5) if (xp(i+1)>zf) set(line([xp(i+1) xd] ,[h1(i+1) MD]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1) end %Iterar para encontrar y% ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0; while abs(er(i+1))>1e-12 He(i+1)=interp1(y,H,ypp(i+1)); mm(i+1)=(xp(i+1)-xd)/(h1(i+1)-MD); yp1(i+1)=(He(i+1)+xp(i+1)/mm(i+1)-h1(i+1))*mm(i+1); er(i+1)=ypp(i+1)-yp1(i+1); ypp(i+1)=yp1(i+1); hh=hh+1; end ii=num2str(i); text(yp(i),H1(i),ii,'FontSize',10,'VerticalAlignment','bottom'); yp(i+1)=ypp(i+1); i=i+1; count=count+1; end % Zona de agotamiento while (xp(i)>xb) %Iterar para encontrar y% ypp(i+1)=.5*yp(i);er(i+1)=1; hh=0; while abs(er(i+1))>1e-12 He(i+1)=interp1(y,H,ypp(i+1)); nn(i)=(xp(i)-xc)/(h1(i)-Mc); yp1(i+1)=(He(i+1)+xp(i)/nn(i)-h1(i))*nn(i); er(i+1)=ypp(i+1)-yp1(i+1); ypp(i+1)=yp1(i+1); hh=hh+1; end yp(i+1)=ypp(i+1); xp(i+1)=interp1(y,x,yp(i+1)); %interpolacion H1(i+1)=interp1(y,H,yp(i+1)); h1(i+1)=interp1(x,h,xp(i+1)); set(line([xp(i+1) yp(i+1)] ,[h1(i+1) H1(i+1)]),'Color',[0 .5 .5],'LineWidth',1.5) set(line([yp(i+1) xc] ,[H1(i+1) Mc]),'Color',[1 .1 1],'Linestyle','--','LineWidth',1) ii=num2str(i); text(yp(i+1),H1(i+1),ii,'FontSize',10,'VerticalAlignment','bottom'); i=i+1; count=count+1; end toc [M]=get(gca,'Ylim'); M(1)=M(1);M(2)=M(2)-3; M=[M(1) M(2)];set(gca,'Ylim',M); [N]=get(gca,'Ytick'); N(1)=M(1); N(end)=M(2); N=[N(1):2:N(end)];set(gca,'Ytick',N); fprintf('Numero de platos en la columna: %3d\n',count) title('Metodo grafico Ponchon-Savarit para el sistema binario Metanol-Agua a 760 mmHg','fontsize',12) xlabel('Fraccion molar de metanol x,y','fontsize',12); ylabel('Entalpia especifica molar H,h ( Mcal/Kmol )','fontsize',12) text(xd,MD,' (x_D,M_D)','FontSize',9,'VerticalAlignment','cap'); text(xc,Mc,' (x_C,M_C) ','FontSize',9,'VerticalAlignment','middle') D=F*((hf-Lambda)*xb-(hb-Lambda)*zf)/((MD-Lambda)*xb-(hb-Lambda)*xd); Qd=D*(MD-hd); W=(F*zf-D*xd)/xb; Vv=D+W-F; fprintf('MD= %7.4f Mcal/Kmol, MC= %7.4f Mcal/Kmol, QD= %7.4f Mcal/h \n',MD,Mc,Qd) fprintf('F= %7.4f Kmol/h, D= %7.4f Kmol/h, W= %7.4f Kmol/h, V= %7.4f Kmol/h \n',F,D,W,Vv)

El Archivo gamma_UNIFAC.m se utilizó para el cálculo de Temperatura de burbuja. El algoritmo de ejecución se encuentra en el texto de Van Ness. Archivo gamma_UNIFAC.m vka=Vkdata('metanol'); vkb=Vkdata('agua'); vka=vka'; vkb=vkb'; data=load('Grupos_Subgrupos.txt'); Grupo=1; Subgrupo=2; R_k=3; Q_k=4; G_data=data(:,Grupo);G_m=G_data(:); Sg_data=data(:,Subgrupo);S_k=Sg_data(:); R_data=data(:,R_k);R=R_data(:); Q_data=data(:,Q_k);Q=Q_data(:); a=load('a_m_k.txt'); vki=[vka vkb]; vt=vka'+vkb'; K=find(vt~=0); nn1=length(vki(1,:)); T= ; %Temperatura en K xx1=0:0.0001:1; % Componente mas volátil. xx1=xx1'; xx2=1-xx1; xx=[xx1 xx2]; nn2=length(xx1); T=T*ones(nn2,1); sumae1=zeros(nn2,1);sumae2=zeros(nn2,1); sumad1=zeros(nn2,1); sumaf=zeros(nn2,nn1); z=10; tic for i=1:nn1 % Calculo de ri y qi r(i)=0; q(i)=r(i); for k=K r(i)=vki(k,i)*R(k)+r(i); q(i)=vki(k,i)*Q(k)+q(i); end end for j=1:nn1 % Calculo de eki for k=K e(k,j)=vki(k,j)*Q(k)/q(j); end end e(K,:); for KK=1:nn2; for k=K % Calculo de thetak for h=1:nn1 p(k,h,KK)=xx(KK,h)*q(h)*e(k,h); d(KK,h)=xx(KK,h)*q(h); end theta1(KK,k)=sum(p(k,:,KK))/sum(d(KK,:)); end theta1(KK,K); a(G_m(K),G_m(K)); for i=K % Calculo de Sk S(KK,i)=0; for j=K S(KK,i)=theta1(KK,j)*exp(-a(G_m(j),G_m(i))/T(KK))+S(KK,i); end end S(KK,K); for i=1:nn1 % Calculo de beta beta(i,K,KK)=0; for k=K for k2=K beta(i,k,KK)=e(k2,i)*exp(-a(G_m(k2),G_m(k))/T(KK))+beta(i,k,KK); end end end beta(:,K,KK); for w=1:nn1

sumae1(KK)=r(w)*xx(KK,w)+sumae1(KK); sumae2(KK)=q(w)*xx(KK,w)+sumae2(KK); end for j=1:nn1 JJ(KK,j)=r(j)/sumae1(KK); LL(KK,j)=q(j)/sumae2(KK); end for kk=1:nn1 % Calculo de lngammaC lngammaC(KK,kk)=1-JJ(KK,kk)+log(JJ(KK,kk))-(z/2)*q(kk)*(1JJ(KK,kk)/LL(KK,kk)+log(JJ(KK,kk)/LL(KK,kk))); end lngammaC(KK,:); for ff=1:nn1 % Calculo de lngammaR for k=K sumaf(KK,ff)=theta1(KK,k)*beta(ff,k,KK)/S(KK,k)- e(k,ff)*log(beta(ff,k,KK)/S(KK,k))+sumaf(KK,ff); end lngammaR(KK,ff)=q(ff)*(1-sumaf(KK,ff)); end lngammaR(KK,:); for jj=1:nn1 gamma(KK,jj)=exp(lngammaC(KK,jj)+lngammaR(KK,jj)); end fprintf('%3d %7.16f %7.14f\n',KK,gamma(KK,1),gamma(KK,2)); gamma(KK,:); end toc