24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 884  |  回复: 3
【悬赏金币】回答本帖问题,作者自制奶酪将赠送您 30 个金币

自制奶酪

铜虫 (小有名气)

[求助] 用matlab求动力学参数k1-k7,金币没有,太寒碜请见谅 已有1人参与

希望木虫大神帮忙用Matlab解解方程,可以酬金支付,

t/h      C1        C2       C3       C4        C5
0       100       0      0      0      0
0.5      18.7     48.9     19.3      9.7       0.2
1       6.5       31.3     34.7     19.6      2.6
1.5      2.7       15.3     41.2     28.7      5.7
2       2.1       6.9      40.9      34.5      9.3
3       1.7       2.2      37.2      38.4     17.1
4       1.5       1.8      31.7      38.2      24.8
5       1.2       1.7      26.1      36.3      30.5
6       0.2       0.5      19.4      33.4      36.7

微分方程组

dC1dt = -k1*C1-k7*C1;
dC2dt = k1*C1-k2*C2-k5*C2;
dC3dt = k2*C2-k3*C3-k6*C6;
dC4dt = k3*C3-k4*C4;
dC5dt = k4*C4;
dC6dt = k5*C2+k6*C3+k7*C1;
我网上依葫芦画瓢填的报错结果出不来

代码:

function odes_fit
format long
clear all
clc


k0 = [0 0 0 0 0 0];   
lb = -[1 1 1 1 1 1]*1e9;
ub = [1 1 1 1 1 1]*1e9;

