| 5 | 1/1 | 返回列表 |
| 查看: 1196 | 回復: 4 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
自制奶酪銅蟲 (小有名氣)
|
[求助]
用matlab求動力學參數(shù) 已有2人參與
|
|
|
我不知道MATLAB怎么輸入求動力學函數(shù)的方程,抄了木蟲大佬的內容,請大家?guī)臀野阉侥苓\行出來,動力學參數(shù)擬合問題,求助大家~~~ function odes_fit format long clear all clc k0=[0 0 0 0 0 0 0 0];%參數(shù)初值 lb=[0 0 0 0 0 0 0 0];ub=[+inf +inf +inf +inf +inf +inf +inf +inf];%lb、ub:參數(shù)下限和上限 x0=[0 0 0 0 0]; data=... [0.5 1 1.5 2 3 4 5 6 18.7 6.5 2.7 2.1 1.7 1.5 1.2 0.2; 48.9 31.3 15.3 6.9 2.2 1.8 1.7 0.5; 19.3 34.7 41.2 40.9 37.2 31.7 26.1 19.4; 9.7 19.6 28.7 34.5 38.4 38.2 36.3 33.4; 0.2 2.6 5.7 9.3 17.1 24.8 30.5 36.7; ]; 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) data(2:end,8)]; %使用函數(shù)fmincon()進行參數(shù)估計 [k,fval,flag]=fmincon(@ObjFunc4Fmincon,k0,[],[],[],[],lb,ub,[],[],x0,yexp); fprintf('\n\n使用函數(shù)lsqnonlin()估計得到的參數(shù)值為:\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('\tk6 = %.9f \n',k(6)) fprintf('The sum of the squares is:%.le\n\n',fval) k_fmincon=k; %使用函數(shù)lsqnonlin()進行參數(shù)估計 [k,resnorm,residual,exitflag,output,lambda,jacobian]=... lsqnonlin(@ObjFunc4LNL,k0,lb,ub,[],x0,yexp); ci=nlparci(k,residual,jacobian); fprintf('\n\n使用函數(shù)lsqnonlin()估計得到的參數(shù)值:\n'),output %以函數(shù)fmincon()估計得到的結果為初值,使用函數(shù)lsqnonlin()進行參數(shù)估計 k0=k_fmincon; [k,resnorm,residual,exitflag,output,lambda,jacobian]=lsqnonlin(@ObjFunc4LNL,k0,lb,ub,[],x0,yexp); ci=nlparci(k,residual,jacobian); fprintf('\n\n以fmincon()的結果為初值,使用函數(shù)lsqnonlin()估計得到的參數(shù)值:\n') output 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)]; 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),'ko'); figure(5) plot(ts,ys(:,4),'g',tspan,yy(:,4),'ko'); figure(6) plot(ts,ys(:,6),'m',tspan,yy(:,6),'mo'); %legend('C1的計算值','C1的實驗值','C2的計算值','C2的實驗值','C3的計算值','C3的實驗值','C4的計算值','C4的實驗值','C5的計算值','C5的實驗值','C6的計算值','Location','best'); function f = ObjFunc(k,tspan,x0,yexp) % 目標函數(shù) [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))]; function dCdt = KineticsEqs(t,C,k) % ODE模型方程 C1=C(1);C2=C(2);C3=C(3);C4=C(4);C5=C(5);C6=C(6); 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*C3; dC4dt = k3*C3-k4*C5; dC5dt = k4*C5; dC6dt = k5*C2+k6*C3+k7*C1; dCdt = [dC1dt;dC2dt;dC3dt;dC4dt;dC5dt;dC6dt]; @beefly |

銅蟲 (小有名氣)

版主 (知名作家)

鐵桿木蟲 (職業(yè)作家)
|
參考下1stOpt的計算結果: Weighted Root of Mean Square Error (RMSE): 3.52215359203778 Weighted Sum of Squared Residual: 434.194807406662 Correlation Coef. (R): 0.967264353331916 R-Square: 0.935600329226609 Determination Coef. (DC): 0.698480780131114 F-Statistic: -0.866225958773538 Parameter Best Estimate -------------------- ------------- k1 1.18206935637483 k2 1.23804230026633 k3 0.392064236557302 k4 0.237399839174299 k5 2.4090372987211E-18 k6 1.44475738382174E-24 k7 0.719127412563461 f Initial Value 19.2237430015159 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[文學芳草園] 伙伴們,祝我生日快樂吧 +3 | myrtle 2026-03-10 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 308求調劑 +3 | 是Lupa啊 2026-03-11 | 3/150 |
|
|
[考研] 0857 資源與環(huán)境 285分 +5 | 未名考生 2026-03-09 | 5/250 |
|
|
[考研] 大連大學化學專業(yè)研究生調劑 +3 | 琪久. 2026-03-10 | 8/400 |
|
|
[考研] 085600 材料與化工 295 求調劑 +9 | dream…… 2026-03-10 | 9/450 |
|
|
[考研] 313分生物學求調劑 +5 | Yyt楊1 2026-03-09 | 7/350 |
|
|
[考研] 0856材料與化工353分求調劑 +11 | NIFFFfff 2026-03-09 | 11/550 |
|
|
[考研] 一志愿天大化工(085600)調劑總分338 +5 | 蔡大美女 2026-03-09 | 5/250 |
|
|
[考研] 0817化學工程319求調劑 +7 | lv945 2026-03-08 | 9/450 |
|
|
[考研] 復試調劑 +6 | 呼呼?~+123456 2026-03-08 | 8/400 |
|
|
[考研] 320求調劑 +4 | 魏zy 2026-03-08 | 4/200 |
|
|
[考研] 【求調劑】293分環(huán)境工程求調劑材料/化工,服從調劑,抗壓能力強! +13 | xiiiia 2026-03-04 | 14/700 |
|
|
[考研] 0703化學求調劑 +4 | 很老實人 2026-03-09 | 4/200 |
|
|
[考研] 一志愿211 材料與化工 280求調劑 +3 | Sanity蔣 2026-03-08 | 3/150 |
|
|
[考研] 0856材料與化工290求調劑 +7 | Nebulala 2026-03-08 | 8/400 |
|
|
[考研] 考研求調劑,工科,總分304 +4 | 矮子不想長高了 2026-03-08 | 7/350 |
|
|
[考研] 085701環(huán)境工程317分求調劑 +9 | 6汆尼9 2026-03-07 | 9/450 |
|
|
[考研] 085701環(huán)境工程專業(yè),初試305,均過國家A區(qū)線 +7 | 卡卡來了@ 2026-03-07 | 8/400 |
|
|
[考研] 材料化工求調劑 +7 | 博斯特525 2026-03-06 | 8/400 |
|
|
[考研] 材料與化工304求調劑 +7 | 邱gl 2026-03-05 | 10/500 |
|