: .
Pid二进制遗传算法%%声明全局变量rinyouttimef,这几个变量在主程序和子函数中都可以操: .
Pid二进制遗传算法%%声明全局变量rinyouttimef,这几个变量在主程序和子函数中都可以操作globalrinyouttimef
%%参数设置G=100;%%跟后面的循环次数有关系,24行
Size=30;%跟后面的第二十行程序参数有关系,还有嵌套的循环次数,26行CodeL=10;%跟后面的第二十行程序参数有关系%%初始化
%%MinX()矩阵是一个1*3的一维矩阵,其值是[0,0,0]MinX(1)=zeros(1);
MinX(2)=zeros(1);MinX(3)=zeros(1);
%%MaxX()矩阵是一个1*3的一维矩阵,其值是[20,1,1]MaxX(1)=20*ones(1);
MaxX(2)=*ones(1);MaxX(3)=*ones(1);
%%round函数的作用是四舍五入E=round(rand(Size,3*CodeL));
%%初始化BsJ的数值,一般初始化都是0BsJ=0;
%%循环forkg=1:1:G%循环次数
time(kg)=kg;
fors=1:1:Size%嵌套的循环次数m=E(s,:);
y1=0;y2=0;y3=0;m1=m(1:1:CodeL);%参数前面设置值
fori=1:1:CodeL%参数前面设置值y1=y1+m1(i)*2A(i-1);
endKPID(s,1)=(MaxX(1)-MinX(1))*y1/1023+MinX(1);m2=m(CodeL+1:1:2*CodeL);
fori=1:1:CodeLy2=y2+m2(i)*2"i-1);
endKPID(s,2)=(MaxX(2)-MinX(2))*y2/1023+MinX(2);m3=m(2*CodeL+1:1:3*CodeL);
fori=1:1:CodeLy3=y3+m3(i)*2"i-1);
endKPID(s,3)=(MaxX(3)-MinX(3))*y3/1023+MinX(3);KPIDi=KPID(s,:);
[KPIDi,BsJ]=chap5_3f(KPIDi,BsJ);BsJi(s)=BsJ;
end
[OderJi,IndexJi]=sort(BsJi);
BestJ(kg)=OderJi(1);
BJ=BestJ(kg);
Ji=BsJi+1e-10;
fi=1./Ji;[Oderfi,Indexfi]=sort(fi);Bestfi=Oderfi(Size);
BestS=E(Indexfi(Size),:);
fi_sum=sum(fi);fi_Size=(Oderfi/fi_sum)*Size;fi_S=floor(fi_Size);
kk=1;
fori=1:1:Sizeforj=1:1:fi_S(i)
TempE(kk,:)=E(Indexf
Pid二进制遗传算法 来自淘豆网m.daumloan.com转载请标明出处.