ga_ex672.m

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

M
49
字号
% GA_ex672.m file
% [Kp Ki Kd] values for a PID control system

% PenChen Chou, Aug. 17, 2001

%**********************************************************/
%       User can modify the following in blocks
%**********************************************************/
global MIN_offset MUL_factor Kp Ki Kd K a1 a2 MDL FT 
global ERR1 ERR2 ERR3 ERR4 ERR5 MAIN_loop evo_fuzzy Emin

evo_fuzzy=readfis('evo_fuzzy');
dcm2_init;
Emin=1e6;
MIN_offset=1400; % For finding MIN value
MUL_factor=1; MAIN_loop=0;
MDL='dcmotor_2'; FT=2; eval(MDL);
K=17661.1;a1=29.73;a2=21.033;
obj_fcn = 'GA_f672';	% Objective function
%          Kp    Ki   Kd    
range = [ 0.1 0.0064    50  
          2.5   0.25   195.5 ];
IC=[]; elite=1; 
gen_no=50;
popuSize=56;
bit_n=40;
xover_rate=0.9;
mutate_rate=0.04;
%************************************************************
% 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);            

% Final result
load xxx
[rise_time set_time ov_shoot Emin]
MAIN_loop=1;
ERR1=0;ERR2=0;ERR3=0;ERR4=0;ERR5=0;
collect_errors;
figure(2);
K=17661.1;a1=29.73;a2=21.033;

⌨️ 快捷键说明

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