| 查看: 2140 | 回复: 14 | ||||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||||
l1003785517新虫 (小有名气)
|
[求助]
用1stopt计算非线性方程组的未知参数
|
|||
各位虫友能否帮忙看看![]() 代码如下,其中a1和a2都可以写成k=k0.exp^(-Ea/RT),即反应速率常数,T是变量。我把参数合并是因为会出现过拟合现象,但即使是这样,我算出来还是会出现参数结果不一样,而且我是希望能够求出k0和Ea来的,不知道有没有什么解决的办法,下面的代码里面只放了一个温度下的实验数据。我把另外几个温度的数据也放到代码的后面了,各位虫友看能帮我解决一下这个难题吗,若有可能帮忙分别计算一下a1和a2中的k0和Ea? 因为后面还要对不同的动力学方程进行计算,所以想问一下这个是不是得用高阶付费的1stopt软件才能做呢?我用的网上注册版1.5的无法得到正确的结果。谢谢!如果不需要的话还望虫友在解答的过程中能发一下原代码,万分感谢,这里我把剩余的金币都奉上!还望相助,谢谢! ![]() //用1stopt计算非线性方程组的未知参数 Title "kinetic values"; Variables x(1:3),y(1:2); Parameters a(1:5); ShareModel; Function y1=a1*x1/(1+a3*x1+a4*x2+a5*x3); y2=(a2*x2-a1*x1)/(1+a3*x1+a4*x2+a5*x2); Data; //T=275度 x1,x2,x3;y1,y2; 6.31317 0.029302 0.007644 0.0574 0.0345 6.29412 0.044590 0.011466 0.0407 0.0298 6.27507 0.059878 0.015288 0.0241 0.0251 6.26237 0.069433 0.018473 0.0278 0.0203 6.24713 0.080899 0.022295 0.0315 0.0208 6.23316 0.091091 0.026117 0.0268 0.0194 6.22109 0.099372 0.029939 0.0220 0.0160 6.21093 0.107016 0.032487 0.0172 0.0127 //另外几个实验数据 //T=282度 6.14807 0.133133 0.069433 0.2894 0.1089 6.062345 0.186004 0.102557 0.1519 0.0714 6.021705 0.202566 0.126763 0.0144 0.0338 5.991225 0.212758 0.147147 0.0425 -0.0038 5.968365 0.220402 0.162435 0.0705 0.0217 5.937885 0.234416 0.178997 0.0575 0.0297 5.91566 0.244608 0.1911 0.0445 0.0201 5.892165 0.254163 0.205114 0.0316 0.0105 //T=287度 6.0452 0.187278 0.118482 0.4615 0.1918 5.89026 0.277095 0.184093 0.273 0.1397 5.80136 0.326781 0.223587 0.0845 0.0876 5.74675 0.356083 0.249067 0.0829 0.0356 5.69976 0.377741 0.274547 0.0813 0.0243 5.67182 0.386022 0.294294 0.0677 0.0176 5.648325 0.390481 0.313404 0.0541 0.0152 5.614035 0.400673 0.33761 0.0404 0.0129 //T=292度 5.90677 0.220402 0.224224 0.6236 0.1761 5.741035 0.303212 0.307671 0.4216 0.1584 5.559425 0.383474 0.409591 0.2197 0.1408 5.434965 0.437619 0.480298 0.2059 0.1231 5.311775 0.497497 0.543998 0.1921 0.0677 5.26669 0.514696 0.572026 0.1219 0.0332 5.229225 0.527436 0.596869 0.0817 0.0195 5.201285 0.53508 0.617253 0.0585 0.0058@月只蓝@beefly |
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有94人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
l1003785517
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 11.4
- 散金: 30
- 帖子: 59
- 在线: 22.1小时
- 虫号: 4326948
- 注册: 2016-01-01
- 专业: 能源化工
|
是的,作为一个求助者真的不应该出现这种错误,很抱歉。 我在代码中给出的公式,Function y1=a1*x1/(1+a3*x1+a4*x2+a5*x3); y2=(a2*x2-a1*x1)/(1+a3*x1+a4*x2+a5*x2); a1=k1*exp^(-Ea1/R/T); a2=k2*exp^(-Ea2/R/T); 这是一个阿伦尼乌斯公式,k1,k2都是指前因子,Ea1,Ea2是活化能,这几个参数都是我希望求出来的,但是若果放到公式进去会出现过拟合,所以我才把它们合并了放在代码里。R是常数8.314,T是反应温度,代码中我给出了4个温度下的实验数据。 希望能够得到您的帮助?万分感谢! |
6楼2018-07-04 12:55:03
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.5小时
- 虫号: 291104
- 注册: 2006-10-28
2楼2018-07-03 22:40:05
月只蓝
主管区长 (职业作家)
-

专家经验: +1059 - 计算强帖: 8
- 应助: 1712 (讲师)
- 贵宾: 8.888
- 金币: 68121.7
- 散金: 1938
- 红花: 443
- 沙发: 4
- 帖子: 4373
- 在线: 3291.4小时
- 虫号: 1122189
- 注册: 2010-10-14
- 专业: 宇宙学
- 管辖: 计算模拟区
|
如2楼所说,公式k=k0.exp^(-Ea/RT)与a的关系说明不清楚,而且此公式的写法本身就是错误的,正确的是“k=k0*exp(-Ea/R/T),作为求助者,像已知的常数R=8.314应该给出。 发自小木虫Android客户端 |

3楼2018-07-04 07:36:35
l1003785517
新虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 11.4
- 散金: 30
- 帖子: 59
- 在线: 22.1小时
- 虫号: 4326948
- 注册: 2016-01-01
- 专业: 能源化工
|
首先感谢您的回复,对我的描述不清楚表示抱歉。 代码中的公式,Function y1=a1*x1/(1+a3*x1+a4*x2+a5*x3); y2=(a2*x2-a1*x1)/(1+a3*x1+a4*x2+a5*x2); a1=k1.exp^(-Ea1/RT); a2=k2.exp^(-Ea2/RT); 这是一个阿伦尼乌斯公式,k1,k2都是指前因子,Ea1,Ea2是活化能,这几个参数都是我希望求出来的,但是若果放到公式进去会出现过拟合,所以我才把它们合并了放在代码里。R是常数8.314,T是反应温度,代码中我给出了4个温度下的实验数据。 不知道您是否能帮我解决这个问题呢?万分感谢! |
4楼2018-07-04 12:48:46











回复此楼