24小时热门版块排行榜    

查看: 467  |  回复: 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)

我们都爱小木虫

相关版块跳转 我要订阅楼主 小小莓邮 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +4 Tide man 2026-08-11 4/200 2026-08-12 00:39 by liuqidi
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 9/450 2026-08-11 22:12 by 医学老男孩
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 17/850 2026-08-11 10:50 by 要乐观耀哥
[基金申请] filecode +9 documentary 2026-08-10 9/450 2026-08-11 10:08 by wk7465
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 好奇怪的filecode +4 布布和一二 2026-08-08 5/250 2026-08-10 14:20 by 冰心玉壶晴
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
信息提示
请填处理意见