data=...
    [0         100             0            0            0            0            0
         0.5    18.7   48.9   19.3    9.7   0.2   0.0;
          1    6.5   31.3   34.7   19.6   2.6   0.0;
          1.5    2.7    15.3   41.2   28.7   5.7   0.05;
          2    2.1    6.9    40.9   34.5   9.3   0.1;
          3    1.7    2.2    37.2   38.4   17.1   0.12;
          4    1.5    1.8    31.7   38.2   24.8   0.16;
          5    1.2    1.7    26.1   36.3   30.5   0.22;
          6    0.2    0.5    19.4   33.4   36.7   0.3;
];
x0=data(1,2:end);
tspan = [data(:,1)'];
yexp = [data(2:end,2) data(2:end,3) data(2:end,4) data(2:end,5) data(2:end,6) data(2:end,7)];

[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 \n',k(1))
fprintf('\tk2 = %.9f \n',k(2))
fprintf('\tk3 = %.9f \n',k(3))
fprintf('\tk4 = %.9f \n',k(4))
fprintf('\tk5 = %.9f \n',k(5))
fprintf('\tk5 = %.9f \n',k(6))
fprintf('\tk5 = %.9f \n',k(7))


figure(1)

ts=0(max(tspan)-min(tspan))/100):max(tspan);
[ts ys] = ode45(@KineticsEqs,ts,x0,[],k);
yy = [data(:,2) data(:,3) data(:,4) data(:,5) data(:,6) data(:,7)];
figure(1)
plot(ts,ys(:,1),'b',tspan,yy(:,1),'bo');
figure(2)
plot(ts,ys(:,2),'r',tspan,yy(:,2),'ro');
figure(3)
plot(ts,ys(:,3),'k',tspan,yy(:,3),'ko');
figure(4)
plot(ts,ys(:,4),'g',tspan,yy(:,4),'go');
figure(5)
plot(ts,ys(:,5),'m',tspan,yy(:,5),'mo');
figure(6)
plot(ts,ys(:,6),'h',tspan,yy(:,6),'ho');
figure(7)
plot(ts,ys(:,1),'b',tspan,yy(:,1),'bo',ts,ys(:,2),'r',tspan,yy(:,2),'ro',ts,ys(:,3),'k',tspan,yy(:,3),'ko',ts,ys(:,4),'g',tspan,yy(:,4),'go',ts,ys(:,5),'m',tspan,yy(:,5),'mo',ts,ys(:,5),'h',tspan,yy(:,5),'ho'),
legend('C1的计算值','C1的实验值','C2的计算值','C2的实验值','C3的计算值','C3的实验值','C4的计算值','C4的实验值','C5的计算值','C5的实验值','C6的计算值','C6的实验值','Location','best');



function f = ObjFunc(k,tspan,x0,yexp)           % 目标函数
[t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k);
Xsim1=Xsim(:,1);
Xsim2=Xsim(:,2);
Xsim3=Xsim(:,3);
Xsim4=Xsim(:,4);
Xsim5=Xsim(:,5);
Xsim6=Xsim(:,6);

ysim(:,1) = Xsim1(2:end);
ysim(:,2) = Xsim2(2:end);
ysim(:,3) = Xsim3(2:end);
ysim(:,4) = Xsim4(2:end);
ysim(:,5) = Xsim5(2:end);
ysim(:,6) = Xsim6(2:end);



f = [(ysim(:,1)-yexp(:,1)) (ysim(:,2)-yexp(:,2)) (ysim(:,3)-yexp(:,3)) (ysim(:,5)-yexp(:,5))  (ysim(:,6)-yexp(:,6)) ...
    (ysim(:,6)-yexp(:,6))];

function dCdt = KineticsEqs(t,C,k)              % ODE模型方程
C1=C(1);C2=C(2);C3=C(3);C4=C(4);
k1=k(1);k2=k(2);k3=k(3);k4=k(4);k5=k(5);k6=k(6);k7=k(7);
dC1dt = -k1*C1-k7*C1;
dC2dt = k1*C1-k2*C2-k5*C2;
dC3dt = k2*C2-k3*C3-k6*C6;
dC4dt = k3*C3-k4*C4;
dC5dt = k4*C4;
dC6dt = k5*C2+k6*C3+k7*C1;

dCdt = [dC1dt;dC2dt;dC3dt;dC4dt;dC5dt;dC6dt;];
回复此楼
简单快乐
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzlhm

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
独孤神宇: 金币+10, 鼓励交流 2021-01-11 20:05:59
如方程没有错误的话,其k值为
k1=2.9355; k2=1.318; k3=0.44525; k4=0.2476; k5=2.2315e-14; k6=2.2214e-14; k7=0.47562
C1的拟合精度R^2=0.99696
C2的拟合精度R^2=0.98746
C3的拟合精度R^2=0.74181
C4的拟合精度R^2=0.71926
C5的拟合精度R^2=0.94598
QQ:2120156492
2楼2021-01-11 19:19:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梅子炒米粉

新虫 (小有名气)

请问楼主问题解决了吗?方便交流交流吗?

发自小木虫Android客户端
3楼2021-04-24 21:45:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梅子炒米粉

新虫 (小有名气)

引用回帖:
2楼: Originally posted by hzlhm at 2021-01-11 19:19:58
如方程没有错误的话,其k值为
k1=2.9355; k2=1.318; k3=0.44525; k4=0.2476; k5=2.2315e-14; k6=2.2214e-14; k7=0.47562
C1的拟合精度R^2=0.99696
C2的拟合精度R^2=0.98746
C3的拟合精度R^2=0.74181
C4的 ...

请问前辈知道用matlab该怎么改上面的模型嘛?

发自小木虫Android客户端
4楼2021-04-24 21:48:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 自制奶酪 的主题更新
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +9 一样YWY 2026-04-01 9/450 2026-04-01 22:57 by peike
[考研] 265求调剂 +4 林深温澜 2026-04-01 6/300 2026-04-01 22:30 by 林深温澜
[考研] 求调剂0703 +5 周嘉尧 2026-03-31 8/400 2026-04-01 20:32 by ltltkkk
[考研] 0817化工学硕调剂 +11 努力上岸中! 2026-03-31 11/550 2026-04-01 20:30 by 赖春艳
[考研] 一志愿085600中科院宁波所276分求调剂 +22 材料学257求调剂 2026-03-28 23/1150 2026-04-01 19:03 by 客尔美德
[考研] 332求调剂 +8 Lyy930824@ 2026-03-29 8/400 2026-04-01 18:40 by 千钧澄玉宇啊
[考研] 一志愿北交大材料工程总分358 +7 cs0106 2026-04-01 8/400 2026-04-01 18:34 by 记事本2026
[考研] 085600,材料与化工321分调剂 +5 大馋小子 2026-03-27 7/350 2026-04-01 15:13 by oooqiao
[考研] 材料0856 英一数二 323 求调剂 +9 袁sy 2026-04-01 9/450 2026-04-01 14:30 by wangjy2002
[考研] 安徽大学专硕生物与医药专业(086000)324分,英语已过四六级,六级521,求调剂 +10 美味可乐鸡翅 2026-03-26 12/600 2026-04-01 11:17 by syh9288
[考研] 358求调剂 +3 王向阳花 2026-03-31 3/150 2026-04-01 09:56 by zzchen2000
[考研] 085900土木水利336分求调剂 +3 Zhangjiangj 2026-03-31 5/250 2026-04-01 09:14 by Zhangjiangj
[考研] 张芳铭-中国农业大学-环境工程专硕-298 +9 手机用户 2026-03-26 9/450 2026-03-31 18:09 by 544594351
[考研] 329求调剂,一志愿西北工业大学,材料工程(085601) +6 小小机灵虫 2026-03-29 12/600 2026-03-31 16:58 by 记事本2026
[考研] 289求调剂 +3 Acesczlo 2026-03-29 4/200 2026-03-31 14:48 by 热情沙漠
[考研] 福建理工大学材料学院先进合金团队招收考研调剂学生 +3 大华金商都 2026-03-30 4/200 2026-03-31 01:04 by 方英俊602
[考研] 调剂 +4 GK72 2026-03-30 4/200 2026-03-30 20:32 by dick_runner
[考研] 328求调剂 +8 嗯滴的基本都 2026-03-27 8/400 2026-03-30 17:20 by Wang200018
[考研] 312,生物学求调剂 +3 小译同学abc 2026-03-28 3/150 2026-03-28 15:32 by 落睿可思
[考研] 285求调剂 +4 AZMK 2026-03-27 7/350 2026-03-27 20:59 by AZMK
信息提示
请填处理意见