NRTL方程拟合敛到参数全为0
各位大佬们,我在1stopt上拟合固液相平衡的NRTL方程,为什么收敛到参数全为0啊。。。有没有大佬帮忙看看方程哪里出了问题。。。谢谢了!
数据是找的文献的数据。
拿这套数据拟合其他模型都没什么问题。。
parameters a,b,c,r;
variable y,x;
function ln(r)=exp(((1-x)^2)*((b/(8.314*y)*exp(c*a/(8.314*y))/((x+(1-x)*exp(c*a/(8.314*y)))^2))+((a/(8.314*y))*exp(c*b/(8.314*y)))/(((1-x)+(1-x)*exp(c*b/(8.314*y)))^2)));
data;
//y,x
278.15 0.001541
283.15 0.002004
288.15 0.002704
293.15 0.003392
298.15 0.004415
303.15 0.005561
308.15 0.007136
313.15 0.009151
318.15 0.01113
图为NRTL方程原形式。
急急急 求求大家帮忙分析分析!
PWN3F1)AM5{5W4{)S}0X1OB.png 返回小木虫查看更多
方程写成y=……
因变量在方程左边,变量,数据也要对应
棒
上边写错了。。是function r=exp(((1-x)^2)*((b/(8.314*y)*exp(c*a/(8.314*y))/((x+(1-x)*exp(c*a/(8.314*y)))^2))+((a/(8.314*y))*exp(c*b/(8.314*y)))/(((1-x)+(1-x)*exp(c*b/(8.314*y)))^2)));
利用matlab的lsqcurvefit函数,可以得到
a= 0.088241733690097801 ,b= -0.052836750140336099 ,c= -0.024187951865466500 ,r=0
123a.jpg
,
计算结果
123a.jpg