| 查看: 2613 | 回复: 8 | ||
For_study金虫 (小有名气)
木虫
|
[求助]
遗传算法优化微分方程中的参数 已有1人参与
|
|
%拟合微分方程参数 %直接拟合反应的活化能和指前因子 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); %输出参数 fprintf('\n\n遗传算法的估计数值:\n'); disp(h0); %构造适应度函数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,胶质沥青质SR为3),柴油(D)为4,汽油(G)为5,液化气(LPG)为6,干气(Gas)为7,焦炭(C)为8, % 由于遗传算法只能返回向量,所以反应常数不能是矩阵,只能是向量,第一个数表示反应物,第二个数表示生成物 %反应常数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常数,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重芳烃失活系数,N碱氮吸附失活系数,deact催化剂结焦失活系数,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,胶质沥青质SR为3),柴油(D)为4,汽油(G)为5,液化气(LPG)为6,干气(Gas)为7,焦炭(C)为8, % 由于遗传算法只能返回向量,所以反应常数不能是矩阵,只能是向量,第一个数表示反应物,第二个数表示生成物 %反应常数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常数,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重芳烃失活系数,N碱氮吸附失活系数,deact催化剂结焦失活系数,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时,程序可以正常运行,获得结果,当设定lb和ub后,程序依然可以运行(不会报错),但是只能运算一次优化后的结果(设置断点时发现)。遗传算法好像没有继续优化下去,希望有大神可以帮忙解答一下问题。。。。谢谢。。。。 |
» 猜你喜欢
求助中医院临床中医中标的青年标书学习,谢谢
已经有6人回复
浙大物院表面物理课题组长期招收普博及直博学生
已经有259人回复
物理学I论文润色/翻译怎么收费?
已经有125人回复
【征稿】Springer Nature热电专题 Discover Materials / Discover Chemistry
已经有47人回复
25届硕士申请,材料计算方向
已经有2人回复
课题组招1-2名硕士
已经有1人回复
机时越来越贵之后,我把一部分 DFT 流程搬到了 AI 计算平台上
已经有0人回复
斯坦福大学与Elsevier世界前2%学者新排名查询
已经有1人回复
27申博推荐:南京航空航天大学国际前沿院光学方向招收博士生!
已经有19人回复
华南师范大学+双一流学科物理学+广东省杰青团队2027年博士招生+机器学习驱动材料设计
已经有1人回复
apl投稿状态
已经有2人回复
» 本主题相关价值贴推荐,对您同样有帮助:
遗传算法程序
已经有0人回复
福州大学2012年获国家自然科学基金资助项目清单(截止8月21日)
已经有5人回复
2012年深圳大学资助项目清单
已经有7人回复
matlab在科技上的应用
已经有17人回复
数学建模资料 课件
已经有164人回复
2011杰青名单
已经有11人回复
2011年度国家杰出青年科学基金建议资助项目申请人名单
已经有0人回复
2011年度杰青名单公布
已经有7人回复
2011杰青名单出炉
已经有26人回复
2011年杰青名单及立项
已经有1人回复
关于公布2011年度国家杰出青年科学基金建议资助项目申请人名单的通告
已经有7人回复
2011年度国家杰出青年科学基金名单已公布,所以8月19日公布面上青年地区基金
已经有50人回复
关于公布2011年度国家杰出青年科学基金建议资助项目申请人名单的通告
已经有21人回复
关于公布2011年度国家杰出青年科学基金建议资助项目申请人
已经有65人回复
【资源】《化学化工中的数学方法及MATLAB实现》.PDF
已经有79人回复

For_study
金虫 (小有名气)
木虫
- 应助: 0 (幼儿园)
- 金币: 1089.8
- 散金: 506
- 帖子: 174
- 在线: 108.8小时
- 虫号: 2085809
- 注册: 2012-10-25
- 性别: MM
- 专业: 环境化工

2楼2015-12-09 14:14:41
For_study
金虫 (小有名气)
木虫
- 应助: 0 (幼儿园)
- 金币: 1089.8
- 散金: 506
- 帖子: 174
- 在线: 108.8小时
- 虫号: 2085809
- 注册: 2012-10-25
- 性别: MM
- 专业: 环境化工

3楼2015-12-09 14:15:00
dingd
铁杆木虫 (职业作家)
- 计算强帖: 4
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
4楼2015-12-09 16:06:39
yufeishu
银虫 (小有名气)
- 应助: 3 (幼儿园)
- 金币: 467.5
- 帖子: 149
- 在线: 39.2小时
- 虫号: 3222635
- 注册: 2014-05-21
- 性别: GG
- 专业: 热物性与热物理测试技术
5楼2015-12-10 10:00:17
ybkooo
至尊木虫 (著名写手)
^^
- 应助: 32 (小学生)
- 金币: 11056.5
- 散金: 178
- 红花: 15
- 帖子: 2312
- 在线: 545.4小时
- 虫号: 2710519
- 注册: 2013-10-09
- 性别: GG
- 专业: 控制理论与方法

6楼2015-12-10 21:36:38
For_study
金虫 (小有名气)
木虫
- 应助: 0 (幼儿园)
- 金币: 1089.8
- 散金: 506
- 帖子: 174
- 在线: 108.8小时
- 虫号: 2085809
- 注册: 2012-10-25
- 性别: MM
- 专业: 环境化工

7楼2015-12-11 15:04:45
For_study
金虫 (小有名气)
木虫
- 应助: 0 (幼儿园)
- 金币: 1089.8
- 散金: 506
- 帖子: 174
- 在线: 108.8小时
- 虫号: 2085809
- 注册: 2012-10-25
- 性别: MM
- 专业: 环境化工

8楼2015-12-11 15:05:32
For_study
金虫 (小有名气)
木虫
- 应助: 0 (幼儿园)
- 金币: 1089.8
- 散金: 506
- 帖子: 174
- 在线: 108.8小时
- 虫号: 2085809
- 注册: 2012-10-25
- 性别: MM
- 专业: 环境化工

9楼2015-12-11 15:06:01










;
回复此楼