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

📄 ga_plot.m

📁 书籍代码:遗传演算法原理与应用_活用MATLAB(Source Code)
💻 M
字号:
function [para,best_pi]=GA_plot(generation_n, upper, ...
    average, lower, BEST_popu)
global MIN_offset MUL_factor
%========================================================
% GA_plot.m
% global MIN_offset MUL_factor
%function [para,best_pi]=GA_plot(generation_n, upper, ...
%    average, lower, BEST_popu)
%========================================================
% Plot the resultant upper, average and lower bounds
%
% Display the final message like this
% The best generation occured at generation #283.
%   x1 =  -5.01609163
%   x2 =  -5.06722401
%   x3 =  -5.11193552
%   x4 =  -5.01528481
%   x5 =  -5.02855515
% ==>Best fitness for MAX. problem is (51.00000000)
%
% MIN_offset != 0 means a minimization problem
% Return parameters: para, best_pi

% PenChen Chou, 7-1-2001

% Plot
figure(1);
GA_Whitebg;
x = (1:generation_n)';
plot(x, upper, 'o', x, average, 'x', x, lower, '*');
hold on;
plot(x, [upper average lower]);
hold off;
legend('Best', 'Average', 'Poorest',4);
xlabel('Generations'); ylabel('Fitness');

% Display
[BEST, inx1]=max(upper);
fprintf('The best generation occured at generation #%i.\n',inx1);
para=BEST_popu(inx1,:); len_bx=length(para);
for I=1:len_bx
    fprintf('   x%i = %12.8f\n',I,para(I));
end;    
if MUL_factor>=1
   if MIN_offset==0
       best_pi=BEST/MUL_factor;
       fprintf('==>Best fitness for MAX. problem is (%.8f)\n',...
                     BEST/MUL_factor);
   else
       best_pi=(MIN_offset-BEST)/MUL_factor;
       fprintf('==>Best fitness for MIN. problem is (%.8f)\n',...
                    (MIN_offset-BEST)/MUL_factor);
   end;
else
   error('>>>Sorry, Wrong MUL_factor setting, must be >=1'); 
end;

⌨️ 快捷键说明

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