資源簡介
免疫遺傳算法源代碼,是對遺傳算法和免疫算法的改進
代碼片段和文件信息
這是一個用MATLAB編的免疫克隆算法優化函數的程序,免疫克隆算法是一種比較新的有效的優化算法,近兩年對他的研究很多。
clear
clc
tic;
gen=500;N=65;L=22;n=10;pm=0.1;fat=0.2;
P=init(NL);
xmin=0;xmax=9;
f=‘x+10*sin(x.*5)+7*cos(x.*4)‘;
vfx=[];vmfit=[];
it=0;
while?it ????it=it+1;
????x=decode(P(:1:22)xminxmax);
????fit=eval(f);
????if?it==1
????????figure(1);fplot(f[xminxmax]);grid?on;hold?on;
????????plot(xfit‘k*‘);title(‘(a)抗體的初始位置分布圖‘);xlabel(‘x‘);ylabel(‘y‘);
????end
????if?it==gen
????????figure(2);fplot(f[xminxmax]);grid?on;hold?on;
????????plot(xfit‘k*‘);title(‘(b)抗體的最終位置分布圖‘);xlabel(‘x‘);ylabel(‘y‘);
????end
????T=[];
????[aind]=sort(fit);
????valx=x(ind(end-n+1:end));
????fx=a(end-n+1:end);
????vfx=[vfx?fx(end)];
????[Tpcs]=reprod(nfatNindPT);
????T=Hypermutation(TLpmxmaxxmin);
????T(pcs:)=P(fliplr(ind(end-n+1:end)):);
?????x=decode(T(:1:22)xminxmax);
?????fit=eva
- 上一篇:BP神經網絡+PID控制simuli
nk仿真 - 下一篇:k近鄰matlab代碼
評論
共有 條評論