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

📄 gademo1eeval.m

📁 这是一个人工智能方面的遗传算法工具箱包
💻 M
字号:
%编写目标函数 
function [sol,eval] =gaDemo1Eeval(sol,options) 
x=sol(1); 
eval=x*sin(10*pi*x)+10; 

%参数说明 
%eval:个体的适应度; 
%sol:当前个体,n+1个元素的行向量。 

%遗传算法求最大值 
clc 
fplot('x*sin(10*pi*x)+10',[-1 2]) 
% 生成初始种群,大小为10 
initPop=initializega(10,[-1 2],'gaDemo1eeval1'); 
plot (initPop(:,1),initPop(:,2),'b*') 
% 调用遗传函数 
% 1次遗传迭代 
[x,endPop] = ga([-1 2],'gaDemo1eeval1',[],initPop,[1e-5 1 1],'maxGenTerm',1,...
    'normGeomSelect',[0.08],['arithXover'],[2 0], 'nonUnifMutation',[4 1 3]); 
plot(endPop(:,1),endPop(:,2),'bo') 

% 25次遗传迭代 
[x,endPop,bpop,trace]=ga([-1 2],'gaDemo1eeval1',[],initPop, [1e-6 1 1],'maxGenTerm',25,...
    'normGeomSelect',[0.08], ['arithXover'],[2 0],'nonUnifMutation',[4 25 3]); 

% 120次遗传迭代 
[x,endPop,bpop,trace]=ga([-1 2],'gaDemo1eeval1',[],initPop, [1e-6 1 1],'maxGenTerm',120,...
    'normGeomSelect',[0.08], ['arithXover'],[2 0],'nonUnifMutation',[4 120 3]); 

plot (endPop(:,1),endPop(:,2),'y*') 
figure(2) 
plot(trace(:,1),trace(:,3),'y-') 
hold on 
plot(trace(:,1),trace(:,2),'r-') 
xlabel('Generation'); ylabel('Fittness'); 
legend('解的变化','种群平均值的变化'); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -