| 查看: 2315 | 回复: 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后,程序依然可以运行(不会报错),但是只能运算一次优化后的结果(设置断点时发现)。遗传算法好像没有继续优化下去,希望有大神可以帮忙解答一下问题。。。。谢谢。。。。 |
» 猜你喜欢
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有278人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
求助NH4V4O10晶体的CIF文件
已经有0人回复
英国全奖博士招聘-深度学习与量子物理
已经有0人回复
间接带隙半导体有效质量求助
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
遗传算法程序
已经有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
- 专业: 环境化工

8楼2015-12-11 15:05:32
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











;
回复此楼