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

📄 sc_evalde.m

📁 模式识别工具箱。非常丰富的底层函数和常见的统计识别工具
💻 M
字号:
function pop = sc_EvalDE(funcstr, maxnum)
global FunCount;
rand('state',sum(100*clock)) ;
[VTR, Box,szObjStr,OptX] = GetFuncInfo(funcstr);

D = size(Box, 1);

XVmin = Box(:,1)';
XVmax = Box(:,2)';

% y		problem data vector (remains fixed during optimization)
y=[]; 

% NP            number of population members
NP = 100;%min(100, D * 10); 

% itermax       maximum number of iterations (generations)
itermax = 1000; 

% F             DE-stepsize F ex [0, 2]
F = 0.9; 

% CR            crossover probabililty constant ex [0, 1]
CR = 0.9; 

% strategy       1 --> DE/best/1/exp           6 --> DE/best/1/bin
%                2 --> DE/rand/1/exp           7 --> DE/rand/1/bin
%                3 --> DE/rand-to-best/1/exp   8 --> DE/rand-to-best/1/bin
%                4 --> DE/best/2/exp           9 --> DE/best/2/bin
%                5 --> DE/rand/2/exp           else  DE/rand/2/bin

strategy = 7

% refresh       intermediate output will be produced after "refresh"
%               iterations. No intermediate output will be produced
%               if refresh is < 1
refresh = 50; 

for i=1:maxnum
    FunCount = 0;
    [x(i,:),f(i), tt, pop] = devec3(szObjStr,VTR,D,XVmin,XVmax,y,NP,itermax,F,CR,strategy,refresh);
    nf(i) = FunCount;
end;
flag = f < VTR;
fname = sprintf('RE_DE_%s.mat', funcstr); 
save(fname, 'f', 'nf', 'flag','x','maxnum');
plot(pop(:,1),pop(:,2),'.')

⌨️ 快捷键说明

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