📄 ga_f671.m
字号:
function PI=GA_f671(x)
% Fitness max. function evaluation of Example 6.7-1
% PenChen Chou, Aug. 16, 2001
global MIN_offset MUL_factor ROBUST Kp Ki Kd K a1 a2 MDL FT Emin
global ERR1 ERR2 ERR3 ERR4 ERR5 MAIN_loop
Kp=GA_round4dp(x(1));
Ki=GA_round4dp(x(2));
Kd=GA_round4dp(x(3));
PI=0;
ERR1=0;ERR2=0;ERR3=0;ERR4=0;ERR5=0;
if ROBUST==0
Err_scale=1;
[T X Y]=sim(MDL,[0 FT]);
err=Y(:,3); N=length(err);err=err(N);
stp=Y(:,4); stp=stp(N);
ERR1=err+1000*stp;
% if max(yout)>1.15; PI=PI+500; end;
K=17661.1;a1=29.73;a2=21.033;
K=2.5*K; a1=0.4*a1; a2=0.4*a2;
[T X Y]=sim(MDL,[0 FT]);
err=Y(:,3); N=length(err);err=err(N);
stp=Y(:,4); stp=stp(N);
ERR2=100*err+1000*stp;
else
Err_scale=1;
collect_errors;
PI=Err_scale*PI;
end; % End of ROBUST check
ERR=ERR1+ERR2+ERR3+ERR4+ERR5;
PI=ERR;
K=17661.1;a1=29.73;a2=21.033;
if Emin>PI
Emin=PI;
fprintf('\n==>Emin=%10.4f;Kp=%10.6f;Ki=%10.6f;Kd=%10.6f;\n',...
Emin,Kp,Ki,Kd);
else
fprintf('>');
end;
if MIN_offset~=0
PI=MIN_offset-PI;
end;
PI=MUL_factor*PI;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -