| 查看: 378 | 回复: 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)]; |
» 猜你喜欢
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有268人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有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)
回复此楼
点击这里搜索更多相关资源