- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八讲基于群体智能的参数辨识
基于群体智能算法的参数辨识;遗传算法(Genetic Algorithm);;优化目标目标函数?适应度函数;遗传编码;选择方法;交叉操作(二进制);交叉操作(实值);变异(二进制);变异(实数);?;clc;
clear all;
close all;
Ge=100; %代数
m=80; %一次选择个体数目
Pc=0.9; %交叉概率
Pm=0.05; %变异概率
ts=0.5; %采样周期
%用于记忆最优个体对应适应值
%对应参数值
bestQQ=10000;
k_s=0;
T1_s=0;
T2_s=0;
%被拟合对象参数
st=70;
lp=st/ts;
yout0=0;
yout=0;;for kk=1:Ge
x1l=3.8;
x1r=4.2; %k
x2l=4;
x2r=6; %T1
x3l=7;
x3r=9; %T2
for i=1:m %产生初始种群
pop1(i)=rand(1)*(x1r-x1l)+x1l;
pop2(i)=rand(1)*(x2r-x2l)+x2l;
pop3(i)=rand(1)*(x3r-x3l)+x3l;
end
;%计算适应度,由于是直接求最小值问题,所以直接将Q取为个体的适应度
sumQQ=sum(QQ);
cfitness=QQ/sumQQ;
for i=1:m
cfitness(i)=(1-cfitness(i))/(m-1);
end
% 根据适应度大小选择下一代,(比例选择)
for i=2:m
cfitness(i)=cfitness(i-1)+cfitness(i);
end
;for i=1:m %交叉运算
p=rand(1);
index1(i)=floor(rand(1)*(m-1))+1;
index2(i)=floor(rand(1)*(m-1))+1;
index3(i)=floor(rand(1)*(m-1))+1;
if (pPc)
A=rand(1);
pop1(i)=pop1(i)*A+(1-A)*pop1(index1(i));
B=rand(1);
pop2(i)=pop2(i)*B+(1-B)*pop2(index2(i));
C=rand(1);
pop3(i)=pop3(i)*C+(1-C)*pop3(index3(i));
end
end; %变异运算
for i=1:m
p=rand(1);
if pPm
pop1(i)=pop1(i)+Leng1*(rand(1)-0.5)*(x1r-x1l);
pop2(i)=pop2(i)+Leng2*(rand(1)-0.5)*(x2r-x2l);
pop3(i)=pop3(i)+Leng3*(rand(1)-0.5)*(x3r-x3l);
if(pop1(i)x1r) pop1(i)=x1r; end
if(pop1(i)x1l) pop1(i)=x1l; end
if(pop2(i)x2r) pop2(i)=x2r; end
if(pop2(i)x2l) pop2(i)=x2l; end
if(pop3(i)x3r) pop3(i)=x3r; end
if(pop3(i)x3l) pop3(i)=x3l; end
end
end
;%循环结束,求出最优个体输出
a1=exp(-ts/T1);
b1=1-a1;
a2=exp(-ts/T2);
b2=1-a2;
x=[0,0];
yout=0;
for j=1:lp
x(1)=a1*
文档评论(0)