⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main_2genetic.asv

📁 改进的基于遗传算法的被动声目标定位
💻 ASV
字号:
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;
flag=0;
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++;
            flag=1;
            break;
        end
    end
    if flag==0;
        nclass++;
        select(nclass,1)=candidate(ncount);
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 + -