| 查看: 1570 | 回复: 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 |
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有212人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 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
lipenggg
专家顾问 (正式写手)
-

专家经验: +65 - 应助: 122 (高中生)
- 金币: 4841.3
- 红花: 43
- 帖子: 722
- 在线: 435.7小时
- 虫号: 3929201
- 注册: 2015-06-17
- 性别: GG
- 专业: 流体力学
- 管辖: 计算模拟
【答案】应助回帖
★ ★ ★ ★ ★
感谢参与,应助指数 +1
mushixilin: 金币+5, ★★★很有帮助 2017-02-18 22:05:54
感谢参与,应助指数 +1
mushixilin: 金币+5, ★★★很有帮助 2017-02-18 22:05:54
|
1.5版本太低了,即使能计算共享参数拟合,你的代码有点复杂,软件功能不够。 需要正版高版本软件来计算。 [ 发自手机版 http://muchong.com/3g ] |
» 本帖已获得的红花(最新10朵)

5楼2017-02-18 18:09:04
6楼2017-02-18 22:11:33
小灵鱼儿
金虫 (小有名气)
- 应助: 1 (幼儿园)
- 金币: 1343.9
- 散金: 285
- 红花: 1
- 帖子: 147
- 在线: 138.9小时
- 虫号: 1722780
- 注册: 2012-03-28
- 性别: MM
- 专业: 有机化工

7楼2017-03-19 17:47:48













回复此楼
mushixilin