| 查看: 1888 | 回復(fù): 12 | ||
我無(wú)恥又無(wú)賴木蟲(chóng) (著名寫(xiě)手)
|
[求助]
matlab全局優(yōu)化參數(shù) 已有2人參與
|
小弟在用matlab優(yōu)化參數(shù)的時(shí)候遇到了一個(gè)問(wèn)題,我用的是fmincon函數(shù),但是因?yàn)檫x不到合適的初值所以得到的結(jié)果不是很滿意,所以想著用全局優(yōu)化的算法來(lái)試一下,奈何不太會(huì),希望論壇里的大佬們看一下能不能解決這個(gè)問(wèn)題。我直接把程序復(fù)制到下面了![]() clear all clc data=[288.05 0.000257 0.3003 293.05 0.000274 0.3003 298.2 0.000281 0.3003 303.25 0.000294 0.3003 308.15 0.000305 0.3003 313.25 0.000326 0.3003 318.2 0.000345 0.3003 323.15 0.00039 0.3003 288.05 0.000493 0.3995 293.05 0.00051 0.3995 298.2 0.000532 0.3995 303.25 0.000562 0.3995 308.15 0.00061 0.3995 313.25 0.000641 0.3995 318.2 0.000698 0.3995 323.15 0.000845 0.3995 288.05 0.000877 0.501 293.05 0.00092 0.501 298.2 0.00099 0.501 303.25 0.00115 0.501 308.15 0.00127 0.501 313.25 0.00139 0.501 318.2 0.00157 0.501 323.15 0.00189 0.501 288.05 0.0016 0.5998 293.05 0.00172 0.5998 298.2 0.00196 0.5998 303.25 0.00232 0.5998 308.15 0.00252 0.5998 313.25 0.00281 0.5998 318.2 0.0032 0.5998 323.15 0.00358 0.5998 288.05 0.00293 0.7009 293.05 0.00309 0.7009 298.2 0.00357 0.7009 303.25 0.00424 0.7009 308.15 0.00474 0.7009 313.25 0.00535 0.7009 318.2 0.00611 0.7009 323.15 0.00711 0.7009 288.05 0.0048 0.8003 293.05 0.00548 0.8003 298.2 0.00638 0.8003 303.25 0.0078 0.8003 308.15 0.00863 0.8003 313.25 0.00988 0.8003 318.2 0.0112 0.8003 323.15 0.0128 0.8003 288.05 0.0103 0.8999 293.05 0.0112 0.8999 298.2 0.0121 0.8999 303.25 0.014 0.8999 308.15 0.0152 0.8999 313.25 0.0173 0.8999 318.2 0.0193 0.8999 323.15 0.022 0.8999]; T=data(:,1); xexp=data(:,2); w=data(:,3); deltaH=46266;%熔融焓 R=8.314; Tm=532.34;%熔點(diǎn) yexp=exp((deltaH./(R.*T)).*(T./Tm-1)-log(xexp)); n=size(T,1); k0=[-3125.70317518255,-2378.98766584565,5092.47952427953,-718.563001024490,-1495.43799248924,-1965.61341412590,0.899991420305235,0.100010845691102,0.219058309329965]; lb=[-inf -inf -inf -inf -inf -inf 0.1 0.1 0.1]; ub=[inf inf inf inf inf inf 0.9 0.9 0.9]; [k,fval,flag] = fmincon(@myfun,k0,[],[],[],[],lb,ub,[],[],xexp,yexp,T,w,n,R); display(fval); display(k); function f = myfun(k,xexp,yexp,T,w,n,R) %a12=k(1) %a21=k(2) %b12=k(3) %b21=k(4) %c12=k(5) %c21=k(6) %o=k(7) %p=k(8) %q=k(9) tao12=k(1)./(R*T); tao21=k(2)./(R*T); tao13=k(3)./(R*T); tao31=k(4)./(R*T); tao23=k(5)./(R*T); tao32=k(6)./(R*T); G12=exp(-k(7).*tao12); G21=exp(-k(7).*tao21); G23=exp(-k(8).*tao23); G32=exp(-k(8).*tao32); G13=exp(-k(9).*tao13); G31=exp(-k(9).*tao31); x2=(1-xexp).*w; x3=(1-xexp).*(1-w); temp1=x2.*G21+x3.*G32; temp2=tao21.*G21.*x2+tao31.*G31.*x3; temp3=(xexp+x2.*G21+x3.*G31).^2; temp4=tao12.*G12.*(x2.^2); temp5=G12.*G32.*x2.*x3.*(tao12-tao32); temp6=(x2+xexp.*G12+x3.*G32).^2; temp7=tao13.*G13.*(x3.^2); temp8=G13.*G23.*x2.*x3.*(tao13-tao23); temp9=(x3+x2.*G23+xexp.*G13).^2; lngamma1=((temp1.*temp2)./temp3)+((temp4+temp5)./temp6)+((temp7+temp8)./temp9); ycal=exp(lngamma1); f=100*sum(abs((yexp-ycal)./(yexp)))./n; end |
鐵桿木蟲(chóng) (職業(yè)作家)
至尊木蟲(chóng) (著名寫(xiě)手)
|
控制誤差的表達(dá)式, f=100*sum(abs((yexp-ycal)./(yexp)))./n; 可能有問(wèn)題 因?yàn)榭刂普`差的表達(dá)式不同,得到的結(jié)果也不同。 |

木蟲(chóng) (著名寫(xiě)手)
木蟲(chóng) (著名寫(xiě)手)
至尊木蟲(chóng) (著名寫(xiě)手)
|
將 f=100*sum(abs((yexp-ycal)./(yexp)))./n 改為 f=100*sum(abs((yexp-ycal).^2./(yexp)))./n; 使用全局變量 global xexp yexp T w n R 增加一個(gè)約束條件函數(shù) mycon(k) 123.jpg |

鐵桿木蟲(chóng) (職業(yè)作家)
|
如果目標(biāo)函數(shù)是:f=100*sum(abs((yexp-ycal)./(yexp)))./n Objective Function (Min.): 1.69202022605523 k1: -3939.42871188215 k2: 10917.2246492583 k3: 25148.0927593124 k4: 70773.8809002039 k5: 128449.97394725 k6: 3.44491723177077E19 k7: 0.899999999164183 k8: 0.10000000000003 k9: 0.242672683467615 如果目標(biāo)函數(shù)是: f=100*sum(sqr((yexp-ycal)./(yexp)))./n; Objective Function (Min.): 0.0437976590375771 k1: -3953.62624489904 k2: 10934.6496916492 k3: 23392.8184616025 k4: 69011.9494278635 k5: 132986.496346197 k6: 8.50638781047333E15 k7: 0.899999999999986 k8: 0.100000000001972 k9: 0.247180632282027 |
木蟲(chóng) (著名寫(xiě)手)
木蟲(chóng) (著名寫(xiě)手)
鐵桿木蟲(chóng) (職業(yè)作家)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085600 材料與化工 298 +8 | 小西笑嘻嘻 2026-03-03 | 8/400 |
|
|---|---|---|---|---|
|
[基金申請(qǐng)]
|
xhuama 2026-03-02 | 10/500 |
|
|
[考博] 26申博 求博導(dǎo) +3 | 愛(ài)讀書(shū)的小帥 2026-02-28 | 5/250 |
|
|
[考研] 0805總分292,求調(diào)劑 +12 | 幻想之殤 2026-03-01 | 12/600 |
|
|
[考研] 一志愿東北大學(xué)化學(xué)314分求調(diào)劑 +5 | lr1212.. 2026-03-02 | 5/250 |
|
|
[考研] 一志愿天津大學(xué)085600 319分 材料與化工 金屬方向 求調(diào)劑 +4 | 青科11 2026-03-02 | 4/200 |
|
|
[考研] 求調(diào)劑 +4 | Guo_yuxuan 2026-03-02 | 5/250 |
|
|
[考研] 材料學(xué)碩318求調(diào)劑 +11 | February_Feb 2026-03-01 | 11/550 |
|
|
[考研] 284求調(diào)劑 +6 | 天下熯 2026-03-02 | 6/300 |
|
|
[考研] 沒(méi)上岸的看過(guò)來(lái) +3 | tangxiaotian 2026-03-01 | 3/150 |
|
|
[考研] 課題組接收材料類調(diào)劑研究生 +6 | gaoxiaoniuma 2026-02-28 | 9/450 |
|
|
[考研] 298求調(diào)劑 +10 | 人間唯你是清歡 2026-02-28 | 14/700 |
|
|
[考研] 290分材料工程085601求調(diào)劑 數(shù)二英一 +8 | llx0610 2026-03-02 | 9/450 |
|
|
[考研] 0856材料與化工,270求調(diào)劑 +11 | YXCT 2026-03-01 | 13/650 |
|
|
[考研] 材料復(fù)試調(diào)劑 +5 | 學(xué)材料的點(diǎn) 2026-03-01 | 6/300 |
|
|
[考博] 誠(chéng)招農(nóng)業(yè)博士 +3 | 心欣向榮 2026-02-28 | 3/150 |
|
|
[考研] 291分工科求調(diào)劑 +9 | science餓餓 2026-03-01 | 10/500 |
|
|
[基金申請(qǐng)]
剛錄用,沒(méi)有期刊號(hào),但是在線可看的論文可以放為代表作嗎
10+3
|
arang1 2026-03-01 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-02-28 | 7/350 |
|
|
[考研] 調(diào)劑 +3 | 簡(jiǎn)木ChuFront 2026-02-28 | 3/150 |
|