📄 ga_ex34.m
字号:
% 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -