📄 ga_ex651.m
字号:
% GA_ex651.m file
% Find scaling factors of a Fuzzy control system by using GA
% PenChen Chou, 8-6-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 LOCUS x_data y_data
global Emin MDL Se Sde Su FT x0 y0 phi0
BB_init;
MDL='back_track'; eval(MDL); FT=2;
MIN_offset=9e5; LOCUS=0; x_data=[]; y_data=[];
MUL_factor=5;
Emin=MIN_offset;
obj_fcn = 'GA_f651'; % Objective function
range = [ 0.8 0.9 0.1
1.2 1.1 1.0];
IC=[];elite=1;
gen_no=40; popuSize=40;
gen_no=10; popuSize=10;
bit_n=40; xover_rate=1; mutate_rate=0.05;
figure(3);hold on;grid
%************************************************************
% calling GA
tic
% function [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);
[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);
% Show the result using parameters found by GA
Se=para(1);
Sde=para(2);
Su=para(3);
x0=0;y0=0;phi0=30;
[t, X, Y]=sim(MDL,[0:0.01:2]);
x=Y(:,1);y=Y(:,2);phi=Y(:,3);N=length(t);
figure(2);subplot(111);plot(x,y,'.');axis([0 20 0 200])
title('GA based vehicle back track trajectory');
xlabel(['Time(s), Se=' num2str(Se) ',Sde=' num2str(Sde) ',Su=' num2str(Su)]);
figure(3);hold off;clf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -