24小时热门版块排行榜    

查看: 480  |  回复: 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)];
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 小小莓邮 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 EZ67DG6CvcKL 2026-08-31 4/200 2026-09-01 01:30 by o3EMxHUAQDtS
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 EZ67DG6CvcKL 2026-08-31 3/150 2026-08-31 22:12 by o3EMxHUAQDtS
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[文学芳草园] 梦想 +5 myrtle 2026-08-26 5/250 2026-08-31 14:40 by hahaboy
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见