?? mainprog.asv
字號:
%遺傳算法主程序
% 遺傳算法實現特征選擇,對初始特征進行選擇
%Name:mainprog.m
clear;
%矩陣準備,準備各類成分基于各種特征下的值的矩陣形式
% M_red;
% M_white;
% M_shangpi;
% M_cast;
%矩陣準備結束%%%%%%%%%%%%%%%%%%%%%%%%%%%
tic; %用于記錄運行時間
%參數設置
popsize=20; %設置初始參數,群體大小
chromlength=5; %字符串長度(個體長度),染色體長度
pc=0.6; %設置交叉概率
pm=0.6; %設置變異概率
%參數設置結束
pop=initpop(popsize,chromlength); %運行初始化函數,隨機產生初始群體
dai=200;
%給最佳染色體及其適應度值賦初值%
% [xx,yy]=size(M1);
pop_best=zeros(1,chromlength);
value_best=0;
%結束
aaa=zeros(1,200); %存放每一代中最好的種群所對應的適應度值
for i=1:dai%200為迭代次數
fitvalue=calfitvalue(pop); %計算群體中每個個體的適應度
[newpop]=selection(pop,fitvalue); %復制
[newpop]=crossover(newpop,pc); %交叉
[newpop]=mutation(newpop,pm);%變異
[bestindividual,bestfit]=best(pop,fitvalue);%求出群體中適應值最大的個體及其適應值
if bestfit>value_best %保存數代遺傳之后最好的種群
value_best=bestfit;
pop_best=bestindividual;
end
pop_temp=bestindividual;
value_temp=bestfit;
pop=newpop;
end
pop_best
value_best
%用于記錄運行時間
toc;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -