求助高手:1stopt软件拟合三元体系的NRTL 方程,为什么一运行软件就死?
我用1stopt软件计算三元体系的NRTL 方程参数,不知道为什么每次一运行计算,软件就无响应。
求助高手给看看,是哪里出了问题?
非常感谢!
Title "NRTL Model";
Parameters g12,g13,g21,g23,g31,g32;
Variable T,x1,y;
Constant R=8.314;
Constant a=0.3;
ConstStr x2=0.1*(1-x1);
ConstStr x3=0.9*(1-x1);
ConstStr G12=exp(-a*t12);
ConstStr G13=exp(-a*t13);
ConstStr G21=exp(-a*t21);
ConstStr G23=exp(-a*t23);
ConstStr G31=exp(-a*t31);
ConstStr G32=exp(-a*t32);
ConstStr t12=g12/(R*T);
ConstStr t13=g13/(R*T);
ConstStr t21=g21/(R*T);
ConstStr t23=g23/(R*T);
ConstStr t31=g31/(R*T);
ConstStr t32=g32/(R*T);
Function y=exp((G21*x2+G31*x3)*(t21*G21*x2+t31*G31*x3)/(x1+x2*G21+x3*G31)^2+(t13*G13*x3*x3+G13*G23*x2*x3*(t13-t23))/(x3+x1*G13+x2*G23)^2+(t12*G12*x2*x2+G12*G32*x2*x3*(t12-t32))/(x2+x1*G12+x3*G32)^2);
Data;
//T,x1,y=
293.15 0.0418 3.8504
298.15 0.052 3.5225
303.15 0.0644 3.2231
308.15 0.0792 2.9579
313.15 0.0986 2.6711
318.15 0.1196 2.4667
323.15 0.1468 2.2432
328.15 0.1792 2.0443
333.15 0.2205 1.8423
338.15 0.2708 1.6584
343.15 0.3334 1.4849@月只蓝@beefly 返回小木虫查看更多
代码格式、公式书写应该都没问题,应该是1stOpt版本问题了。
我怎么检查也搞不明白是什么问题,换成Wilson方程,也是拟合六个参数,就能运行。很奇怪
Title "NRTL Model";
Parameters g12,g13,g21,g23,g31,g32;
Variable T,x1,y;
Constant R=8.314;
Constant a=0.3;
ConstStr x2=0.1*(1-x1);
ConstStr x3=0.9*(1-x1);
ConstStr t12=g12/(R*T);
ConstStr t13=g13/(R*T);
ConstStr t21=g21/(R*T);
ConstStr t23=g23/(R*T);
ConstStr t31=g31/(R*T);
ConstStr t32=g32/(R*T);
Function y=exp((exp(-a*t21)*x2+exp(-a*t31)*x3)*(t21*exp(-a*t21)*x2+t31*exp(-a*t31)*x3)/(x1+x2*exp(-a*t21)+x3*exp(-a*t31))^2
+(t13*exp(-a*t13)*x3*x3+exp(-a*t13)*exp(-a*t23)*x2*x3*(t13-t23))
/(x3+x1*exp(-a*t13)+x2*exp(-a*t23))^2+(t12*exp(-a*t12)*x2*x2+exp(-a*t12)*exp(-a*t32)*x2*x3*(t12-t32))/(x2+x1*exp(-a*t12)+x3*exp(-a*t32))^2);
Data;
//T,x1,y=
293.15 0.0418 3.8504
298.15 0.0520 3.5225
303.15 0.0644 3.2231
308.15 0.0792 2.9579
313.15 0.0986 2.6711
318.15 0.1196 2.4667
323.15 0.1468 2.2432
328.15 0.1792 2.0443
333.15 0.2205 1.8423
338.15 0.2708 1.6584
343.15 0.3334 1.4849
Gxx和txx有点像循环,将Gxx带入公式就可以运行。
"NRTL Model"
迭代数: 57
计算用时(时:分:秒:微秒): 00:00:34:778
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.00562784682002697
残差平方和(SSE): 0.000348399258126565
相关系数(R): 0.999971252921243
相关系数之平方(R^2): 0.99994250666888
决定系数(DC): 0.999942482492335
卡方系数(Chi-Square): 6.69010417634671E-5
F统计(F-Statistic): 156530.894709368
参数 最佳估算
---------- -------------
g12 3006.09966005237
g13 129.553350585897
g21 -3684.92515292263
g23 2.28772252829897
g31 5836.85272493941
g32 40922.3158718221
====== 结果输出 =====
No 实测值y 计算值y
1 3.8504 3.8504756
2 3.5225 3.5228717
3 3.2231 3.2225105
4 2.9579 2.9501120
5 2.6711 2.6865438
6 2.4667 2.4625225
7 2.2432 2.2424896
8 2.0443 2.0396803
9 1.8423 1.8418459
10 1.6584 1.6583433
11 1.4849 1.4879393
小写g12和大写G12是一个参数吗,还是不同的参数?
须注意1stOpt是不区分字母的大小写的。
如果是同一个参数,改成如下,即可运行:
Parameters g12,g13,g21,g23,g31,g32;
Variable T,x1,y;
Constant R=8.314;
Constant a=0.3;
ConstStr x2=0.1*(1-x1);
ConstStr x3=0.9*(1-x1);
ConstStr t12=g12/(R*T);
ConstStr t13=g13/(R*T);
ConstStr t21=g21/(R*T);
ConstStr t23=g23/(R*T);
ConstStr t31=g31/(R*T);
ConstStr t32=g32/(R*T);
Function y=exp((G21*x2+G31*x3)*(t21*G21*x2+t31*G31*x3)/(x1+x2*G21+x3*G31)^2+(t13*G13*x3*x3+G13*G23*x2*x3*(t13-t23))/(x3+x1*G13+x2*G23)^2+(t12*G12*x2*x2+G12*G32*x2*x3*(t12-t32))/(x2+x1*G12+x3*G32)^2);
Data;
//T,x1,y=
293.15 0.0418 3.8504
298.15 0.052 3.5225
303.15 0.0644 3.2231
308.15 0.0792 2.9579
313.15 0.0986 2.6711
318.15 0.1196 2.4667
323.15 0.1468 2.2432
328.15 0.1792 2.0443
333.15 0.2205 1.8423
338.15 0.2708 1.6584
343.15 0.3334 1.4849
此时计算结果:
相关系数(R): 0.999976628442786
相关系数之平方(R^2): 0.999953257431802
决定系数(DC): 0.999953257381529
卡方系数(Chi-Square): 5.37442244394238E-5
F统计(F-Statistic): 192534.977511446
参数 最佳估算
---------- -------------
g12 -221394.823719256
g13 10692.2673284175
g21 -337.136660727573
g23 10533.6794712838
g31 -338.589449050954
g32 -253770.053103296
如果小写g12和大写G12是不同的参数,那按四楼那样改,
我在2楼中回复说“代码格式书写没有问题”,现在看来不是的,原代码在变量的大小写书写区分上存在问题的。
如变量不区分大小写,还有更好的结果,决定系数可达5个“9”:
相关系数(R): 0.999996633225546
相关系数之平方(R^2): 0.999993266462426
决定系数(DC): 0.999993266385066
卡方系数(Chi-Square): 8.55335536774635E-6
F统计(F-Statistic): 1336584.12088942
参数 最佳估算
---------- -------------
g12 776.942748582934
g13 -415.294727118021
g21 -0.118066444579496
g23 -2966.48681543665
g31 -0.118070641087448
g32 47.1205980648154