24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1510  |  回复: 10
【悬赏金币】回答本帖问题,作者ZXR319将赠送您 40 个金币

ZXR319

新虫 (小有名气)

[求助] 请会1stopt 的大佬帮帮我已有2人参与

我在做 lh 机理动力学,已经有一部分数据了,目前已经用 matlab 处理了,拟合初值是随便给的,我现在想用1stopt 软件拟合一下,拟合的结果作为 matlab 的参数初值,以便更准确。求大佬帮我拟合一下,最好有源代码,金币我可以尽量给,有多少都可以给,好商量。
数据如下:t         ca          cb
0              0.1679              0
15       0.1511            0.0164
30            0.1322            0.0376
45            0.115               0.0512
60            0.1037             0.06
90            0.1003           0.069
120           0.09486          0.07368
还需要提供什么可随时联系我,拜谢各位!
图2是我用 matlab 拟合的思路,目标函数就是计算值和实验测量值的差(比如残差平方和)最小。

请会1stopt 的大佬帮帮我


请会1stopt 的大佬帮帮我-1


@月只蓝 发自小木虫Android客户端
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

数值计算
2楼2024-09-09 13:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZXR319

新虫 (小有名气)

引用回帖:
2楼: Originally posted by 独孤神宇 at 2024-09-09 13:31:42
模型缺少 r的数据。

老师您的意思是数据里每一个时间下应该写出来对应的反应速率吗?我通过实验只能得到不同时间的反应物浓度和生成物浓度,那在1stopt 中可以通过代码得到不同时刻的反应速率吗?我在 Matlab 中是通过 ODE45函数求反应速率的

发自小木虫Android客户端
3楼2024-09-09 14:57:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZXR319

新虫 (小有名气)

Function r = (k * KA * cA * sqrt(KH * PH2 / Kbc)) / ((1 + KA * cA + KB * cB + sqrt(KH * PH2 / Kbc))^2);
这是模型方程的代码形式

发自小木虫Android客户端
4楼2024-09-09 15:28:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
你的问题还得提供反应速率的微分方程,才能做拟合系数的工作。

» 本帖已获得的红花(最新10朵)

QQ:2120156492
5楼2024-09-09 22:28:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZXR319

新虫 (小有名气)

送红花一朵
引用回帖:
5楼: Originally posted by hzlhm at 2024-09-09 22:28:55
你的问题还得提供反应速率的微分方程,才能做拟合系数的工作。

谢谢老师我做的是加氢反应,1molA 和3mol 氢气生成1molB,A 和 B 摩尔比是1:1,所以是不是-dcA/dt=r;dcB/dt=r。不知道这样可以计算了吗?

发自小木虫Android客户端
6楼2024-09-10 08:18:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
6楼: Originally posted by ZXR319 at 2024-09-10 08:18:34
谢谢老师我做的是加氢反应,1molA 和3mol 氢气生成1molB,A 和 B 摩尔比是1:1,所以是不是-dcA/dt=r;dcB/dt=r。不知道这样可以计算了吗?
...

假设 dcB/dt=r

模型公式: cb' = (k*ka*ca*sqrt(kh*3/kbc))/((1+ka*ca+kb*cb+sqrt(kh*3/kbc))^2)

残差平方和(SSE): 0.000100907681851596
均方差(RMSE): 0.00410096902881087
相关系数(R): 0.978424525403226
相关系数之平方(R^2): 0.957314551910527
修正R平方(Adj. R^2): 0.928857586517545
确定系数(DC): 0.956042109592344
F统计(F-Statistic): 5.07803520426272

参数        最佳估算           
----        --------           
k           3947916360160.45   
ka          4.19389648022836E15
kh          0.406855254346946  
kbc         8.49921244458393   
kb          1.28426131584115E16

====== 结果输出 ======

