24小时热门版块排行榜    

查看: 1373  |  回复: 9

dragonpu

木虫 (小有名气)

[求助] 动力学参数拟合

有哪位大神能够帮我拟合一下动力学参数啊!Matlab程序我编好了,但是结果非常依赖于初值。小弟不胜感激!
动力学方程组:
dy1/dw=-k(1).*exp(-k(2)./(R.*T)).*P.*y(1)-k(3).*exp(-k(4)./(R.*T)).*P.*y(1)-k(7).*exp(-k(8)./(R.*T)).*P.*y(1)-k(9).*exp(-k(10)./(R.*T)).*P.*y(1);
dy2/dw=k(1).*exp(-k(2)./(R.*T)).*P.*y(1)+k(5).*exp(-k(6)./(R.*T)).*P.*y(3);
dy3/dw=k(3).*exp(-k(4)./(R.*T)).*P.*y(1)-k(5).*exp(-k(6)./(R.*T)).*P.*y(3)-k(11).*exp(-k(12)./(R.*T)).*P.*y(3);
dy4/dw=k(7).*exp(-k(8)./(R.*T)).*P.*y(1);
dy5/dw=k(9).*exp(-k(10)./(R.*T)).*P.*y(1)+k(11).*exp(-k(12)./(R.*T)).*P.*y(3);
其中P=100;   R=8.314e-3;
k(1)~k(12)为要拟合的参数
y的初值为[0.5 0 0 0 0]
实验数据为
y1=[0.480097655
0.474124441
0.462780469
0.451193215
0.440723531
0.429448481
0.47974112
0.472322212
0.459982252
0.446630481
0.435406437
0.422382655
0.477436093
0.470092739
0.455851064
0.442346819
0.430467491
0.418103342]';
y2=[0.002842264
0.003831889
0.005528585
0.007890192
0.008760934
0.010302604
0.002846129
0.004434475
0.006468111
0.009272929
0.010353186
0.012069968
0.004068987
0.005286294
0.007419716
0.010652046
0.012228119
0.013803879]';
y3=[0.00347535
0.004900899
0.007194984
0.009158732
0.011510271
0.013775715
0.002932906
0.004427726
0.006607841
0.008459383
0.010480658
0.013100752
0.002395948
0.003717976
0.006043769
0.007540305
0.009972262
0.011736397]';
y4=[0.000368155
0.000553876
0.001417951
0.002258876
0.003408988
0.004321705
0.000816502
0.00160397
0.002537401
0.003319669
0.004791179
0.006212197
0.002013246
0.002162904
0.00365511
0.005083102
0.006746324
0.007918681
]';
y5=[0.00146887
0.001936815
0.003335547
0.003735631
0.005773633
0.007057201
0.002564792
0.002891745
0.004969817
0.006502123
0.008844523
0.009879428
0.003020119
0.004579988
0.006845988
0.00900583
0.009735804
0.013336633
]';
yout=[y1;y2;y3;y4;y5];

t=[375
375
375
375
375
375
400
400
400
400
400
400
425
425
425
425
425
425];
T=t+273.15;
w=[2.531646
3.375527
5.063291
6.751055
8.438819
10.12658
2.531646
3.375527
5.063291
6.751055
8.438819
10.12658
2.531646
3.375527
5.063291
6.751055
8.438819
10.12658];
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
csgt0: 金币+2, 谢谢 2013-01-09 16:38:52
1stOpt求解:
CODE:
Constant P=100, R=8.314e-3;
InitialODEValue w=0, y(5)=[0.5,0,0,0,0];
Variable w,y(5),t;
ODEFunction y1'=-k1*exp(-k2/(r*t))*p*y1-k3*exp(-k4/(r*t))*p*y1-k7*exp(-k8/(r*t))*p*y1-k9*exp(-k10/(r*t))*p*y1;
            y2'=k1*exp(-k2/(r*t))*p*y1+k5*exp(-k6/(r*t))*p*y3;
            y3'=k3*exp(-k4/(r*t))*p*y1-k5*exp(-k6/(r*t))*p*y3-k11*exp(-k12/(r*t))*p*y3;
            y4'=k7*exp(-k8/(r*t))*p*y1;
            y5'=k9*exp(-k10/(r*t))*p*y1+k11*exp(-k12/(r*t))*p*y3;
