?? main_2genetic.m
字號:
tic
clc
clear all
population_count=361;
init_population=initial_2genetic(0,360,population_count);
n1=0;
for n2=1:length(init_population)
fitness_population(n2)=fitness_2genetic(init_population(n2));
end
[sort_population,index]=sort(fitness_population,'descend');
candidate_seed=[index(1:10)-1;0 0 0 0 0 0 0 0 0 0];
for n=1:10
select(n1,:)=[1:10];
end
ncount=2;
nclass=1;
nclass_num=2;
nclass_count=1;
select(1,1)=candidate(1);
while ncount<=10
for n=1:nclass_count
if abs(candidate(ncount)-select(nclass_count,1))<3
select(nclass,nclass_num)=candidate(ncount);
ncount++;
nclass_num++;
end
end
nclass++;
end
% figure(1);
% count=1:population_count;
% plot(count,init_population(1,:),'o',count,init_population(2,:),'x');
% axis([0,40,0,360]);
% set(gca,'xtick',[0:5:40]);
% set(gca,'ytick',[0:20:360]);
% title('初始種群分布'); %圖表標題,x軸y軸標簽及范圍
% xlabel('染色體數目');
% ylabel('信號角度');
while n1<1000
crossover_population=crossover_genetic(init_population,fitness_population,0.5);
mutation_population=mutation_genetic(crossover_population,0.5);
init_population=mutation_population;
n1=n1+1;
end
for n3=1:length(init_population)
fitness_population(n3)=fitness_genetic(init_population(:,n3));
end
[sort_population,index]=sort(fitness_population,'descend');
for n4=1:population_count
result(:,n4)=init_population(:,index(n4));
end
figure(2);
count=1:40;
plot(count,result(1,:),'o',count,result(2,:),'x');
axis([0,40,0,360]);
set(gca,'xtick',[0:5:40]);
set(gca,'ytick',[0:20:360]);
title('最終種群分布'); %圖表標題,x軸y軸標簽及范圍
xlabel('染色體數目');
ylabel('信號角度');
toc
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -