| 9 | 1/1 | 返回列表 |
| 查看: 2381 | 回復: 8 | ||
For_study金蟲 (小有名氣)
木蟲
|
[求助]
遺傳算法優(yōu)化微分方程中的參數(shù) 已有1人參與
|
|
%擬合微分方程參數(shù) %直接擬合反應的活化能和指前因子 function mynewtry4 clear; clc; %遺傳算法 lb1=5*ones(1,22); lb2=-100000*ones(1,22); lb=[lb1,lb2]; ub1=100*ones(1,22); ub2=-1000*ones(1,22); ub=[ub1,ub2]; options = gaoptimset('Generations',1000,'StallGenLimit',50,... 'StallTimeLimit',50,'TolFun',1e-12,'TolCon',1e-12,'MutationFcn',@mutationadaptfeasible); [h0,fval,exitflag,reason,output,final_pop]=ga(@my_funtest1,44,options); %輸出參數(shù) fprintf('\n\n遺傳算法的估計數(shù)值:\n'); disp(h0); %構(gòu)造適應度函數(shù)my_funtest function yfit=my_funtest1(h) tspan1=0:0.05:0.5; y01=[0.561,0.298,0.141,0 0 0 0 0]; [t,ycal1]=ode45(@myfun1,tspan1,y01,[],h); y02=ycal1(11, ;tspan2=0.5:0.05:1; [t,ycal2]=ode45(@myfun2,tspan2,y02,[],h); ycalculate=ycal2(11, ![]() yreal2=[0.0587 0 0 0.1988 0.3889 0.2309 0.0397 0.083]; for i=4:8 ff(i)=(ycalculate(i)-yreal2(i))^2; end yfit=sum(ff) end function dy = myfun1(t,y,h) % 動力學微分方程 % 共分為8集總,原料(飽和分SS為1,芳香分SA為2,膠質(zhì)瀝青質(zhì)SR為3),柴油(D)為4,汽油(G)為5,液化氣(LPG)為6,干氣(Gas)為7,焦炭(C)為8, % 由于遺傳算法只能返回向量,所以反應常數(shù)不能是矩陣,只能是向量,第一個數(shù)表示反應物,第二個數(shù)表示生成物 %反應常數(shù)k(1,4)=k(1),k(1,5)=k(2),k(1,6)=k(3),k(1,7)=k(4),k(1,8)=k(5),k(2,4)=k(6), % k(2,5)=k(7),k(2,6)=k(8),k(2,7)=k(9),k(2,8)=k(10),k(3,4)=k(11),k(3,5)=k(12), % k(3,6)=k(13),k(3,7)=k(14),k(3,8)=k(15),k(4,5)=k(16),k(4,6)=k(17),k(4,7)=k(18), % k(4,8)=k(19),k(5,6)=k(20),k(5,7)=k(21),k(5,8)=k(22) % % A=1;N=1; deact=1; dens=13.357; %單位是kg/m^3 Swh=90; %單位s Tem=788; R=8.314; k=zeros(1,22); k(1)=h(1)*exp(-h(23)/(R*Tem)); % R常數(shù),8.314,Tem溫度,h表示活化能23-44,J/mol 指前因子1-22 kg/(m^3.s) k(2)=h(2)*exp(-h(24)/(R*Tem)); k(3)=h(3)*exp(-h(25)/(R*Tem)); k(4)=h(4)*exp(-h(26)/(R*Tem)); k(5)=h(5)*exp(-h(27)/(R*Tem)); k(6)=h(6)*exp(-h(28)/(R*Tem)); k(7)=h(7)*exp(-h(29)/(R*Tem)); k(8)=h(8)*exp(-h(30)/(R*Tem)); k(9)=h(9)*exp(-h(31)/(R*Tem)); k(10)=h(10)*exp(-h(32)/(R*Tem)); k(11)=h(11)*exp(-h(33)/(R*Tem)); k(12)=h(12)*exp(-h(34)/(R*Tem)); k(13)=h(13)*exp(-h(35)/(R*Tem)); k(14)=h(14)*exp(-h(36)/(R*Tem)); k(15)=h(15)*exp(-h(37)/(R*Tem)); k(16)=h(16)*exp(-h(38)/(R*Tem)); k(17)=h(17)*exp(-h(39)/(R*Tem)); k(18)=h(18)*exp(-h(40)/(R*Tem)); k(19)=h(19)*exp(-h(41)/(R*Tem)); k(20)=h(20)*exp(-h(42)/(R*Tem)); k(21)=h(21)*exp(-h(43)/(R*Tem)); k(22)=h(22)*exp(-h(44)/(R*Tem)); dy(1)=-(k(1)+k(2)+k(3)+k(4)+k(5))*y(1)*A*N*deact*dens/Swh; % A重芳烴失活系數(shù),N堿氮吸附失活系數(shù),deact催化劑結(jié)焦失活系數(shù),dens密度,Swh真實重時空速 dy(2)=-(k(6)+k(7)+k(8)+k(9)+k(10))*y(2)*A*N*deact*dens/Swh; dy(3)=-(k(11)+k(12)+k(13)+k(14)+k(15))*y(3)*A*N*deact*dens/Swh; dy(4)=(k(1)*y(1)+k(6)*y(2)+k(11)*y(3)-(k(16)+k(17)+k(18)+k(19))*y(4))*A*N*deact*dens/Swh; dy(5)=(k(2)*y(1)+k(7)*y(2)+k(12)*y(3)+k(16)*y(4)-(k(20)+k(21)+k(22))*y(5))*A*N*deact*dens/Swh; dy(6)=(k(3)*y(1)+k(8)*y(2)+k(13)*y(3)+k(17)*y(4)+k(20)*y(5))*A*N*deact*dens/Swh; dy(7)=(k(4)*y(1)+k(9)*y(2)+k(14)*y(3)+k(18)*y(4)+k(21)*y(5))*A*N*deact*dens/Swh; dy(8)=(k(5)*y(1)+k(10)*y(2)+k(15)*y(3)+k(19)*y(4)+k(22)*y(5))*A*N*deact*dens/Swh; dy=dy'; end function dy = myfun2(t,y,h) % 動力學微分方程 % 共分為8集總,原料(飽和分SS為1,芳香分SA為2,膠質(zhì)瀝青質(zhì)SR為3),柴油(D)為4,汽油(G)為5,液化氣(LPG)為6,干氣(Gas)為7,焦炭(C)為8, % 由于遺傳算法只能返回向量,所以反應常數(shù)不能是矩陣,只能是向量,第一個數(shù)表示反應物,第二個數(shù)表示生成物 %反應常數(shù)k(1,4)=k(1),k(1,5)=k(2),k(1,6)=k(3),k(1,7)=k(4),k(1,8)=k(5),k(2,4)=k(6), % k(2,5)=k(7),k(2,6)=k(8),k(2,7)=k(9),k(2,8)=k(10),k(3,4)=k(11),k(3,5)=k(12), % k(3,6)=k(13),k(3,7)=k(14),k(3,8)=k(15),k(4,5)=k(16),k(4,6)=k(17),k(4,7)=k(18), % k(4,8)=k(19),k(5,6)=k(20),k(5,7)=k(21),k(5,8)=k(22) % % A=1;N=1; deact=1; dens=13.357;Swh=90; Tem=761; R=8.314; k=zeros(1,22); k(1)=h(1)*exp(-h(23)/(R*Tem)); % R常數(shù),8.314,Tem溫度,h表示活化能1-22,之前因子23-44 k(2)=h(2)*exp(-h(24)/(R*Tem)); k(3)=h(3)*exp(-h(25)/(R*Tem)); k(4)=h(4)*exp(-h(26)/(R*Tem)); k(5)=h(5)*exp(-h(27)/(R*Tem)); k(6)=h(6)*exp(-h(28)/(R*Tem)); k(7)=h(7)*exp(-h(29)/(R*Tem)); k(8)=h(8)*exp(-h(30)/(R*Tem)); k(9)=h(9)*exp(-h(31)/(R*Tem)); k(10)=h(10)*exp(-h(32)/(R*Tem)); k(11)=h(11)*exp(-h(33)/(R*Tem)); k(12)=h(12)*exp(-h(34)/(R*Tem)); k(13)=h(13)*exp(-h(35)/(R*Tem)); k(14)=h(14)*exp(-h(36)/(R*Tem)); k(15)=h(15)*exp(-h(37)/(R*Tem)); k(16)=h(16)*exp(-h(38)/(R*Tem)); k(17)=h(17)*exp(-h(39)/(R*Tem)); k(18)=h(18)*exp(-h(40)/(R*Tem)); k(19)=h(19)*exp(-h(41)/(R*Tem)); k(20)=h(20)*exp(-h(42)/(R*Tem)); k(21)=h(21)*exp(-h(43)/(R*Tem)); k(22)=h(22)*exp(-h(44)/(R*Tem)); dy(1)=-(k(1)+k(2)+k(3)+k(4)+k(5))*y(1)*A*N*deact*dens/Swh; % A重芳烴失活系數(shù),N堿氮吸附失活系數(shù),deact催化劑結(jié)焦失活系數(shù),dens密度,Swh真實重時空速 dy(2)=-(k(6)+k(7)+k(8)+k(9)+k(10))*y(2)*A*N*deact*dens/Swh; dy(3)=-(k(11)+k(12)+k(13)+k(14)+k(15))*y(3)*A*N*deact*dens/Swh; dy(4)=(k(1)*y(1)+k(6)*y(2)+k(11)*y(3)-(k(16)+k(17)+k(18)+k(19))*y(4))*A*N*deact*dens/Swh; dy(5)=(k(2)*y(1)+k(7)*y(2)+k(12)*y(3)+k(16)*y(4)-(k(20)+k(21)+k(22))*y(5))*A*N*deact*dens/Swh; dy(6)=(k(3)*y(1)+k(8)*y(2)+k(13)*y(3)+k(17)*y(4)+k(20)*y(5))*A*N*deact*dens/Swh; dy(7)=(k(4)*y(1)+k(9)*y(2)+k(14)*y(3)+k(18)*y(4)+k(21)*y(5))*A*N*deact*dens/Swh; dy(8)=(k(5)*y(1)+k(10)*y(2)+k(15)*y(3)+k(19)*y(4)+k(22)*y(5))*A*N*deact*dens/Swh; dy=dy'; end end 問題敘述,遺傳算法未設定lb和ub時,程序可以正常運行,獲得結(jié)果,當設定lb和ub后,程序依然可以運行(不會報錯),但是只能運算一次優(yōu)化后的結(jié)果(設置斷點時發(fā)現(xiàn))。遺傳算法好像沒有繼續(xù)優(yōu)化下去,希望有大神可以幫忙解答一下問題。。。。謝謝。。。。 |

金蟲 (小有名氣)
木蟲

金蟲 (小有名氣)
木蟲

鐵桿木蟲 (職業(yè)作家)
銀蟲 (小有名氣)

金蟲 (小有名氣)
木蟲

金蟲 (小有名氣)
木蟲

金蟲 (小有名氣)
木蟲

| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考博] 招收博士1-2人 +3 | QGZDSYS 2026-03-18 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 08工科 320總分 求調(diào)劑 +7 | 梨花珞晚風 2026-03-17 | 7/350 |
|
|
[考研] 286求調(diào)劑 +10 | Faune 2026-03-21 | 10/500 |
|
|
[考研] 化學調(diào)劑 +5 | yzysaa 2026-03-21 | 5/250 |
|
|
[考研] 0703化學調(diào)劑 ,六級已過,有科研經(jīng)歷 +14 | 曦熙兮 2026-03-15 | 14/700 |
|
|
[考研] 277材料科學與工程080500求調(diào)劑 +6 | 自由煎餅果子 2026-03-16 | 6/300 |
|
|
[考研] 材料工程(專)一志愿985 初試335求調(diào)劑 +3 | hiloiy 2026-03-17 | 4/200 |
|
|
[考研] 一志愿中國石油大學(華東) 本科齊魯工業(yè)大學 +3 | 石能偉 2026-03-17 | 3/150 |
|
|
[考研] 287求調(diào)劑 +7 | 晨昏線與星海 2026-03-19 | 8/400 |
|
|
[考研] 一志愿吉林大學材料學碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 材料與化工專碩調(diào)劑 +7 | heming3743 2026-03-16 | 7/350 |
|
|
[考研] 086500 325 求調(diào)劑 +3 | 領帶小熊 2026-03-19 | 3/150 |
|
|
[考研] 081700化工學碩調(diào)劑 +3 | 【1】 2026-03-16 | 3/150 |
|
|
[考研] 生物學調(diào)劑招人。! +3 | 山海天嵐 2026-03-17 | 4/200 |
|
|
[考研] 085601材料工程專碩求調(diào)劑 +10 | 慕寒mio 2026-03-16 | 10/500 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研]
|
胡辣湯放糖 2026-03-15 | 6/300 |
|
|
[考研] 085601求調(diào)劑 +4 | Du.11 2026-03-16 | 4/200 |
|
|
[考研] 0856求調(diào)劑 +3 | 劉夢微 2026-03-15 | 3/150 |
|