| 查看: 2092 | 回复: 6 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
如何使用1stOpt进行三自变量三因变量的非线性拟合 已有2人参与
|
||
|
正在学习使用1stOpt,见到的示例都是只有单个因变量的非线性拟合。想要使用1stopt对三元液液相平衡的NRTL热力学数据进行拟合,由于出现三个因变量,不太确定如何编程。编写的程序如下,如不使用sharedmodel,可以得到结果,但不理想;如使用sharedmodel,软件无法计算。还望前辈可以给予一定指导。 Title "NRTL simulation"; //sharedmodel; Parameters alpha[0,1],tau12,tau13,tau21,tau23,tau31,tau32; Variables x1,x2,x3,y1,y2,y3; ConstStr F12=exp(-alpha*tau12); ConstStr F13=exp(-alpha*tau13); ConstStr F21=exp(-alpha*tau21); ConstStr F23=exp(-alpha*tau23); ConstStr F31=exp(-alpha*tau31); ConstStr F32=exp(-alpha*tau32); ConstStr lngammax1=(x1*0*1+x2*tau21*F21+x3*tau31*F31)/(x1*1+x2*F21+x3*F31)+ (x1*1/(x1*1+x2*F21+x3*F31)*(0-(x1*0*1+x2*tau21*F21+x3*tau31*F31)/(x1*1+x2*F21+x3*F31)))+ (x2*F12/(x1*F12+x2*1+x3*F32)*(tau12-(x1*tau12*F12+x2*0*1+x3*tau32*F32)/(x1*F12+x2*0+x3*F32)))+ (x3*F13/(x1*F12+x2*F23+x3*1)*(tau13-(x1*tau13*F13+x2*tau23*F23+x3*0*1)/(x1*F13+x2*F23+x3*1))); ConstStr lngammax2=(x1*tau12*F12+x2*0*1+x3*tau32*F32)/(x1*F12+x2*0+x3*F32)+ (x1*F21/(x1*1+x2*F21+x3*F31)*(tau21-(x1*0*1+x2*tau21*F21+x3*tau31*F31)/(x1*1+x2*F21+x3*F31)))+ (x2*1/(x1*F12+x2*1+x3*F32)*(0-(x1*tau12*F12+x2*0*1+x3*tau32*F32)/(x1*F12+x2*0+x3*F32)))+ (x3*F23/(x1*F12+x2*F23+x3*1)*(tau23-(x1*tau13*F13+x2*tau23*F23+x3*0*1)/(x1*F13+x2*F23+x3*1))); ConstStr lngammax3=(x1*tau13*F13+x2*tau23*F23+x3*0*1)/(x1*F13+x2*F23+x3*1)+ (x1*F31/(x1*1+x2*F21+x3*F31)*(tau31-(x1*0*1+x2*tau21*F21+x3*tau31*F31)/(x1*1+x2*F21+x3*F31)))+ (x2*F32/(x1*F12+x2*1+x3*F32)*(tau32-(x1*tau12*F12+x2*0*1+x3*tau32*F32)/(x1*F12+x2*0+x3*F32)))+ (x3*1/(x1*F12+x2*F23+x3*1)*(0-(x1*tau13*F13+x2*tau23*F23+x3*0*1)/(x1*F13+x2*F23+x3*1))); ConstStr gammax1=exp(lngammax1); ConstStr gammax2=exp(lngammax2); ConstStr gammax3=exp(lngammax3); ConstStr lngammay1=(y1*0*1+y2*tau21*F21+y3*tau31*F31)/(y1*1+y2*F21+y3*F31)+ (y1*1/(y1*1+y2*F21+y3*F31)*(0-(y1*0*1+y2*tau21*F21+y3*tau31*F31)/(y1*1+y2*F21+y3*F31)))+ (y2*F12/(y1*F12+y2*1+y3*F32)*(tau12-(y1*tau12*F12+y2*0*1+y3*tau32*F32)/(y1*F12+y2*0+y3*F32)))+ (y3*F13/(y1*F12+y2*F23+y3*1)*(tau13-(y1*tau13*F13+y2*tau23*F23+y3*0*1)/(y1*F13+y2*F23+y3*1))); ConstStr lngammay2=(y1*tau12*F12+y2*0*1+y3*tau32*F32)/(y1*F12+y2*0+y3*F32)+ (y1*F21/(y1*1+y2*F21+y3*F31)*(tau21-(y1*0*1+y2*tau21*F21+y3*tau31*F31)/(y1*1+y2*F21+y3*F31)))+ (y2*1/(y1*F12+y2*1+y3*F32)*(0-(y1*tau12*F12+y2*0*1+y3*tau32*F32)/(y1*F12+y2*0+y3*F32)))+ (y3*F23/(y1*F12+y2*F23+y3*1)*(tau23-(y1*tau13*F13+y2*tau23*F23+y3*0*1)/(y1*F13+y2*F23+y3*1))); ConstStr lngammay3=(y1*tau13*F13+y2*tau23*F23+y3*0*1)/(y1*F13+y2*F23+y3*1)+ (y1*F31/(y1*1+y2*F21+y3*F31)*(tau31-(y1*0*1+y2*tau21*F21+y3*tau31*F31)/(y1*1+y2*F21+y3*F31)))+ (y2*F32/(y1*F12+y2*1+y3*F32)*(tau32-(y1*tau12*F12+y2*0*1+y3*tau32*F32)/(y1*F12+y2*0+y3*F32)))+ (y3*1/(y1*F12+y2*F23+y3*1)*(0-(y1*tau13*F13+y2*tau23*F23+y3*0*1)/(y1*F13+y2*F23+y3*1))); ConstStr gammay1=exp(lngammay1); ConstStr gammay2=exp(lngammay2); ConstStr gammay3=exp(lngammay3); Function y1=x1*gammax1/gammay1; y2=x2*gammax2/gammay2; y3=x3*gammax3/gammay3; Data; 0.9561 0.0289 0.0150 0.0010 0.0011 0.9979 0.9101 0.0739 0.0160 0.0013 0.0028 0.9959 0.7982 0.1675 0.0343 0.0010 0.0071 0.9919 0.6980 0.2558 0.0462 0.0026 0.0164 0.9810 0.6461 0.2941 0.0598 0.0018 0.0253 0.9729 0.5686 0.3488 0.0826 0.0011 0.0404 0.9585 0.5194 0.3921 0.0885 0.0037 0.0525 0.9438 0.4919 0.4101 0.0980 0.0045 0.0583 0.9372 0.4664 0.4319 0.1017 0.0079 0.0688 0.9233 0.4497 0.4410 0.1093 0.0111 0.0736 0.9153 0.4374 0.4498 0.1128 0.0125 0.0884 0.8991 0.4189 0.4515 0.1296 0.0186 0.0942 0.8872 |
» 猜你喜欢
深圳大学应用技术学院招聘凝聚态物理博士后
已经有124人回复
求助中医院临床中医中标的青年标书学习,谢谢
已经有5人回复
物理学I论文润色/翻译怎么收费?
已经有243人回复
浙大物院表面物理课题组长期招收普博及直博学生
已经有259人回复
【征稿】Springer Nature热电专题 Discover Materials / Discover Chemistry
已经有47人回复
25届硕士申请,材料计算方向
已经有2人回复
课题组招1-2名硕士
已经有1人回复
机时越来越贵之后,我把一部分 DFT 流程搬到了 AI 计算平台上
已经有0人回复
斯坦福大学与Elsevier世界前2%学者新排名查询
已经有1人回复
27申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有19人回复
» 本主题相关价值贴推荐,对您同样有帮助:
小灵鱼儿
金虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 1343.9
- 散金: 285
- 红花: 1
- 帖子: 147
- 在线: 138.9小时
- 虫号: 1722780
- 注册: 2012-03-28
- 性别: MM
- 专业: 有机化工

