CODE:
function aa
options = optimset('Algorithm','Levenberg-Marquardt','MaxFunEvals',5000);
[x,RESNORM,RESIDUAL,EXITFLAG]=lsqnonlin(@ENRTL,[1,1],[],[],options)
function f= ENRTL(beta)
x2 = [0.0056,0.0099,0.0160,0.0235,0.0326,0.0415,0.0496,0.0580,0.0664,0.747,0.0806,0.0892,0.0968,0.1044,0.1115,0.1216,0.1263,0.1295,0.1324,0.1391,0.1448];
x1 = 1 - x2;
y1exp = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
T = [369.9,369.95,370.05,370.15,370.35,370.45,370.65,370.80,370.95,371.10,371.25,371.40,371.60,371.80,372.00,372.25,372.40,372.50,372.65,372.75,372.85];
P = 100.00;
for i = 1:21;
Ps1(i)=exp(16.2886-3816.44/(T(i)-46.13));
end
%计算值r
for i=1:21;
t12(i)=beta(1)/8.314/(T(i));
t21(i)=beta(2)/8.314/(T(i));
G12(i)=exp(-0.206*t12(i));
G21(i)=exp(-0.206*t21(i));
r1cal(i)=exp((G21(i)*t21(i)*4*x2(i))/(G21(i)*4*x2(i)+x1(i))-x1(i)*G21(i)*t21(i)*4*x2(i)/(G21(i)*4*x2(i)+x1(i))+2*x2(i)*G12(i)*t12(i)/(2*x2(i)+x1(i)*G12(i))-2*x2(i)*G12(i)*x1(i)*t12(i)*G12(i)/(2*x2(i)+x1(i)*G12(i))+2*x2(i)*G12(i)*t12(i)/(2*x2(i)+x1(i)*G12(i))-2*x2(i)*G12(i)*x1(i)*G12(i)*t12(i)/(2*x2(i)+x1(i)*G12(i)));
y1cal(i)=r1cal(i)*x1(i)*Ps1(i)/P;
end
%目标函数
sumdetr1=sum((y1exp-y1cal).^2);
f=sumdetr1;