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

📄 gafil.m

📁 王小平《遗传算法——理论、应用与软件实现》随书光盘
💻 M
字号:
%% gafil.m%% Uses a GA to pick a set of filters for a set of data%%% Default values%out_col=1;df_name1=[];df_path1=[];mut_rat=0.2;cro_rat=0.6;scale_data=1;save_data=0;save_data_name='';max_gen=50;working_directory='c:\novacor\gafilt';tr_split=50;members=40;%% Bring up a control window%ga_win=figure;set(ga_win,...	'position',[20 40 400 400],...	'color',[1 1 1],...	'menubar','none',...	'numbertitle','off',...        'resize','off',...	'name','Genetic filter picker');%% Ask for a data file to use%text(1)=da_text(ga_win,20,360,160,20,'Training data file name',[0 0 0],[1 1 1]);text(2)=da_text(ga_win,190,360,100,20,'',[1 1 1],[1 0 0]);but(1)=uicontrol(ga_win,...	'style','push',...	'position',[300 360 80 20],...	'string','Browse...',...	'callback',[		'[df_name1 df_path1]=uigetfile(''*.dat'',''Select a data file'',200,200);',...		'set(text(2),''string'',num2str(df_name1));']);%% Line underneath this%line(1)=uicontrol(ga_win,...	'style','frame',...	'position',[20 340 360 2]);%% Display ask for an output column number%text(3)=da_text(ga_win,20,300,100,20,'Output column:',[0 0 0],[1 1 1]);text(4)=uicontrol(ga_win,...	'style','edit',...	'position',[190 300 50 20],...	'foregroundcolor',[1 1 1],...	'backgroundcolor',[1 0 0],...	'string',num2str(out_col),...	'callback','out_col=str2num(get(text(4),''string''));');%% Line underneath this%line(2)=uicontrol(ga_win,...	'style','frame',...	'position',[20 280 360 2]);%% Slider to ask for the mutation rate%slider(1)=uicontrol(ga_win,...	'style','slider',...	'position',[150 230 150 20],...	'min',0,...	'value',mut_rat,...	'max',1,...	'callback',[		'set(text(6),''string'',num2str(get(slider(1),''value'')));',...		'mut_rat=get(slider(1),''value'');']);	text(5)=da_text(ga_win,20,230,120,20,'Mutation rate:    0',[0 0 0],[1 1 1]);text(6)=da_text(ga_win,250,255,60,20,num2str(get(slider(1),'value')),[0 0 0],[1 1 1]);text(7)=da_text(ga_win,310,230,20,20,'1',[0 0 0],[1 1 1]);%% Line under this%line(3)=uicontrol(ga_win,...	'style','frame',...	'position',[20 210 360 2]);%% Slider for Crossover rate%slider(2)=uicontrol(ga_win,...	'style','slider',...	'position',[150 160 150 20],...	'min',0,...	'max',1,...	'value',cro_rat,...	'callback',[		'set(text(9),''string'',num2str(get(slider(2),''value'')));',...		'cro_rat=get(slider(2),''value'');']);text(8)=da_text(ga_win,20,160,120,20,'Crossover rate: 0',[0 0 0],[1 1 1]);text(9)=da_text(ga_win,250,185,60,20,num2str(get(slider(2),'value')),[0 0 0],[1 1 1]);text(10)=da_text(ga_win,310,160,20,20,'1',[0 0 0],[1 1 1]);%% Line under this%line(4)=uicontrol(ga_win,...	'style','frame',...	'position',[20 140 360 2]);%% Option to scale data%check(1)=uicontrol(ga_win,...	'style','check',...	'position',[20 110 200 20],...	'string','Scale data during modelling',...	'horizontalalignment','left',...	'value',scale_data,...	'callback','scale_data=get(check(1),''value'');');%% Save data check box and filename%check(2)=uicontrol(ga_win,...	'style','check',...	'position',[20 80 200 20],...	'string','Save processsed data',...	'horizontalalignment','left',...	'value',save_data,...	'callback','save_data=get(check(2),''value'');');text(11)=uicontrol(ga_win,...	'style','edit',...	'position',[230 80 150 20],...	'string',save_data_name',...	'horizontalalignment','left',...	'callback','save_data_name=get(text(11),''string'');');%% Number of generations%text(12)=da_text(ga_win,20,50,100,20,'Generations:',[0 0 0],[1 1 1]);text(13)=uicontrol(ga_win,...	'style','edit',...	'position',[140 50 50 20],...	'string',num2str(max_gen),...	'callback','max_gen=str2num(get(text(13),''string''));');%% Train/test split%text(14)=da_text(ga_win,20,30,100,20,'Train/Test split',[0 0 0],[1 1 1]);text(15)=uicontrol(ga_win,...	'style','edit',...	'position',[140 30 50 20],...	'string',num2str(tr_split),...	'callback','tr_split=str2num(get(text(15),''string''));');%% Population size%text(16)=da_text(ga_win,20,10,100,20,'Population size:',[0 0 0],[1 1 1]);text(17)=uicontrol(ga_win,...	'style','edit',...	'position',[140 10 50 20],...	'string',num2str(members),...	'callback','members=str2num(get(text(17),''string''));');%% Start button%but(1)=uicontrol(ga_win,...	'style','push',...	'string','START',...	'callback','garun;',...	'position',[280 20 100 30]);

⌨️ 快捷键说明

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