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

📄 ga_fuzpid.m

📁 其中提到遺傳學的程式碼與應用提供給次淚相向的研究者參考下載
💻 M
字号:
% ga_fuzpid.m file
% Fin Skp Ski Skd for fuzzy PID control

% PenChen Chou, 2,28,2002

global MIN_offset MUL_factor LOCUS x_data y_data Skp Ski Skd MDL Emin
MIN_offset=2500; LOCUS=1; x_data=[]; y_data=[];
MUL_factor=1; MDL='fuzzy_PID';
fuzzy_kp=readfis('fuzzy_kp');
fuzzy_alpha=readfis('fuzzy_alpha');
Emin=MIN_offset;
%**********************************************************/
%       User can modify the following in blocks
%**********************************************************/
obj_fcn = 'GA_fpid';	% Objective function
range = [0.01 0.01 0.01
    20 20 20];	% Range of the input variables
IC=[]; elite=1; 
gen_no=15;
popuSize=22;
bit_n=30;
xover_rate=0.8;
mutate_rate=0.05;

%************************************************************
% call GA written by Chang
tic
% [popu, popu_real, fcn_value, upper, average,...
%  lower, BEST_popu, popuSize, gen_no, para, best_pi]=...
%  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\n',t);            
            
Skp=para(1);
Skd=para(2);
Ski=para(3);
[T X Y]=sim(MDL,10);
y=Y(:,1);err=Y(:,2);in=Y(:,3);kp=Y(:,4);Ki=Y(:,5);kd=Y(:,6);
figure(2);subplot(211);plot(T,[in y]);title('Fuzzy PID control')
figure(2);subplot(234);plot(T,[kp]);title('Fuzzy Kp plot')
figure(2);subplot(235);plot(T,[ki]);title('Fuzzy Ki plot')
figure(2);subplot(236);plot(T,[kd]);title('Fuzzy Kd plot')
fprintf('Skp=%8.4f;Ski=%8.4f;Skd=%8.4f\n',Skp,Ski,Skd);

⌨️ 快捷键说明

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