24小时热门版块排行榜    

查看: 653  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

你的CEO

铁虫 (小有名气)

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

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

*****程序行数较多帖子不能完全 显示,只能添加附件了,烦请大神帮看下,小弟在此谢过了!*********
回复此楼
未来为你而来!
已阅   回复此楼   关注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的回帖
查看全部 4 个回答

你的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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:39 by 9i7PCSZyMzot
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:27 by 9i7PCSZyMzot
[硕博家园] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:27 by 9i7PCSZyMzot
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:15 by 9i7PCSZyMzot
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:15 by 9i7PCSZyMzot
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 01:03 by 9i7PCSZyMzot
[论文投稿] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 E4V9bALS54sj 2026-09-19 3/150 2026-09-20 00:51 by 9i7PCSZyMzot
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 3/150 2026-09-20 00:15 by 9i7PCSZyMzot
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 4pRyVGCVerAA 2026-09-19 3/150 2026-09-20 00:03 by 9i7PCSZyMzot
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:51 by 9i7PCSZyMzot
[基金申请] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:39 by 9i7PCSZyMzot
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:27 by 9i7PCSZyMzot
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:27 by 9i7PCSZyMzot
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 4pRyVGCVerAA 2026-09-19 4/200 2026-09-19 23:03 by 9i7PCSZyMzot
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 4pRyVGCVerAA 2026-09-18 7/350 2026-09-19 21:03 by 9i7PCSZyMzot
[教师之家] 现代”学阀”该如何界定 +3 iaeyuan 2026-09-19 3/150 2026-09-19 20:52 by 没昵称呀
[基金申请] 国社科系统bug了,是不是要放榜了? +7 kynobel 2026-09-16 9/450 2026-09-19 14:52 by 接好运婷
[考博] 申博发邮件 +8 Lmengk 2026-09-15 9/450 2026-09-19 09:27 by 中间体超市
[有机交流] 各位大神,目前国内有哪些比较好用的逆合成软件? 20+3 zapen 2026-09-15 9/450 2026-09-18 18:17 by zapen
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +8 两三岁ss 2026-09-14 8/400 2026-09-16 09:46 by 水士口
信息提示
请填处理意见