24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 548  |  回复: 3

你的CEO

铁虫 (小有名气)

[求助] 有关反应动力学推导的matlab程序

请虫友大神帮小弟看看为啥误差这么大,小弟在此谢过了

*****程序行数较多帖子不能完全 显示,只能添加附件了,烦请大神帮看下,小弟在此谢过了!*********
回复此楼
未来为你而来!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

你的CEO

铁虫 (小有名气)

function KineticsEst1_int
% 动力学参数辨识: 用积分法进行反应速率分析得到速率常数k和反应级数n
% Analysis of kinetic rate data by using the integral method
% Reaction of the type -- rate = kCA^order
% order - reaction order
% rate -- reaction rate vector
% YA -- yield vector for reactant A
% T -- vector of reaction time
% N -- number of data points
% k- reacion rate constant

clear all
clc
format short
global Y_exp Y_sim
tspan = [0,21.065];  % t=w/F(MEOH.0),W:催化剂的质量,F(MEOH.0):甲醇的初始进料流率
k0 = [0 0 0 0];  
lb = [0 0 0 0];
ub = [+inf  +inf  +inf  +inf ];
Y0 = [0 0 0 0 ];
Y_exp =[0.2245 0.0086 0.0013 0.0038;
        0.2503 0.0082 0.0009 0.0018;
        0.267  0.0098 0.0013 0.003;
        0.2814 0.0094 0.0015 0.0012;
        ];                                              %同一空速四个不同组成配比下的反应管出口生成物的收率Y

% 使用函数lsqnonlin()进行参数估计
[k,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@ObjFunc,k0,lb,ub,optimset('TolFun',1.0000e-20),tspan,Y0,Y_exp);      
ci = nlparci(k,residual,jacobian)
%[k,resnorm,residual,exitflag,output,lambda,jacobian] = lsqnonlin(@ObjFunc4LNL,k0,lb,ub,optimset('TolFun',1.0000e-6),Y0,Y_exp);      
%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('\tThe sum of the squares is: %.1e\n\n',resnorm)
%拟合效果图(实验与拟合的比较)
%[t4plot Y4plot] = ode45(@KineticsEqs1,[tspan(1)  tspan(end)],Y0,[],k0)
%figure
%plot(tspan,Y_exp(:,1),'bo',t4plot,Y4plot(:,1),'r--');
%legend('Exp','Model')
%xlabel('空时t=w/F_A_0, h')
%ylabel('收率Y_D_M_M')
%title('拟合效果图')
%figure
%plot(tspan,Y_exp(:,2),'bo',t4plot,Y4plot(:,2),'r--');
%legend('Exp','Model')
%xlabel('空时t=w/F_A_0, h')
%ylabel('收率Y_M_F')
%title('拟合效果图')
%figure
%plot(tspan,Y_exp(:,3),'bo',t4plot,Y4plot(:,3),'r--');
%legend('Exp','Model')
%xlabel('空时t=w/F_A_0, h')
%ylabel('收率Y_F_A')
%title('拟合效果图')
%figure
%plot(tspan,Y_exp(:,4),'bo',t4plot,Y4plot(:,4),'r--');
%legend('Exp','Model')
%xlabel('空时t=w/F_A_0, h')
%ylabel('收率Y_D_M_E')
%title('拟合效果图')

function f = ObjFunc(k,tspan,Y0,Y_exp)           % 目标函数

