| 5 | 1/1 | 返回列表 |
| 查看: 1190 | 回復(fù): 4 | ||
自制奶酪銅蟲(chóng) (小有名氣)
|
[求助]
用matlab求動(dòng)力學(xué)參數(shù) 已有2人參與
|
|
我不知道MATLAB怎么輸入求動(dòng)力學(xué)函數(shù)的方程,抄了木蟲(chóng)大佬的內(nèi)容,請(qǐng)大家?guī)臀野阉侥苓\(yùn)行出來(lái),動(dòng)力學(xué)參數(shù)擬合問(wèn)題,求助大家~~~ 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()進(jìn)行參數(shù)估計(jì) [k,fval,flag]=fmincon(@ObjFunc4Fmincon,k0,[],[],[],[],lb,ub,[],[],x0,yexp); fprintf('\n\n使用函數(shù)lsqnonlin()估計(jì)得到的參數(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()進(jìn)行參數(shù)估計(jì) [k,resnorm,residual,exitflag,output,lambda,jacobian]=... lsqnonlin(@ObjFunc4LNL,k0,lb,ub,[],x0,yexp); ci=nlparci(k,residual,jacobian); fprintf('\n\n使用函數(shù)lsqnonlin()估計(jì)得到的參數(shù)值:\n'),output %以函數(shù)fmincon()估計(jì)得到的結(jié)果為初值,使用函數(shù)lsqnonlin()進(jìn)行參數(shù)估計(jì) 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()的結(jié)果為初值,使用函數(shù)lsqnonlin()估計(jì)得到的參數(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的計(jì)算值','C1的實(shí)驗(yàn)值','C2的計(jì)算值','C2的實(shí)驗(yàn)值','C3的計(jì)算值','C3的實(shí)驗(yàn)值','C4的計(jì)算值','C4的實(shí)驗(yàn)值','C5的計(jì)算值','C5的實(shí)驗(yàn)值','C6的計(jì)算值','Location','best'); function f = ObjFunc(k,tspan,x0,yexp) % 目標(biāo)函數(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 |

版主 (知名作家)

銅蟲(chóng) (小有名氣)

鐵桿木蟲(chóng) (職業(yè)作家)
|
參考下1stOpt的計(jì)算結(jié)果: 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 |
新蟲(chóng) (初入文壇)
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] A區(qū)一本交叉課題組,低分調(diào)劑,招收機(jī)械電子信息通信等交叉方向 +35 | lisimayy 2026-03-04 | 48/2400 |
|
|---|---|---|---|---|
|
[考研] 286求調(diào)劑 +9 | Faune 2026-03-06 | 10/500 |
|
|
[考研] 08工科求調(diào)劑 +3 | 隆LLL 2026-03-06 | 4/200 |
|
|
[考研] 材料與化工304求調(diào)劑 +7 | 邱gl 2026-03-05 | 10/500 |
|
|
[考研] 334求調(diào)劑 +6 | Trying] 2026-03-05 | 8/400 |
|
|
[考研] 274求調(diào)劑 +9 | 一個(gè)學(xué)習(xí)者 2026-03-04 | 9/450 |
|
|
[考研] 材料085601一志愿哈工大317 +4 | 壓迫感行 2026-03-04 | 4/200 |
|
|
[考研] 材料與化工,291,求調(diào)劑 +7 | 咕嚕咕嚕123123 2026-03-05 | 8/400 |
|
|
[考研] 求調(diào)劑,學(xué)校研究所都可以,材料與化工267分 +6 | wmx1 2026-03-05 | 6/300 |
|
|
[考研] 274環(huán)境工程求調(diào)劑 +6 | 扶柳盈江 2026-03-05 | 6/300 |
|
|
[考研] 320材料一志愿西工大專碩英二數(shù)二 有兩年光伏工作經(jīng)驗(yàn) +5 | 錘某人 2026-03-04 | 8/400 |
|
|
[考研] 求調(diào)劑院校 +6 | 云朵452 2026-03-02 | 12/600 |
|
|
[考研] 武理材料工程302調(diào)劑 +3 | Doleres 2026-03-03 | 6/300 |
|
|
[考研] 293求調(diào)劑 +4 | 是樂(lè)渝哇 2026-03-03 | 4/200 |
|
|
[考研] 268求調(diào)劑 +10 | 簡(jiǎn)單點(diǎn)0 2026-03-02 | 14/700 |
|
|
[考研] 267求調(diào)劑 +6 | 釣魚(yú)佬as 2026-03-02 | 6/300 |
|
|
[考研] 268求調(diào)劑 +6 | 好運(yùn)連綿不絕 2026-03-02 | 6/300 |
|
|
[考研] 化工335求調(diào)劑 +5 | 摸摸貓貓頭 2026-03-02 | 5/250 |
|
|
[考研] 清華大學(xué) 材料與化工 353分求調(diào)劑 +5 | awaystay 2026-03-02 | 6/300 |
|
|
[考研] 279求調(diào)劑 +3 | dua1 2026-03-01 | 4/200 |
|