文件: 数据文件-1
No        t        目标 cb        计算 cb
1        15        0.0164        0.023012428915109
2        30        0.0376        0.0370171975730106
3        45        0.0512        0.0473206201899215
4        60        0.06        0.05546914388147
5        90        0.069        0.068244316554898
6        120        0.07368        0.0782291213083908
数值计算
7楼2024-09-11 21:54:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

引用回帖:
6楼: Originally posted by ZXR319 at 2024-09-10 08:18:34
谢谢老师我做的是加氢反应,1molA 和3mol 氢气生成1molB,A 和 B 摩尔比是1:1,所以是不是-dcA/dt=r;dcB/dt=r。不知道这样可以计算了吗?
...

假设 dcA/dt=-r

模型公式: ca' = -(k*ka*ca*sqrt(kh*3/kbc))/((1+ka*ca+kb*cb+sqrt(kh*3/kbc))^2)

残差平方和(SSE): 0.000192586899315775
均方差(RMSE): 0.005665493495948
相关系数(R): 0.959232883604991
相关系数之平方(R^2): 0.920127724989146
修正R平方(Adj. R^2): 0.866879541648577
确定系数(DC): 0.91769457654023
F统计(F-Statistic): 2.54023664039648

参数        最佳估算           
----        --------           
k           2837450.21546848   
ka          2.67743713648235E-7
kh          67.0303631498266   
kbc         0.100651239217611  
kb          687.010099643109   

====== 结果输出 ======

文件: 数据文件-1
No        t        目标 ca        计算 ca
1        15        0.1511        0.143509362937322
2        30        0.1322        0.129868469396974
3        45        0.115        0.120093597136612
4        60        0.1037        0.112222162940757
5        90        0.1003        0.0997387665702967
6        120        0.09486        0.0893241064493534

» 本帖已获得的红花(最新10朵)

数值计算
8楼2024-09-11 21:58:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZXR319

新虫 (小有名气)

送红花一朵
引用回帖:
8楼: Originally posted by 独孤神宇 at 2024-09-11 21:58:39
假设 dcA/dt=-r

模型公式: ca' = -(k*ka*ca*sqrt(kh*3/kbc))/((1+ka*ca+kb*cb+sqrt(kh*3/kbc))^2)

残差平方和(SSE): 0.000192586899315775
均方差(RMSE): 0.005665493495948
相关系数(R): 0.9592328836049 ...

谢谢老师,您辛苦了,太感谢您了

发自小木虫Android客户端
9楼2024-09-13 09:34:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ZXR319

新虫 (小有名气)

送红花一朵
引用回帖:
8楼: Originally posted by 独孤神宇 at 2024-09-11 21:58:39
假设 dcA/dt=-r

模型公式: ca' = -(k*ka*ca*sqrt(kh*3/kbc))/((1+ka*ca+kb*cb+sqrt(kh*3/kbc))^2)

残差平方和(SSE): 0.000192586899315775
均方差(RMSE): 0.005665493495948
相关系数(R): 0.9592328836049 ...

老师,能不能麻烦您给个源代码?我自己弄的有问题,拟合出来反应速率和浓度都是0。Title "动力学模型2";
Parameters k,KA,KB,KH,Kbc;
Variable t,CA,CB;
Constant PH2=3;
Function r = (k * K_A * c_A * sqrt(K_H * P_H2 / K_bc)) / ((1 + K_A * c_A + K_B * c_B + sqrt(K_H * P_H2 / K_bc))^2);
Data;
t  CA  CB
0  0.1679  0
30  0.1314  0.0367
60  0.0964  0.0719
90  0.0759  0.096
120  0.0575  0.1113
STARTPROGRAM
var i: integer;
begin
  for i = 1 to length(t)-1 do
    r = -(c_A - c_A[i-1]) / (t - t[i-1]);
end
ENDPROGRAM

FIT
这是Ai 给出的代码,我不知道怎么改

发自小木虫Android客户端
10楼2024-09-15 09:34:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ZXR319 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见