Hi

I've been given a program that calculates the activity coefficients gamma) and the activity of each component in a mixture. Except i can't run it without getting this error:

`Error in TestingSubprograms (line 18)[gamma,a]=ACTIVITY_WILSON(MW,rhoL,BIP,T,x)`

The function is:

`function [gamma,a]=ACTIVITY_WILSON(MW,rhoL,BIP,T,x)%This program calculates the activity coefficients (gamma) and the `

%activities (a) of each component of a mixture of c components using the

%Wilson model.

%INPUT PARAMETERS: MW: vector (1xc) reporting the molecular weights of the

%c components; rhoL, vector (1xc) reporting the liquid density of the c

%pure components at temperature T; BIP is a matrix cxc reporting the energy

%interaction parameters (BIP(i,j)=lambda_ij-lambda_ii, J/mol). The energy

%interaction parameters are temperature independent; T: temperature of the

%system; x vector (1xc) reporting the mole fractions of the components of

%the mixture.

%OUTPUT PARAMETERS: gamma: vector 1xc reporting the activity

%coefficients of the components of the mixture; a: vector 1xc reporting the

%activities of the components of the mixture.

%Unless otherwise stated, all input/output parameters are expressed

%according to MKS.

R=8.314;c=length(x);%Molar volumes of the pure liquid components composing the mixture

VL=1./((rhoL*1000)./MW);%Lambda terms (dimensionless) of the Wilson formula

for i=1:c for j=1:c Lambda(i,j)=(VL(j)/VL(i))*exp(-BIP(i,j)/(R*T)); endendfor i=1:c for j=1:c A=sum(x.*Lambda(j,:)); C(j)=x(j)*Lambda(j,i)/A; end lngamma(i)=1-log(sum(x.*Lambda(i,:)))-sum(C); gamma(i)=exp(lngamma(i)); a(i)=gamma(i)*x(i);endend

The input i'm using is :

`x=[0.1 0.9]; MW=[60.09 100.16];rhoL=[803 802];T=303.15;BIP=[196.250 386.133];`

Any help would be appreciated. Thanks

## Best Answer