24小时热门版块排行榜    

查看: 576  |  回复: 1

cheerfulchen

铁杆木虫 (小有名气)

[求助] 用lsqnonlin拟合 NRTL三元 方程回归参数 出现错误 求解脱

function NRTLBT

a0=[1 1 1 1 1 1 1 1 1 ];
x=Lsqnonlin(@csjs,a0)
function z=csjs
x1 =[0.0022        0.0358        0.0134        0.0097        0.0073        0.0035];
x2 =[0.0224        0.339        0.1227        0.0857        0.0721        0.032];
x3=1-x1-x2;
y1e = [0.0098        0.0379        0.0329        0.037        0.0316        0.0168];
y2e = [0.0098        0.0379        0.0329        0.037        0.0316        0.0168];
y3e=1-y1e-y2e;
p =[2561        3112        3454        3600        3600        3710];
ps1 = [2530.011324        3731.190276        3731.190276        3731.190276        3731.190276        3731.190276];
ps2 = [38.27422323        91.99677979        91.99677979        91.99677979        91.99677979        91.99677979];
ps3 = [19.78428868        47.08467815        47.08467815        47.08467815        47.08467815        47.08467815];
T=[333        353        353        353        353        353];
R=8.314;
for i = 1:6
%G12=exp(-a(1)*a(4)/R/T(i));tao12=a(4)/R/T(i);%a12=a(1),a13=a(2),a23=a(3),g12-g22=a(4),g13-g33=a(5),g23-g33=a(6)
%G13=exp(-a(2)*a(5)/R/T(i));tao13=a(5)/R/T(i);
%G23=exp(-a(3)*a(6)/R/T(i));tao23=a(6)/R/T(i);
a=zero[];
tao12=a(1)/R/T(i);tao21=a(2)/R/T(i);
tao13=a(3)/R/T(i);tao31=a(4)/R/T(i);
tao23=a(5)/R/T(i);tao32=a(6)/R/T(i);
G12=exp(-a(7)*a(1)/R/T(i));G21=exp(-a(7)*a(2)/R/T(i));
G13=exp(-a(8)*a(3)/R/T(i));G31=exp(-a(8)*a(4)/R/T(i));
G23=exp(-a(9)*a(5)/R/T(i));G32=exp(-a(9)*a(6)/R/T(i));
y1c(i) = x1(i)*ps1(i)/p(i)*exp((G21*x2(i)+G31*x3(i))*(tao21*G21*x2(i)+tao31*G31*x3(i))/(x1(i)+x2(i)*G21+x3(i)*G31)^2)...
+(tao12*G12*x2(i)^2+G12*G32*x2(i)*x3(i)*(tao12-tao32))/(x1(i)*G12+x2(i)+x3(i)*G32)^2+(tao13*G13*x3(i)^2+G13*G23*x2(i)*x3(i)*(tao13-tao23))/(x1(i)*G13+x2(i)*G23+x3(i))^2;
y2c(i) = x2(i)*ps2(i)/p(i)*exp((G12*x1(i)+G32*x3(i))*(tao12*G12*x1(i)+tao32*G32*x3(i))/(x1(i)*G12+x2(i)+x3(i)*G32)^2)...
+(tao23*G23*x3(i)^2+G13*G23*x1(i)*x3(i)*(tao23-tao13))/(x1(i)*G13+x2(i)*G23+x3(i))^2+(tao21*G21*x1(i)^2+G21*G31*x1(i)*x3(i)*(tao21-tao31))/(x1(i)+x2(i)*G21+x3(i)*G31)^2;
y3c(i) = x3(i)*ps3(i)/p(i)*exp((G13*x1(i)+G23*x2(i))*(tao13*G13*x1(i)+tao23*G23*x2(i))/(x1(i)*G13+x2(i)*G23+x3(i))^2)...
+(tao21*G31*x1(i)^2+G21*G31*x1(i)*x2(i)*(tao31-tao21))/(x1(i)+x2(i)*G21+x3(i)*G31)^2+(tao32*G32*x2(i)^2+G12*G32*x1(i)*x2(i)*(tao32-tao12))/(x1(i)*G12+x3(i)*G32+x2(i))^2;         

z(i)=(y1e(i)-y1c(i))^2 + (y2e(i) - y2c(i))^2+(y3e(i) - y3c(i))^2;

end


%Matlab函数:lsqnonlin('NRTL',x0)

[ Last edited by cheerfulchen on 2012-4-6 at 09:43 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chaiqing123

金虫 (小有名气)

目标函数错了 本身就包括求和 累加
2楼2012-04-26 09:01:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cheerfulchen 的主题更新
信息提示
请填处理意见