📄 gafil.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 + -