# MATLAB: “Index in position 1 exceeds array bounds (must not exceed 1).” Error

activity coefficientsarraychemistryerrorindexindexingthermodynamic

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 mixtureVL=1./((rhoL*1000)./MW);%Lambda terms (dimensionless) of the Wilson formulafor 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

``BIP=[196.250 386.133;196.250 386.133];``
``for i=1:c    for j=1:c        Lambda(i,j)=(VL(j)/VL(i))*exp(-BIP(i,j)/(R*T));    endend``
``for i=1:c    for j=1:c        Lambda(i,j)=(VL(j)/VL(i))*exp(-BIP(j)/(R*T));    endend``