24小时热门版块排行榜    

查看: 530  |  回复: 0

tailei

银虫 (初入文坛)

[求助] 用matlab求动力学参数有错误,求指导

程序是:

tspan = [78.666667 59.000000 47.200000 39.333333  33.714286 29.500000 ];
x0=[0; 0; 0 ];
k0 = [0 0 0 0 0 0 0 0 0];%速率常数,平衡常数初值
lb = [0 0 0 0 0 0 0 0 0];
ub = [+inf +inf +inf +inf +inf +inf +inf +inf +inf];
data=...
[
78.666667   0.957100   0.797360   0.162324 70 2.5
59.000000   0.859400   0.792711   0.083877 70 2.5
47.200000   0.833500   0.764903   0.068597 70 2.5
39.333333   0.757000   0.709688   0.047313 50 1.5
33.714286   0.739600   0.699588   0.040012 50 1.5
29.500000   0.721000   0.686608   0.034392 50 1.5
];
yexp=data(:,2:4);%取矩阵2-6列数据
% 使用函数lsqnonlin()进行参数估计
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp);
ci = nlparci(k,residual,jacobian);
fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')
fprintf('\tk1 = %.4f ± %.4f\n',k(1),ci(1,2)-k(1))
fprintf('\tk2 = %.4f ± %.4f\n',k(2),ci(2,2)-k(2))
fprintf('\tk3 = %.4f ± %.4f\n',k(3),ci(3,2)-k(3))       
fprintf('\tk4 = %.4f ± %.4f\n',k(4),ci(4,2)-k(4))
fprintf('\tk5 = %.4f ± %.4f\n',k(5),ci(5,2)-k(5))
fprintf('\tk6 = %.4f ± %.4f\n',k(6),ci(6,2)-k(6))
fprintf('\tk7 = %.4f ± %.4f\n',k(7),ci(7,2)-k(7))
fprintf('\tk8 = %.4f ± %.4f\n',k(8),ci(8,2)-k(8))
fprintf('\tk9 = %.4f ± %.4f\n',k(9),ci(9,2)-k(9))
fprintf('  The sum of the squares is: %.1e\n\n',resnorm)

function f = ObjFunc(k,tspan,x0,yexp)           % 目标函数
[t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k);
ysim(:,1) = Xsim(2:end,1);
ysim(:,2) = Xsim(2:end,2);
ysim(:,3) = Xsim(2:end,3);
f =(sum((ysim(:,1)-yexp(:,1))^2)+sum((ysim(:,2)-yexp(:,2))^2)
+sum((ysim(:,3)-yexp(:,3))^2))/72;

function dCdt = KineticsEqs(t,C,k)              % ODE模型方程,t为空时,C转化率、收率
P1=((1/(C(5)+1))*(1-C(2))*C(6))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4)));
P2=((C(5)/(C(5)+1))-2*(1/(C(5)+1)*C(3)-4*(1/(C(5)+1)*C(4)/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4)));
P3=((1/(C(5)+1)*C(3))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4)));
P4=((1/(C(5)+1)*C(4))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4)));
P5=(((1/(C(5)+1)*C(3))+2*((1/(C(5)+1)*C(4)))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4)));
% k(1) = Kdmo,k(1)=Kh;k(3)=Kmg;k(4)=Keg,k(5)=Kme; k(6)=k1,k(7)=k2, k(8)=Kp1,k(9)=Kp2,
%P(1)=Pdmo,P(2)=Ph,P3=Pmg,P4=Peg,P5=Pme;
theB = 1+k(4)*P4+k5*P5+((k(1)*P3*P5*P5)/(k(8)*(P2^3));
theC =k(7)*(P3-(P3*P5)/(k(9)*(P2^2));
r1 = theA/theB;
r2 = theC/theB;

dCAdt = - r1;
dCBdt = r1 - r2 ;
       
dCdt = [dCAdt; dCBdt];

??? Error using ==> feval
Undefined function or method 'ObjFunc' for input arguments of type 'double'.

Error in ==> lsqnonlin at 203
            initVals.F = feval(funfcn{3},xCurrent,varargin{:});

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue.


求大神修正代码!!不胜感激!
回复此楼

» 猜你喜欢

科研就像围墙
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 tailei 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 我不理解! +19 Edward_pc 2026-08-26 27/1350 2026-09-02 12:08 by Ai19911123
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 10/500 2026-09-02 11:35 by 大不刘6
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +4 瞬息宇宙 2026-09-01 8/400 2026-09-02 10:35 by 瞬息宇宙
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[文学芳草园] 梦想 +5 myrtle 2026-08-26 8/400 2026-09-02 02:42 by Leogzhya
[基金申请] 面上合作单位盖章 +6 ssyjh 2026-08-27 9/450 2026-09-01 20:01 by huagongfeihu
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
信息提示
请填处理意见