[t,Y_sim1] = ode45(@KineticsEqs1,tspan,Y0,[],k)   
f1 = 1*(Y_sim1(end,1)-Y_exp(1,1));
f2= 10*(Y_sim1(end,2)-Y_exp(1,2));
f3= 10*(Y_sim1(end,3)-Y_exp(1,3));
f4= 10*(Y_sim1(end,4)-Y_exp(1,4));
[t,Y_sim2] = ode45(@KineticsEqs2,tspan,Y0,[],k)  
f5 = 1*(Y_sim2(end,1)-Y_exp(2,1));
f6 =10*(Y_sim2(end,2)-Y_exp(2,2));
f7 =10*(Y_sim2(end,3)-Y_exp(2,3));
f8 =10*(Y_sim2(end,4)-Y_exp(2,4));
[t,Y_sim3] = ode45(@KineticsEqs3,tspan,Y0,[],k)  
f9 = 1*(Y_sim3(end,1)-Y_exp(3,1));
f10 =10*(Y_sim3(end,2)-Y_exp(3,2));
f11 =10*(Y_sim3(end,3)-Y_exp(3,3));
f12 =10*(Y_sim3(end,4)-Y_exp(3,4));
[t,Y_sim4] = ode45(@KineticsEqs4,tspan,Y0,[],k)  
f13 = 1*(Y_sim4(end,1)-Y_exp(4,1));
f14 =10*(Y_sim4(end,2)-Y_exp(4,2));
f15 =10*(Y_sim4(end,3)-Y_exp(4,3));
f16 =10*(Y_sim4(end,4)-Y_exp(4,4));
f=[f1  f2  f3  f4;
   f5  f6  f7  f8;
   f9  f10 f11 f12;
   f13 f14 f15 f16;
   ]
% ------------------------------------------------------------------
function dYdt = KineticsEqs1(t,Y,k)
%p=[0.9 0.5 0.7 0.8 0.6];
%m=[0.6 0.4 0.5 0.3 0.25];     m:氧醇比
%n=[5.4 2 2 2.1 2];    % n:氮醇比
yMEOH1=(1+0.6)/(0.6+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+5.4);
yO21=(0.6-0.5*Y(1)-Y(2)-0.5*Y(3))/(0.6+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+5.4);
a=Y(1)

dYdt=...
[k(1)*(0.9^2)*yMEOH1^0.5*yO21^1.5;
k(2)*(0.9^2)*yMEOH1^1*yO21^1;
k(3)*(0.9^2)*yMEOH1^1*yO21^1;
k(4)*(0.9^2)*yMEOH1^1.0*yO21^1;
];

function dYdt = KineticsEqs2(t,Y,k)
%p=[0.9 0.5 0.7 0.8 0.6];
%m=[0.6 0.4 0.5 0.3 0.25];     m:氧醇比
%n=[5.4 2 2 2.1 2];    % n:氮醇比
yMEOH2=(1+0.4)/(0.6+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2);
yO22=(0.4-0.5*Y(1)-Y(2)-0.5*Y(3))/(0.4+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2);
dYdt=...
[k(1)*(0.5^2)*yMEOH2^0.5*yO22^1.5;
k(2)*(0.5^2)*yMEOH2^1*yO22^1;
k(3)*(0.5^2)*yMEOH2^1*yO22^1;
k(4)*(0.5^2)*yMEOH2^1.0*yO22^1;
];

function dYdt = KineticsEqs3(t,Y,k)
%p=[0.9 0.5 0.7 0.8 0.6];
%m=[0.6 0.4 0.5 0.3 0.25];     m:氧醇比
%n=[5.4 2 2 2.1 2];    % n:氮醇比
yMEOH3=(1+0.5)/(0.6+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2);
yO23=(0.5-0.5*Y(1)-Y(2)-0.5*Y(3))/(0.5+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2);
dYdt=...
[k(1)*(0.7^2)*yMEOH3^0.5*yO23^1.5;
k(2)*(0.7^2)*yMEOH3^1*yO23^1;
k(3)*(0.7^2)*yMEOH3^1*yO23^1;
k(4)*(0.7^2)*yMEOH3^1.0*yO23^1;
];

