myga.m

来自「本程序为遗传算法源程序」· M 代码 · 共 61 行

M
61
字号


function [f,x,pp1]=myga(num,N,bounds,SC,CP,P)
%[f,x]=myga(num,N,bounds,SC,CP,P)
%[f,x]=myga([],[],bounds,[],[],[])
%该遗传算法适用于:
%           目标函数为求最小值
%num        初始种群数
%bounds     边界约束
%N          最大迭代次数
%CP         交叉概率
%P          突变概率
%SC         复制概率
%f          目标最优解
%x          最优解向量
%Myfun      为目标函数
%pp1        每一次循环的gbestvalue
m=nargin;
if m<5
disp('-_-  错误!')
disp('>> 输入变量太少')
disp('>>  按回车键查看帮助')
    pause
    help ga
    f='-_- ';
    x='没有规矩不成方圆';
    break;
end
if (~isempty(N))
    N=100;
end
if (~isempty(num))
    num=100;
end


pp1=zeros(N,1);
[pop1,ff]=INT1(num,bounds);
 
for nn=1:N
   [gbestvalue,gbest,q1,endpop,dd]=ga(pop1,ff,num,bounds);
   pop1=endpop;
   ff=dd;
   pp1(nn)=gbestvalue;
end
f=gbestvalue
x=gbest
%if(abs(gbestvalue(t))<0.00001)
    %ddd=t;
    %break;
    %end





kt=1:N;
plot(kt,pp1)
grid on
drawnow;
%ddd

⌨️ 快捷键说明

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