24小时热门版块排行榜    

Znn3bq.jpeg
查看: 699  |  回复: 3

zxqworld

新虫 (初入文坛)

[求助] 求大神帮忙看一下 我写的积分法 求取动力学参数的 程式 已有2人参与

function KineticsEst1_int
% 动力学参数辨识: 用积分法进行反应速率分析得到速率常数k和反应级数n
clear all
clc

global X
t =[30:30:120];
X1=[67.37 58.28 45.32 32.1];
X2=[7.88 17.88 17.45 26.43];
X3=[2.48 9.09 11.84 13.65];
X4=[1.58 0 0.94 0];
X5=[20.69 14.75 24.45 27.82];
% 非线性拟合
k0 = [0.00594 0.00391 0.00222 0.00810 0.00020 0.01071 ];
n0 =[1 1 1 1.43 1.38 1.26];
beta0=[k0; n0];
tspan = [30:120];
X0 = [67.37 7.88 2.48 1.58 20.69];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@OptObjFunc,beta0,[],[],[],tspan,X0,X);
ci = nlparci(beta,resid,jacobian);

% 拟合效果图(实验与拟合的比较)
figure(1)
[t4plot X4plot] = ode45(@KineticsEqs,[tspan],X0,[],beta);
plot(t,X(:,1),'bo',t4plot,X4plot,'k-')
legend('Exp','Model')
xlabel('时间 min')
ylabel('收率C_C, %')

% 残差关于拟合值的残差图
[t Xc] = ode45(@KineticsEqs,tspan,X0,[],k,n);
figure
plot(Xc,resid,'*')
xlabel('收率拟合值(%)')
ylabel('残差R (%)')
refline(0,0)

% 参数辨识结果
fprintf('Estimated Parameters:\n')
fprintf('\tk = %.4f ± %.4f\n',k,ci(1,2)-k)
fprintf('\tn = %.2f ± %.2f\n',n,ci(2,2)-n)

% ------------------------------------------------------------------
function f = OptObjFunc(k,n,tspan,X0,X)
tspan=[30:30:120]
[t Xc] = ode45(@KineticsEqs,tspan,X0,[],k,n);
f1 = Xc(:,1) - X(:,1);
f2 = Xc(:,2) - X(:,2);
f3 = Xc(:,3) - X(:,3);
f4 = Xc(:,4) - X(:,4);
f5 = Xc(:,5) - X(:,5);
f = f1+ f2+ f3+ f4+ f5;



% ------------------------------------------------------------------
function dXdt = KineticsEqs(t,X,k,n)
dXdt =  ...
[ ( -(k(1)+k(2)+k(3)+k(4))*X(1)^n(1)  )
   ( k(2)*X(1)^n(2))
   ( k(1)*X(1)^n(1)+k(5)*X(4)^n(5)+k(6)*X(5)^n(6) )
   ( k(3)^X(1)^n(3)-k(5)*X(4)^n(5))
   ( k(4)*X(1)^n(4)-k(6)*X(5)^n(6))
];

程序错误好多,但是不知道怎么改,尤其是 非线性拟合部分,关于矩阵beta,我是参照一本书上的一个例题写的,但是他只有一个方程,我有5个,还请各位大神帮忙看一下。。万分感谢!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
微分方程拟合你试试1stOpt,更简单好用些。
2楼2014-05-23 10:21:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zxqworld

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by dingd at 2014-05-23 10:21:25
微分方程拟合你试试1stOpt,更简单好用些。

好的 ,我试试看 。因为比较急 ,没用过 ,不知道会不会比较麻烦。感谢!
3楼2014-05-23 10:43:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

云少爷

新虫 (初入文坛)

【答案】应助回帖

楼主可以看一下实用化工计算机模拟-Matlab在化学工程中的应用,第七章讲到了你问的问题,我记得有一个跟你问题类似的程序
4楼2016-11-09 11:58:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zxqworld 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 青C资助名额大幅增加! +9 西葫芦炒鸡蛋 2026-05-13 13/650 2026-05-15 00:18 by jackeychen7922
[文学芳草园] 风把牡丹吹跑了 +4 myrtle 2026-05-12 7/350 2026-05-14 23:58 by myrtle
[教师之家] 教学课件你会给同学吗 +8 硕士研究生吗 2026-05-13 8/400 2026-05-14 22:23 by 常规沥青
[考博] 26应届毕业生考博求助 +3 wo一定上岸 2026-05-13 3/150 2026-05-14 21:47 by 明海天涯
[基金申请] 重磅!青年科学基金项目(C类)资助增幅预计超过50% +5 水和泥不是水泥 2026-05-13 7/350 2026-05-14 20:57 by 水和泥不是水泥
[有机交流] 求助2,4-二氯-5-嘧啶甲醛的合成方法 20+3 光吃不拉 2026-05-14 5/250 2026-05-14 20:15 by 一切都是空工
[高分子] 本人最近太闲了,谁有问题可以提,每天会统一回复 +8 一切都是空工 2026-05-12 19/950 2026-05-14 20:03 by 一切都是空工
[考博] 申博自荐 +4 食品的橙子 2026-05-09 6/300 2026-05-14 16:05 by great1919
[基金申请] 这年头没有找到涵评专家,还有中面上的可能吗 +7 dd921ww 2026-05-12 8/400 2026-05-14 14:22 by dd921ww
[考博] 材料类只有一篇综述能申博么 +4 乐逍遥谷 2026-05-13 4/200 2026-05-14 12:05 by zhyzzh
[基金申请] 请问大佬b0816评完了吗 +3 市民华南虎 2026-05-12 7/350 2026-05-14 07:41 by 市民华南虎
[基金申请] 精华III评审感受-评审感受-评审感受 +12 ferrarichen 2026-05-11 16/800 2026-05-14 07:33 by 2000zf36392
[论文投稿] 有带发论文的吗 +3 山楂之术 2026-05-09 3/150 2026-05-13 17:56 by Cyhcl2629
[硕博家园] 导师各种操作恶心咋办 +11 苍白的小青天 2026-05-09 13/650 2026-05-13 17:11 by 六两废铜
[论文投稿] 护理论文 晋升 +5 Taylor1990, 2026-05-08 5/250 2026-05-13 14:40 by tegsgjy20
[论文投稿] 求助大佬sci投稿哪个好中 +3 江沅188 2026-05-12 4/200 2026-05-13 14:35 by 江沅188
[考博] 西南大学考核制博士 +3 lijunjie84 2026-05-11 6/300 2026-05-12 18:09 by lijunjie84
[文学芳草园] 窗边初夏的小雨 +7 阿美_Lml888 2026-05-09 10/500 2026-05-12 15:27 by 阿美_Lml888
[考博] 现在不知道怎么办,感觉很痛苦 +4 qweww 2026-05-11 5/250 2026-05-11 20:23 by Oversize
[考博] 生物学博士 +3 17749024330 2026-05-08 6/300 2026-05-11 14:29 by 17749024330
信息提示
请填处理意见