| 查看: 402 | 回复: 0 | |||
[求助]
求助遗传算法对反应速率常数初步估算的问题
|
|
各位大神小弟先在此谢过 我要用matlab做反应速率常数的拟合,打算用遗传算法对常数先进性拟合再用最小二乘法拟合,但用遗传算法是程序进行不下去,请各位帮忙看一下,问题出在哪,急求。 数据: kineticsA4data % 动力学数据 mmol/m2)% t(h) C A P P ExpData = ... [ 0.00 25.2751 0 0 0 0.25 22.9500 0.3201 1.0294 0.3103 0.50 21.6138 0.4853 1.4568 0.6454 0.75 21.2019 0.5185 1.8947 0.9272 1.00 20.3590 0.6083 2.1379 1.1658 1.25 20.0490 0.6995 2.3849 1.2432 1.50 19.3850 0.7270 2.4681 1.5247 1.75 19.1517 0.7706 2.6907 1.6407 2.00 18.9174 0.8237 3.1265 1.7000 2.25 18.1695 0.9126 3.3860 1.9000 2.50 18.3046 0.9659 3.3133 2.0000 2.75 16.7374 0.9784 4.1797 2.1000 3.00 17.2217 1.0000 3.9054 2.3000]; c程序: function ga_test_fuzamodel_feifor clear all clc lb = [0 0 0 0 0 0 0 0 0]; % 参数下限 ub = [+inf +inf +inf +inf +inf +inf +inf +inf +inf]; x0=[25.2751 0 0 0 0.0001 0.0001 0.0001]; kineticsA4data; yexp=ExpData(:,2:5); options = gaoptimset('Generations',1000,'StallGenLimit',300,... 'StallTimeLimit',50,'TolFun',1e-12,'TolCon',1e-12); [k1,fva,reason,output,final_pop]=ga(@objfun,9,options); options = gaoptimset('InitialPopulation',final_pop,'Generations',1000,'StallGenLimit',300,... 'StallTimeLimit',50,'TolFun',1e-12,'TolCon',1e-12); [k2,fva,reason,output,final_pop2]=ga(@objfun,9,options); fprintf('\n\n遗传算法的初始估计数值:\n'); fprintf('\n\t参数 a0 = %.9f',k2(1)); fprintf('\n\t参数 b0 = %.9f',k2(2)); fprintf('\n\t参数 c0 = %.9f',k2(3)); fprintf('\n\t参数 d0 = %.9f',k2(4)); fprintf('\n\t参数 d0 = %.9f',k2(5)); fprintf('\n\t参数 d0 = %.9f',k2(6)); fprintf('\n\t参数 d0 = %.9f',k2(7)); fprintf('\n\t参数 d0 = %.9f',k2(8)); fprintf('\n\t参数 d0 = %.9f',k2(9)); function fun=objfun(k) tspan=[0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3]; x0=[25.2751 0 0 0 0.0001 0.0001 0.0001]; [t x] = ode45(@KineticEqs,tspan,x0,[],k); kineticsA4data; yexp=ExpData(:,2:5); ycal(:,1) = x(:,1); ycal(:,2) = x(:,2); ycal(:,3) = x(:,3); ycal(:,4) = x(:,4) fun = sum((ycal(:,1)-yexp(:,1)).^2) + sum((ycal(:,2)-yexp(:,2)).^2) ... + sum((ycal(:,3)-yexp(:,3)).^2) + sum((ycal(:,4)-yexp(:,4)).^2) % ------------------------------------------------------------------ function dxdt = KineticEqs(t,x,k) dxdt=[(-k(3)*x(1)*x(7)-k(4)*x(1)*x(6)) (k(7)*x(6)) (k(4)*x(1)*x(6)+k(5)*x(4)*x(6)) (k(3)*x(1)*x(7)-k(1)*x(4)-k(5)*x(4)*x(6)) (-k(2)*x(5)+k(3)*x(1)*x(7)+k(4)*x(1)*x(6)-2*k(9)*x(5)^2) (k(1)*x(4)-k(4)*x(1)*x(6)-k(5)*x(4)*x(6)-k(7)*x(6)+2*k(6)*x(6)^2) (k(2)*x(5)-k(3)*x(1)*x(7)+k(5)*x(4)*x(6)-2*(k(6)+k(8))*x(7)^2)]; |
» 猜你喜欢
哈尔滨理工大学物理系招收物理学考研调剂
已经有6人回复
0702一志愿吉大B区求调剂
已经有5人回复
物理学I论文润色/翻译怎么收费?
已经有81人回复
求调剂
已经有0人回复
0702一志愿吉大B区求调剂有论文
已经有0人回复
请问还有没有用Latex写文章的小伙伴们?
已经有0人回复
光学工程学硕调剂信息
已经有31人回复
欢迎加入课题组
已经有0人回复
散金币,求好运,祝面上顺利!
已经有65人回复
华东师范大学芯片设计徐珑真实水平咋样
已经有1人回复
调剂
已经有0人回复
找到一些相关的精华帖子,希望有用哦~
反应势能面中势垒为正,计算反应速率拟合出来的活化能为负,急求解释!
已经有3人回复
求助:光催化降解率和伪一级反应速率常数疑惑
已经有4人回复
Matlab同时拟合活化能,反应级数,速率常数
已经有26人回复
关于双分子反应速率常数问题
已经有3人回复
求助用matlab三次样条法算一个反应的反应速率
已经有13人回复
有关反应速率常数的计算
已经有9人回复
速率常数的计算
已经有8人回复
有用经典过渡态理论TST计算反应速率的高手吗?求救,撒金币!
已经有12人回复
Gaussian 计算二级反应速率常数
已经有4人回复
高斯计算微观动力学研究-计算结果:逆反应速率常数大于正反应速率常数 是否正常
已经有14人回复
关于化学反应速率常数指前因子单位的问题。
已经有6人回复
求gaussian计算反应速率常数,指前因子方法。
已经有25人回复
如何用MS计算反应速率常数k
已经有3人回复
【求助】催化反应动力学matlab计算各基元反应的速率常数时,该如何避免较小量被忽略?
已经有3人回复
【求助】扩散控制的反应速率常数
已经有11人回复
【求助】反应速率常数怎么算
已经有5人回复
科研从小木虫开始,人人为我,我为人人













mmol/m2)
回复此楼
点击这里搜索更多相关资源