function dYdt = KineticsEqs4(t,Y,k)
%p=[0.9 0.5 0.7 0.8 0.6];
%m=[0.6 0.4 0.5 0.3 0.25];     m:氧醇比
%n=[5.4 2 2 2.1 2];    % n:氮醇比
yMEOH4=(1+0.8)/(0.6+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2.1);
yO24=(0.3-0.5*Y(1)-Y(2)-0.5*Y(3))/(0.3+2.5*Y(1)+2*Y(2)+1.5*Y(3)+2*Y(4)+2.1);
dYdt=...
[k(1)*(0.8^2)*yMEOH4^0.5*yO24^1.5;
k(2)*(0.8^2)*yMEOH4^1*yO24^1;
k(3)*(0.8^2)*yMEOH4^1*yO24^1;
k(4)*(0.8^2)*yMEOH4^1.0*yO24^1;
];
未来为你而来!
2楼2015-09-08 10:43:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

你的CEO

铁虫 (小有名气)

结果:f =
   -0.0066   -0.0231   -0.0040   -0.0217
   -0.0716   -0.0243   -0.0007   -0.0031
    0.0810    0.0129    0.0029   -0.0013
   -0.0387    0.0143    0.0005    0.0160
第一列的结果误差达到30%,偏大了
未来为你而来!
3楼2015-09-08 10:45:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

你的CEO

铁虫 (小有名气)

4楼2015-09-11 07:55:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 你的CEO 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 295材料工程专硕求调剂 +10 1428151015 2026-03-27 10/500 2026-03-30 19:00 by 源_2020
[考研] 292求调剂 +13 是妍子也是研子 2026-03-30 13/650 2026-03-30 18:01 by 小徐0109
[考研] 310求调剂 +10 争取九点睡 2026-03-30 10/500 2026-03-30 16:45 by ztnimte
[考研] 求调剂323材料与化工 +10 1124361 2026-03-24 10/500 2026-03-30 16:26 by 690616278
[考研] 284求调剂 +14 junqihahaha 2026-03-26 15/750 2026-03-30 14:12 by 探123
[考研] 318求调剂 +7 陈晨79 2026-03-30 7/350 2026-03-30 10:49 by 探123
[考研] 一志愿河北工业大学0817化工278分求调剂 +14 jhybd 2026-03-23 19/950 2026-03-30 10:34 by vgtyfty
[考研] 一志愿北京工业大学,324分求调剂 +6 零八# 2026-03-28 6/300 2026-03-29 21:20 by nanaliuyun
[考研] 343求调剂085601 +3 要努力学习x 2026-03-29 3/150 2026-03-29 18:35 by wxiongid
[考研] 环境工程 085701,267求调剂 +6 minht 2026-03-29 6/300 2026-03-29 16:21 by 学员8dgXkO
[考研] 一志愿厦门大学化学学硕307求调剂 +10 y7czhao 2026-03-26 10/500 2026-03-28 14:23 by 唐沐儿
[考研] 药学105500求调剂 +3 Ssun。。 2026-03-28 3/150 2026-03-28 11:24 by lxf170613
[考研] 求调剂推荐 材料 304 +15 荷包蛋hyj 2026-03-26 15/750 2026-03-28 04:13 by fmesaito
[考研] 315分求调剂 +7 26考研上岸版26 2026-03-26 7/350 2026-03-28 04:05 by fmesaito
[考研] 化学调剂 +4 爱吃番茄的旭 2026-03-24 5/250 2026-03-27 17:50 by kiokin
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[考研] 一志愿吉大071010,316分求调剂 +3 xgbiknn 2026-03-27 3/150 2026-03-27 10:36 by guoweigw
[考研] 0703化学338求调剂! +6 Zuhui0306 2026-03-26 7/350 2026-03-27 10:35 by shangxh
[考研] 调剂 +4 13853210211 2026-03-24 4/200 2026-03-24 19:44 by ms629
[考研] 材料专硕找调剂 +5 哈哈哈吼吼吼哈 2026-03-23 5/250 2026-03-24 19:07 by 了了了了。。
信息提示
请填处理意见