| 查看: 1860 | 回复: 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 |
» 猜你喜欢
大豆异黄酮分离
已经有0人回复
湖南大学材料学院急招2026年博士生,临时增加一名博士联培指标
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有296人回复
天津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生1-2名
已经有1人回复
中国科学院物理研究所谌志国研究员团队招收2027年博士研究生
已经有5人回复
2026年中德博士后交流项目 - 新型量子和磁性材料:材料制备表征和中子散射研究
已经有12人回复
26申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有1人回复
如何从铁电相到顺电相。
已经有1人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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
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