7楼2017-03-19 17:47:48
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
mushixilin: 金币+15, ★★★很有帮助 2017-02-18 09:50:46
感谢参与,应助指数 +1
mushixilin: 金币+15, ★★★很有帮助 2017-02-18 09:50:46
| sharedmodel;可以实现多因子参数共享拟合,1.5的估计不行。 |
» 本帖已获得的红花(最新10朵)
2楼2017-02-17 17:15:32
3楼2017-02-17 22:53:23
|
将代码进行了一定处理,仍然提示Fatal: Line too long (more than 1023 characters),Compile failed, check your program codes please!。是因为最后的公式过于复杂吗? Title "NRTL simulation"; sharedmodel; Parameters alpha[0,1],t12,t13,t21,t23,t31,t32; Variables x1,x2,x3,y1,y2,y3; ConstStr G12=exp(-alpha*t12), G13=exp(-alpha*t13), G21=exp(-alpha*t21), G23=exp(-alpha*t23), G31=exp(-alpha*t31), G32=exp(-alpha*t32), a=(x2*t21*G21+x3*t31*G31)/(x1+x2*G21+x3*G31), b=(x1*t12*G12+x3*t32*G32)/(x1*G12+x2+x3*G32), c=(x1*t13*G13+x2*t23*G23)/(x1*G13+x2*G23+x3), d=x1/(x1+x2*G21+x3*G31), e=x2/(x1*G12+x2+x3*G32), f=x3/(x1*G13+x2*G23+x3), j=(y2*t21*G21+y3*t31*G31)/(y1+y2*G21+y3*G31), k=(y1*t12*G12+y3*t32*G32)/(y1*G12+y2+y3*G32), l=(y1*t13*G13+y2*t23*G23)/(y1*G13+y2*G23+y3), m=y1/(y1+y2*G21+y3*G31), n=y2/(y1*G12+y2+y3*G32), o=y3/(y1*G13+y2*G23+y3); Conststr lngammax1=a-d*a+e*G12*(t12-b)+f*G13*(t13-c), lngammax2=b+d*G12*(t21-a)-e*b+f*G23*(t23-c), lngammax3=c+d*G31*(t31-a)+e*G32*(t32-b)-f*c, lngammay1=j-m*j+n*G12*(t12-k)+o*G13*(t13-l), lngammay2=k+m*G12*(t21-j)-n*k+o*G23*(t23-l), lngammay3=l+m*G31*(t31-j)+n*G32*(t32-k)-o*l; Conststr gammax1=exp(lngammax1), gammax2=exp(lngammax2), gammax3=exp(lngammax3), gammay1=exp(lngammay1), gammay2=exp(lngammay2), gammay3=exp(lngammay3); Function y1=x1*gammax1/gammay1; y2=x2*gammax2/gammay2; y3=x3*gammax3/gammay3; Data; 0.9561 0.0289 0.0150 0.0010 0.0011 0.9979 0.9101 0.0739 0.0160 0.0013 0.0028 0.9959 0.7982 0.1675 0.0343 0.0010 0.0071 0.9919 0.6980 0.2558 0.0462 0.0026 0.0164 0.9810 0.6461 0.2941 0.0598 0.0018 0.0253 0.9729 0.5686 0.3488 0.0826 0.0011 0.0404 0.9585 0.5194 0.3921 0.0885 0.0037 0.0525 0.9438 0.4919 0.4101 0.0980 0.0045 0.0583 0.9372 0.4664 0.4319 0.1017 0.0079 0.0688 0.9233 0.4497 0.4410 0.1093 0.0111 0.0736 0.9153 0.4374 0.4498 0.1128 0.0125 0.0884 0.8991 0.4189 0.4515 0.1296 0.0186 0.0942 0.8872 |
4楼2017-02-18 16:20:57










回复此楼
mushixilin