Data;
2.531646,0.480097655,0.002842264,0.00347535,0.000368155,0.00146887,648.15
3.375527,0.474124441,0.003831889,0.004900899,0.000553876,0.001936815,648.15
5.063291,0.462780469,0.005528585,0.007194984,0.001417951,0.003335547,648.15
6.751055,0.451193215,0.007890192,0.009158732,0.002258876,0.003735631,648.15
8.438819,0.440723531,0.008760934,0.011510271,0.003408988,0.005773633,648.15
10.12658,0.429448481,0.010302604,0.013775715,0.004321705,0.007057201,648.15
2.531646,0.47974112,0.002846129,0.002932906,0.000816502,0.002564792,673.15
3.375527,0.472322212,0.004434475,0.004427726,0.00160397,0.002891745,673.15
5.063291,0.459982252,0.006468111,0.006607841,0.002537401,0.004969817,673.15
6.751055,0.446630481,0.009272929,0.008459383,0.003319669,0.006502123,673.15
8.438819,0.435406437,0.010353186,0.010480658,0.004791179,0.008844523,673.15
10.12658,0.422382655,0.012069968,0.013100752,0.006212197,0.009879428,673.15
2.531646,0.477436093,0.004068987,0.002395948,0.002013246,0.003020119,698.15
3.375527,0.470092739,0.005286294,0.003717976,0.002162904,0.004579988,698.15
5.063291,0.455851064,0.007419716,0.006043769,0.00365511,0.006845988,698.15
6.751055,0.442346819,0.010652046,0.007540305,0.005083102,0.00900583,698.15
8.438819,0.430467491,0.012228119,0.009972262,0.006746324,0.009735804,698.15
10.12658,0.418103342,0.013803879,0.011736397,0.007918681,0.013336633,698.15

均方差(RMSE): 0.00515849113704793
残差平方和(SSE): 0.00239490277299019
相关系数(R): 0.999823871742008
相关系数之平方(R^2): 0.999647774505179
决定系数(DC): 0.999850282157082
F统计(F-Statistic): 6.45801799379734

参数                  最佳估算
--------------------        -------------

k1        4.89399891352048E-6
k2        -10.6601371015196
k3        3.67383743863496E-5
k4        -1.43251983409417
k5        2.79201648997203E-8
k6        -49.2290083090162
k7        3.52249551424626E-6
k8        -10.9413062151302
k9        2.95332341973282E-5
k10        -1.07700586267194
k11        1.05224743887147E-8
k12        2.06702669054423E-8
2楼2013-01-09 14:26:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dragonpu

木虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2013-01-09 14:26:53
1stOpt求解:

Constant P=100, R=8.314e-3;
InitialODEValue w=0, y(5)=;
Variable w,y(5),t;
ODEFunction y1'=-k1*exp(-k2/(r*t))*p*y1-k3*exp(-k4/(r*t))*p*y1-k7*exp(-k8/(r*t))*p*y1-k9*exp(-k10/(r*t))* ...

数据拟合结果差别太大,不应该有负数啊!不过还是要谢谢楼上这位大哥了!
3楼2013-01-09 17:38:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


csgt0: 金币+1, 谢谢 2013-01-10 10:25:20
参数大于0的条件最好求助时就说清楚。上面代码加一句:
ParameterDomain = [0,];
4楼2013-01-09 17:55:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

王柳叶

木虫 (正式写手)

引用回帖:
4楼: Originally posted by dingd at 2013-01-09 17:55:11
参数大于0的条件最好求助时就说清楚。上面代码加一句:
ParameterDomain = ;

均方差(RMSE): 0.00515849113704793
残差平方和(SSE): 0.00239490277299019
相关系数(R): 0.999823871742008
相关系数之平方(R^2): 0.999647774505179
决定系数(DC): 0.999850282157082
F统计(F-Statistic): 6.45801799379734
请问这个是怎么拟合的?能否把拟合代码发给我看看,wczheng@163.com
5楼2013-04-24 15:42:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

王柳叶

木虫 (正式写手)

请问楼主拟合好了吗?我现在也有一个拟合,有17个反应速率常数需要拟合,想借鉴一下你的经验和matlab代码,wczheng@163.com
6楼2013-04-24 15:43:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

参考2#的就是代码,只不过是1stOpt的代码而非Matlab。
7楼2013-04-24 15:51:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

王柳叶

木虫 (正式写手)

引用回帖:
7楼: Originally posted by dingd at 2013-04-24 15:51:11
参考2#的就是代码,只不过是1stOpt的代码而非Matlab。

谢谢了,没有见过1stopt  软件,刚才查了一下,能否把你的软件发给我啊?谢谢,wczheng@163.com
8楼2013-04-24 16:05:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

王柳叶

木虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2013-01-09 14:26:53
1stOpt求解:

Constant P=100, R=8.314e-3;
InitialODEValue w=0, y(5)=;
Variable w,y(5),t;
ODEFunction y1'=-k1*exp(-k2/(r*t))*p*y1-k3*exp(-k4/(r*t))*p*y1-k7*exp(-k8/(r*t))*p*y1-k9*exp(-k10/(r*t))* ...

您好,我用你的代码计算不出来啊,就是因为我的1stopt是破解版的吗?
9楼2013-04-24 19:39:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

王柳叶

木虫 (正式写手)


csgt0: 金币+1, 谢谢 2013-04-26 15:54:49
1stopt 3.0以上才有常微分方程拟合功能,破解版只到1.5的,所以不打算购买软件的就不能用这个做常微分拟合数据。
10楼2013-04-25 21:43:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dragonpu 的主题更新
信息提示
请填处理意见