ga_ex34.m

来自「书籍代码:遗传演算法原理与应用_活用MATLAB(Source Code)」· M 代码 · 共 52 行

M
52
字号
% GA_ex34.m file
% [Kp Ki Kd] values for a digital PID control system

% PenChen Chou, 7-10-2001

%**********************************************************/
%       User can modify the following in blocks
%**********************************************************/
global MIN_offset MUL_factor ROBUST Kp Ki Kd K a1 a2 Ts Emin

Emin=5000;
MIN_offset=Emin; % For finding MIN value
MUL_factor=1; 
ROBUST=1;
Ts=0.001;
obj_fcn = 'GA_f34';	% Objective function
%          Kp    Ki   Kd    
range = [  1       1       1  
          100      10     70 ];
IC=[]; elite=1; 
if ROBUST==0
    gen_no=15;
else    
    gen_no=26;
end;    
popuSize=24;
bit_n=30;
xover_rate=0.9;
mutate_rate=0.03;
%************************************************************
% call GA written by Chang
tic
%GA_genetic(obj_fcn, range, IC, elite,...
% gen_no, popuSize, bit_n, xover_rate, mutate_rate);
[popu, popu_real, fcn_value, upper, average, lower, ...
BEST_popu, popuSize, gen_no] = GA_genetic(obj_fcn, range,...
        IC, elite, gen_no, popuSize, bit_n,...
        xover_rate, mutate_rate);
t=toc/60;
fprintf('==>  Computation time is (%.2f) minutes.\n',t);            
            
load xxx
K=10;a1=3;a2=2;
[tout, X, Y]=sim('ex34_dpid',[0 4]); % see [tout and yout]
yout=Y(:,2); Err=Y(:,3); N=length(Err); PI=Err(N); Stop=sum(Y(:,4));
figure(3);plot(tout, [yout Y(:,1)]);
title('I/O responses, nominal plant parameters');
xlabel('Time(s)')

GA_plot34

⌨️ 快捷键说明

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