| 1 | 1/1 | 返回列表 |
| 查看: 469 | 回復: 0 | ||
[求助]
用matlab求動力學參數(shù)有錯誤,求指導
|
|
程序是: tspan = [78.666667 59.000000 47.200000 39.333333 33.714286 29.500000 ]; x0=[0; 0; 0 ]; k0 = [0 0 0 0 0 0 0 0 0];%速率常數(shù),平衡常數(shù)初值 lb = [0 0 0 0 0 0 0 0 0]; ub = [+inf +inf +inf +inf +inf +inf +inf +inf +inf]; data=... [ 78.666667 0.957100 0.797360 0.162324 70 2.5 59.000000 0.859400 0.792711 0.083877 70 2.5 47.200000 0.833500 0.764903 0.068597 70 2.5 39.333333 0.757000 0.709688 0.047313 50 1.5 33.714286 0.739600 0.699588 0.040012 50 1.5 29.500000 0.721000 0.686608 0.034392 50 1.5 ]; yexp=data(:,2:4);%取矩陣2-6列數(shù)據(jù) % 使用函數(shù)lsqnonlin()進行參數(shù)估計 [k,resnorm,residual,exitflag,output,lambda,jacobian] = ... lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp); ci = nlparci(k,residual,jacobian); fprintf('\n\n使用函數(shù)lsqnonlin()估計得到的參數(shù)值為:\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('\tk5 = %.4f ± %.4f\n',k(5),ci(5,2)-k(5)) fprintf('\tk6 = %.4f ± %.4f\n',k(6),ci(6,2)-k(6)) fprintf('\tk7 = %.4f ± %.4f\n',k(7),ci(7,2)-k(7)) fprintf('\tk8 = %.4f ± %.4f\n',k(8),ci(8,2)-k(8)) fprintf('\tk9 = %.4f ± %.4f\n',k(9),ci(9,2)-k(9)) fprintf(' The sum of the squares is: %.1e\n\n',resnorm) function f = ObjFunc(k,tspan,x0,yexp) % 目標函數(shù) [t Xsim] = ode45(@KineticsEqs,tspan,x0,[],k); ysim(:,1) = Xsim(2:end,1); ysim(:,2) = Xsim(2:end,2); ysim(:,3) = Xsim(2:end,3); f =(sum((ysim(:,1)-yexp(:,1))^2)+sum((ysim(:,2)-yexp(:,2))^2) +sum((ysim(:,3)-yexp(:,3))^2))/72; function dCdt = KineticsEqs(t,C,k) % ODE模型方程,t為空時,C轉化率、收率 P1=((1/(C(5)+1))*(1-C(2))*C(6))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4))); P2=((C(5)/(C(5)+1))-2*(1/(C(5)+1)*C(3)-4*(1/(C(5)+1)*C(4)/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4))); P3=((1/(C(5)+1)*C(3))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4))); P4=((1/(C(5)+1)*C(4))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4))); P5=(((1/(C(5)+1)*C(3))+2*((1/(C(5)+1)*C(4)))/(1-((1/(C(5)+1))*C(2))-((1/(C(5)+1))*C(4))); % k(1) = Kdmo,k(1)=Kh;k(3)=Kmg;k(4)=Keg,k(5)=Kme; k(6)=k1,k(7)=k2, k(8)=Kp1,k(9)=Kp2, %P(1)=Pdmo,P(2)=Ph,P3=Pmg,P4=Peg,P5=Pme; theB = 1+k(4)*P4+k5*P5+((k(1)*P3*P5*P5)/(k(8)*(P2^3)); theC =k(7)*(P3-(P3*P5)/(k(9)*(P2^2)); r1 = theA/theB; r2 = theC/theB; dCAdt = - r1; dCBdt = r1 - r2 ; dCdt = [dCAdt; dCBdt]; ??? Error using ==> feval Undefined function or method 'ObjFunc' for input arguments of type 'double'. Error in ==> lsqnonlin at 203 initVals.F = feval(funfcn{3},xCurrent,varargin{:}); Caused by: Failure in initial user-supplied objective function evaluation. LSQNONLIN cannot continue. 求大神修正代碼。〔粍俑屑ぃ |

找到一些相關的精華帖子,希望有用哦~
| 1 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 求材料,環(huán)境專業(yè)調劑 +3 | 18567500178 2026-03-18 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 341求調劑(一志愿湖南大學070300) +5 | 番茄頭--- 2026-03-22 | 6/300 |
|
|
[考研] 一志愿華東理工大學081700,初試分數(shù)271 +4 | kotoko_ik 2026-03-23 | 5/250 |
|
|
[考研] 0703化學求調劑 +4 | 奶油草莓. 2026-03-22 | 5/250 |
|
|
[考研] 336求調劑 +4 | 收到VS 2026-03-20 | 4/200 |
|
|
[考研] 一志愿上海交大生物與醫(yī)藥專碩324分,求調劑 +5 | jiajunX 2026-03-22 | 5/250 |
|
|
[考研] 307求調劑 +3 | 余意卿 2026-03-21 | 3/150 |
|
|
[考研] 323求調劑 +6 | 洼小桶 2026-03-18 | 6/300 |
|
|
[考研] 293求調劑 +3 | 濤濤Wjt 2026-03-22 | 5/250 |
|
|
[考研] 308求調劑 +3 | 墨墨漠 2026-03-21 | 3/150 |
|
|
[考研] 306求調劑 +5 | 來好運來來來 2026-03-22 | 5/250 |
|
|
[考研] 資源與環(huán)境 調劑申請(333分) +5 | holy J 2026-03-21 | 5/250 |
|
|
[考研] 一志愿南大,0703化學,分數(shù)336,求調劑 +3 | 收到VS 2026-03-21 | 3/150 |
|
|
[考研] 313求調劑 +4 | 肆叁貳壹22 2026-03-19 | 4/200 |
|
|
[考研] 266求調劑 +3 | 哇呼哼呼哼 2026-03-20 | 3/150 |
|
|
[考研] 279求調劑 +5 | 紅衣隱官 2026-03-21 | 5/250 |
|
|
[考研] 299求調劑 +6 | △小透明* 2026-03-17 | 6/300 |
|
|
[考研] 086500 325 求調劑 +3 | 領帶小熊 2026-03-19 | 3/150 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[碩博家園] 湖北工業(yè)大學 生命科學與健康學院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|