ga_ex34.m

来自「其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載」· M 代码 · 共 60 行

M
60
字号
% 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
%**********************************************************/
clear all
ans=1;
who
fprintf('>>>Start this program now. Please wait!\n');
pause(1)
global MIN_offset MUL_factor ROBUST Kp Ki Kd K a1 a2 Ts Emin Ettl

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, para] = 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);            
            
Kp=GA_round4dp(para(1));
Ki=GA_round4dp(para(2));
Kd=GA_round4dp(para(3));

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 + -
显示快捷键?