91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

利用遺傳算法優化pid控制器三個參數的matlab程序

資源截圖

代碼片段和文件信息

%lizi2_1.m
%GA(Generic?Algorithm)?Program?is?to?optimize?PID?Parameters
clear?all;
close?all;
global?rin?yout?timef

Size=30;
CodeL=3;

MinX(1)=zeros(1);
MaxX(1)=20*ones(1);
MinX(2)=zeros(1);
MaxX(2)=1.0*ones(1);
MinX(3)=zeros(1);
MaxX(3)=1.0*ones(1);

Kpid(:1)=MinX(1)+(MaxX(1)-MinX(1))*rand(Size1);
Kpid(:2)=MinX(2)+(MaxX(2)-MinX(2))*rand(Size1);
Kpid(:3)=MinX(3)+(MaxX(3)-MinX(3))*rand(Size1);

G=100;
BsJ=0;

%***************?Start?Running?***************
for?kg=1:1:G
????time(kg)=kg;

%******?Step?1?:?Evaluate?BestJ?******
for?i=1:1:Size
Kpidi=Kpid(i:);
????
[KpidiBsJ]=lizi2_1f(KpidiBsJ);

BsJi(i)=BsJ;
end
?
[OderJiIndexJi]=sort(BsJi);
BestJ(kg)=OderJi(1);
BJ=BestJ(kg);
Ji=BsJi+1e-10;????%Avoiding?deviding?zero

???fi=1./Ji;
%??Cm=max(Ji);
%??fi=Cm-Ji;?????????????????????
???
???[OderfiIndexfi]=sort(fi);????%Arranging?fi?small?to?bigger
???Bestfi=Oderfi(Size);??????????%Let?Bestfi=max(fi)
???BestS=Kpid(Indexfi(Size):);??%Let?BestS=E(m)?m?is?the?Indexfi?belong?to?max(fi)
???
???kg???
???BJ
???BestS
%******?Step?2?:?Select?and?Reproduct?Operation******
???fi_sum=sum(fi);
???fi_Size=(Oderfi/fi_sum)*Size;
???
???fi_S=floor(fi_Size);????????????????????%?Selecting?Bigger?fi?value
???r=Size-sum(fi_S);
???
???Rest=fi_Size-fi_S;
???[RestValueIndex]=sort(Rest);
???
???for?i=Size:-1:Size-r+1
??????fi_S(Index(i))=fi_S(Index(i))+1;?????%?Adding?rest?to?equal?Size
???end

???k=1;
???for?i=Size:-1:1???????%?Select?the?Sizeth?and?Reproduce?firstly??
??????for?j=1:1:fi_S(i)??
???????TempE(k:)=Kpid(Indexfi(i):);??????%?Select?and?Reproduce?
?????????k=k+1;????????????????????????????%?k?is?used?to?reproduce
??????end
???end
???
%************?Step?3?:?Crossover?Operation?************
????Pc=0.90;
????for?i=1:2:(Size-1)
??????????temp=rand;
??????if?Pc>temp??????????????????????%Crossover?Condition
??????????alfa=rand;
??????????TempE(i:)=alfa*Kpid(i+1:)+(1-alfa)*Kpid(i:);??
??????????TempE(i+1:)=alfa*Kpid(i:)+(1-alfa)*Kpid(i+1:);
??????end
????end
????TempE(Size:)=BestS;
????Kpid=TempE;
????
%************?Step?4:?Mutation?Operation?**************
Pm=0.10-[1:1:Size]*(0.01)/Size;???????%Bigger?fismaller?Pm
Pm_rand=rand(SizeCodeL);
Mean=(MaxX?+?MinX)/2;?
Dif=(MaxX-MinX);

???for?i=1:1:Size
??????for?j=1:1:CodeL
?????????if?Pm(i)>Pm_rand(ij)????????%Mutation?Condition
????????????TempE(ij)=Mean(j)+Dif(j)*(rand-0.5);
?????????end
??????end
???end
%Guarantee?TempE(Size:)?belong?to?the?best?individual
???TempE(Size:)=BestS;??????
???Kpid=TempE;
end
Bestfi
BestS
Best_J=BestJ(G)
figure(1);
plot(timeBestJ);
xlabel(‘Times‘);ylabel(‘Best?J‘);
figure(2);
plot(timefrin‘r‘timefyout‘b‘);
xlabel(‘Time(s)‘);ylabel(‘rinyout‘);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2787??2008-05-21?20:51??遺傳PID程序\lizi1_1.m

?????文件???????1147??2008-05-20?14:00??遺傳PID程序\lizi1_1f.m

?????文件????????923??2008-05-20?15:18??遺傳PID程序\Untitled.m

?????目錄??????????0??2008-06-06?18:33??遺傳PID程序

-----------?---------??----------?-----??----

?????????????????4857????????????????????4


評論

共有 條評論