24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 754  |  回复: 1
【悬赏金币】回答本帖问题,作者szy242424将赠送您 5 个金币

szy242424

新虫 (初入文坛)

[求助] matalb软件 ode23s,非线性最小二乘法模拟动力学参数 已有1人参与

function kk1
k0=[236,18,45.6,10,1.2,0.001,0.1,0.001,0.01,0.001,0.1,0.1];
lb=[236,18,45.6,10, 1.2, 0.001, 0.1,0.001,0.01,0.001,0.1,0.1];
ub=[inf,inf,inf,inf, 10.4,1.2, 2.4,1.2,0.8,0.1,4.5,4.5];
data=...
[0        0.562205        0        0        34.2775
6        0.618817941        0        0        33.9805
12        0.797936454        0        0        31.941
18        1.554008384        0.9935        0        28.739
24        2.141789344        1.3815        0        26.3835
30        2.543955264        1.5745        1.4795        23.8955
36        3.017273616        1.908        1.7625        21.334
42        3.295696176        2.9885        2.038        19.128
60        3.274041088        4.693        3.262        11.2065
66        3.4070652        5.1295        3.581        8.9005
72        3.753546608        5.6395        4.041        6.4395
84        3.595773824        6.6735        4.71        1.496
];


x0=data(1,2:end);
tspan =[0,6,12,18,24,30,36,42,60,66,72,84];
yexp = [data(2:end,2) data(2:end,3) data(2:end,4) data(2:end,5)  ];
ts=data(1:end,1);
[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 = %.9f ± %.9f\n',k(1),ci(1,2)-k(1))
fprintf('\tk2 = %.9f ± %.9f\n',k(2),ci(2,2)-k(2))
fprintf('\tk3 = %.9f ± %.9f\n',k(3),ci(3,2)-k(3))
fprintf('\tk4 = %.9f ± %.9f\n',k(4),ci(4,2)-k(4))
fprintf('\tk5 = %.9f ± %.9f\n',k(5),ci(5,2)-k(5))
fprintf('\tk6 = %.9f ± %.9f\n',k(6),ci(6,2)-k(6))
fprintf('\tk7 = %.9f ± %.9f\n',k(7),ci(7,2)-k(7))
fprintf('\tk8= %.9f ± %.9f\n',k(8),ci(8,2)-k(8))
fprintf('\tk9 = %.9f ± %.9f\n',k(9),ci(9,2)-k(9))
fprintf('\tk10 = %.9f ± %.9f\n',k(10),ci(10,2)-k(10))
fprintf('\tk11= %.9f ± %.9f\n',k(11),ci(11,2)-k(11))
fprintf('\tk12 = %.9f ± %.9f\n',k(12),ci(12,2)-k(12))
fprintf('  The sum of the squares is: %.9e\n\n',resnorm)
[ts, ys] = ode23s(@KineticsEqs,ts,x0,[],k);
yy = [data(:,2) data(:,3) data(:,4)  data(:,5)   ];
plot(ts,ys(:,1),'b',tspan,yy(:,1),'bo');
hold on
plot(ts,ys(:,2),'r',tspan,yy(:,2),'r*');
plot(ts,ys(:,3),'k',tspan,yy(:,3),'k+')
legend('DCW的计算值','DCW的实验值','SA的计算值','SA的实验值','AA的计算值','AA的实验值','X的计算值','X的实验值')
function f = ObjFunc(k,tspan,x0,yexp)           % 目标函数
[~, Xsim] = ode23s(@KineticsEqs,tspan,x0,[],k);
Xsim1=Xsim(:,1);%提取Xsim的第一列
Xsim2=Xsim(:,2);%提取Xsim的第二列
Xsim3=Xsim(:,3);%提取Xsim的第三列
Xsim4=Xsim(:,4);%提取Xsim的第四列

ysim(:,1) = Xsim1(2:end);%微分方程的第一个变量,从第二个解到最后一个解赋值给ysim的第一列
ysim(:,2) = Xsim2(2:end);%微分方程的第二个变量,从第二个解到最后一个解赋值给ysim的第二列
ysim(:,3) = Xsim3(2:end);%微分方程的第三个变量,从第二个解到最后一个解赋值给ysim的第三列
ysim(:,4) = Xsim4(2:end);%微分方程的第四个变量,从第二个解到最后一个解赋值给ysim的第四列
f = [(ysim(:,1)-yexp(:,1)) (ysim(:,2)-yexp(:,2)) (ysim(:,3)-yexp(:,3)) (ysim(:,4)-yexp(:,4))];
function dCdt = KineticsEqs(~,C,k)
% ODE模型方程,C1、C2、C3、C4分别为底物浓度、产物丁二酸浓度、产物乙酸浓度、DCW值,t为导数
dC1dt =(0.1933862*C(4)/(C(4)+0.78+C(4)^2/296.9)*(1-C(2)/k(1))^k(2)*(1-C(3)/k(3))^k(4))*C(1);
dC2dt =k(5)*dC1dt+k(6)*C(1);%第二个微分方程,等号前面是C(2)对t的微分
dC3dt =k(7)*dC1dt+k(8)*C(1);%第三个微分方程,等号前面是C(3)对t的微分
dC4dt =-((1/k(9))*dC1dt+k(10)*C(1)+(1/k(11))*dC2dt+(1/k(12))*dC3dt);
dCdt = [dC1dt; dC2dt;dC3dt;dC4dt];%微分方程组.

   各位大神,帮我看一下这个代码有什么错误没有,目标是用ode23s求解微分方程组,然后用非线性最小二乘模拟参数,急求回复,谢谢大家!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
参考下面1stOpt计算的结果:

Root of Mean Square Error (RMSE): 0.673324275669162
Sum of Squared Residual: 19.9480855290377
Correlation Coef. (R): 0.983872215020488
R-Square: 0.968004535489321

Parameter                  Best Estimate
--------------------        -------------
k1        2255.98568602798
k2        2006.16856712862
k3        123314855.293705
k4        11.7085151403374
k5        1.20000000001939
k6        0.00942914835572298
k7        0.100000000023396
k8        0.0201718372859985
k9        0.799999999987507
k10        0.0999392603337909
k11        4.49999420593383
k12        0.75747434507548
2楼2021-03-10 10:18:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 szy242424 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290调剂生物0860 +35 哇哈哈,。 2026-04-11 41/2050 2026-04-14 23:47 by Xurambo2014
[考研] 279学硕食品专业求调剂院校 20+6 孤独的狼爱吃羊 2026-04-12 28/1400 2026-04-14 15:44 by zs92450
[教师之家] 转长聘了 +7 简单化xn 2026-04-13 7/350 2026-04-14 14:50 by xindong
[考研] 085408光电信息工程专硕355一志愿长春光机所调剂 +6 王ymaa 2026-04-13 13/650 2026-04-14 11:33 by 王ymaa
[考研] 求调剂,985材料与化工348分 +9 涵竹刘 2026-04-11 14/700 2026-04-13 22:26 by 涵竹刘
[考研] 302求调剂 +10 易!? 2026-04-13 10/500 2026-04-13 19:04 by lbsjt
[考研] 一志愿西交机械专硕求调剂 +9 求上岸的小王 2026-04-10 9/450 2026-04-13 16:08 by jiangguiquan11
[考研] 296求调剂 +14 汪!?! 2026-04-10 16/800 2026-04-12 10:48 by zhouyuwinner
[考研] 0860004 求调剂 309分 +9 Yin DY 2026-04-08 9/450 2026-04-11 22:55 by dongdian1
[考研] 267求调剂 +8 再忙也要吃饭啊 2026-04-09 8/400 2026-04-11 21:42 by cfdbai
[考研] 本人女孩 +7 吼吼, 2026-04-10 9/450 2026-04-11 14:45 by ACS Nano——
[考研] 求调剂 +6 archer.. 2026-04-09 8/400 2026-04-11 10:55 by zhq0425
[考研] 0854调剂 +5 音像店听花鼓戏 2026-04-10 5/250 2026-04-11 10:49 by qingpingzhu
[考研] 调剂 化学 307 +21 73372112 2026-04-09 23/1150 2026-04-10 23:53 by wj165256
[考研] 22408 366分,本科211,一志愿西工大 +4 Rubt 2026-04-09 4/200 2026-04-10 19:51 by chemisry
[考研] 中科院总分315求调剂 +8 lallalh 2026-04-09 8/400 2026-04-10 19:30 by dick_runner
[考研] 一志愿京区985,085401电子信息,本科电子信息 +3 阳光开朗的男孩 2026-04-10 3/150 2026-04-10 16:29 by sophia_93
[考研] 344求调剂 +7 丶风雪夜归人丶 2026-04-09 7/350 2026-04-10 12:05 by pengliang8036
[考研] 070300化学 求调剂 +13 73372112 2026-04-08 13/650 2026-04-09 20:22 by maddjdld
[考研] 085501机械英二77总分294求调剂,接受跨专业学习 +6 守法公民亓纪 2026-04-08 6/300 2026-04-09 15:55 by wp06
信息提示
请填处理意见