| 查看: 499 | 回复: 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人回复
浙大物院表面物理课题组长期招收普博及直博学生
已经有259人回复
物理学I论文润色/翻译怎么收费?
已经有120人回复
【征稿】Springer Nature热电专题 Discover Materials / Discover Chemistry
已经有47人回复
25届硕士申请,材料计算方向
已经有2人回复
课题组招1-2名硕士
已经有1人回复
机时越来越贵之后,我把一部分 DFT 流程搬到了 AI 计算平台上
已经有0人回复
斯坦福大学与Elsevier世界前2%学者新排名查询
已经有1人回复
27申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有19人回复
华南师范大学+双一流学科物理学+广东省杰青团队2027年博士招生+机器学习驱动材料设计
已经有1人回复
apl投稿状态
已经有2人回复
找到一些相关的精华帖子,希望有用哦~
反应势能面中势垒为正,计算反应速率拟合出来的活化能为负,急求解释!
已经有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)
回复此楼
点击这里搜索更多相关资源