24小时热门版块排行榜    

Znn3bq.jpeg
查看: 543  |  回复: 0

2011207156

金虫 (小有名气)

[求助] matlab拟合动力学参数,非常谢谢~

function butongshike201506171
clear all;clc
format long
tspan=(0:10:390);
yexp=[0.046125761496241
   0.078139373146412
   0.117158327134899
   0.159846402230616
   0.199412869433285
   0.231111460229405
   0.259814231746068
   0.282697037233637
   0.306493661349134
   0.326396561089024
   0.345295684999190
   0.360444423309371
   0.377418750129898
   0.395250807577438
   0.414965633800510
   0.430017989495138
   0.445923212579888
   0.457995753035510
   0.469186259425871
   0.480284344291621
   0.491524402631167
   0.501658351934599
   0.510935126510884
   0.520202070112304
   0.531309455870521
   0.537782255717000
   0.547944130180314
   0.558094213007469
   0.565468701311900
   0.573757577102420
   0.581007002009939
   0.589392949772071
   0.597541754780127
   0.607751809867969
   0.613129267171725
   0.620580135887054
   0.626072239599544
   0.632475341850705
   0.638742438783615];
beta0=[67971 0.000839];
y0=0;
lb=[-1 -1]*1e6;
ub=[1e9 1e9];   
yy=[0 yexp'];
k0=beta0;
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,y0,yexp);
fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')
fprintf('\t待拟合参数 k1 = %.6f\n',k(1))
fprintf('\t待拟合参数 k2= %.6f\n',k(2))
fprintf('  残差平方和= %.6f\n\n',resnorm)
ts=0:10:max(tspan);
[ts ys]=ode45(@KineticsEqs,ts,y0,[],k)
[ttt XXsim] = ode45(@KineticsEqs,tspan,y0,[],k);
y=XXsim(2:end);
xexp=yexp;
R2=1-sum((xexp-y).^2)./sum((xexp-mean(y)).^2);
fprintf('\n\t决定系数R-Square = %.6f',R2);
figure(1)
plot(ts,ys,'b',tspan,yy,'or'),legend('计算值','实验值','Location','best');
xlabel('x'),ylabel('y')


%---------------------------------------------------------
function f = ObjFunc(k,tspan,y0,yexp)           % 目标函数
[t Xsim] = ode45(@KineticsEqs,tspan,y0,[],k) ;
ysim = Xsim(2:end);
size(ysim);
size(yexp);
f=ysim-yexp;
%----------------------------------------------------------

function dydt = KineticsEqs(t,y,k)
beta(1)=k(1);
beta(2)=k(2);
tspan=(0:10:390);
h=0.068031;
p=[3.472000000000000
   3.519000000000000
   3.548000000000000
   3.589000000000000
   3.634000000000000
   3.676000000000000
   3.710000000000000
   3.740000000000000
   3.765000000000000
   3.789000000000000
   3.811000000000000
   3.832000000000000
   3.847000000000000
   3.865000000000000
   3.885000000000000
   3.906000000000000
   3.921000000000000
   3.938000000000000
   3.952000000000000
   3.964000000000000
   3.977000000000000
   3.988000000000000
   4.000000000000000
   4.010000000000000
   4.020000000000000
   4.032000000000000
   4.039000000000000
   4.050000000000000
   4.061000000000000
   4.069000000000000
   4.078000000000000
   4.087000000000000
   4.095000000000000
   4.105000000000000
   4.115000000000000
   4.122000000000000
   4.129000000000000
   4.135000000000000
   4.142000000000000
   4.150000000000000]';
D=p*h;
sp=csaps(tspan,D,1);
pp=fnder(sp);
dD=fnval(pp,tspan);
dydt= (83.38-0.0014*exp(1600*(1/277.55-1/298.15))...
*interp1(tspan,p,t,'pchip')*10000-1/beta(2)...
*interp1(tspan,D,t,'pchip')*4.229*(0.0598...
-(y*0.0150*(54.2+17.68)+(0.236204-interp1(tspan,D,t,'pchip'))...
*0.0598*4.229)/(45.07-interp1(tspan,D,t,'pchip')*4.229))...
*interp1(tspan,dD,t,'pchip')/(-45.07+interp1(tspan,D,t,'pchip')...
*4.229)/0.0150-(0.0598-(y*0.0150*(54.2+17.68)+(0.236204-...
interp1(tspan,D,t,'pchip'))*0.0598*4.229)/...
(45.07-interp1(tspan,D,t,'pchip')*4.229))*...
interp1(tspan,dD,t,'pchip')/0.0150/beta(1))/...
(1/beta(1)+1/beta(2)-1/beta(2)*interp1(tspan,D,t,'pchip')...
*71.88/(-45.07+4.229*interp1(tspan,D,t,'pchip')));
以上是求动力学参数beta(1)和beta(2)的代码,p,D,和dD是随时间变化的已知量,不知以上程序运行时interp1(tspan,D,t,'pchip')能否对应上不同时刻的D。非常谢谢。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 2011207156 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工300求调剂 +38 肖开文 2026-04-09 42/2100 2026-04-11 21:40 by cfdbai
[考研] 一志愿211,0703化学305分求调剂 +25 严西西戏 2026-04-06 32/1600 2026-04-11 21:20 by zhouxiaoyu
[考研] 还有化工二轮调剂的学校吗 5+14 化工人999 2026-04-09 48/2400 2026-04-11 10:27 by 89436494
[考研] 广东省 085601 329分求调剂 +14 Eddieddd 2026-04-10 14/700 2026-04-11 09:58 by bljnqdcc
[考研] 22408调剂求助 +7 毂12 2026-04-09 9/450 2026-04-11 09:23 by 哦哦123
[考研] 考研调剂 +26 硕星赴 2026-04-09 27/1350 2026-04-10 22:24 by 猪会飞
[考研] 一志愿华东师范生物学326分,求调剂 +8 刘墨墨 2026-04-09 8/400 2026-04-10 12:00 by pengliang8036
[考研] 调剂申请086000一志愿西北农林科技大学生物与医药320分-本科齐鲁工业大学 +3 美美女士 2026-04-09 3/150 2026-04-10 10:31 by liuhuiying09
[考研] 292求调剂 +9 笑笑袁 2026-04-09 9/450 2026-04-10 10:05 by LHGeng
[考研] 求调剂 +15 张zic 2026-04-05 16/800 2026-04-10 08:12 by kangsm
[考研] 材料化工总分334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 20:19 by maddjdld
[考研] 求机械专硕297第二批调剂 +5 拾柒12。 2026-04-08 5/250 2026-04-09 16:43 by 允当适度
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
[考研] 338求调剂 +5 小猪红色 678 2026-04-06 6/300 2026-04-07 21:18 by 乔哒哒哒
[考研] 277求调剂 数一104分 +9 瓶子PZ 2026-04-05 14/700 2026-04-07 17:52 by 蓝云思雨
[考研] 328求调剂 +4 ghhh88888 2026-04-06 5/250 2026-04-07 14:45 by ghhh88888
[考研] 304求调剂 +4 luoye0105 2026-04-05 4/200 2026-04-06 21:05 by 木子君1218
[考研] 求助 +3 卡卡东88 2026-04-06 4/200 2026-04-06 15:28 by going home
[考研] 341求调剂 +3 学无止境,冲 2026-04-05 3/150 2026-04-05 09:40 by lbsjt
[考研] 男生,一志愿沪9生物学071000,初试308求调剂 +3 刘墨墨 2026-04-04 3/150 2026-04-05 08:26 by barlinike
信息提示
请填处理意见