📄 val66.m
字号:
% default settings:nparam=2;psz = 10;ngen = 10;pm = 0.04;px = 0.8;xtype = 3;elite = 1;ffunc = 3;for i=1:5 maxval(i)=100; h2(i)=10; minval(i)=0;endmfun=1;%%% fig = findobj('Type','figure','Tag','GA Demo'); if isempty(fig) % Build the GUI fig = figure('Units','Normal','Position',[.25 .25 .5 .5], ... 'Name','GA Demo',... 'NumberTitle','off','Tag','GA Demo'); set(fig,'DefaultUicontrolUnits','normal') % % % end t = uicontrol('Style','text','Units','normal', ... 'Position',[.05 .95 .7 .05],'String',' Enter number of variables: (def=2)'); num = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .95 .15 .05]); call = ['str = get(num,''String'');', ... 'nparam = str2num(str);', ... 'fprintf(''The number is %f.\n'',nparam)']; set(num,'CallBack',call)% t2= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .89 .39 .05],'String',' Length of individual: (def=10)'); uh2(1) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.45 .89 .06 .05]); call = ['str = get(uh2(1),''String'');', ... 'h2(1) = str2num(str);', ... 'fprintf(''The length of variable 1 %f.\n'',h2(1))']; set(uh2(1),'CallBack',call) % t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .89 .39 .05],'String',' Length of individual: '); uh2(2) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.52 .89 .06 .05]); call = ['str = get(uh2(2),''String'');', ... 'h2(2) = str2num(str);', ... 'fprintf(''The length of variable 2 %f.\n'',h2(2))']; set(uh2(2),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .89 .39 .05],'String',' Length of individual: '); uh2(3) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.59 .89 .06 .05]); call = ['str = get(uh2(3),''String'');', ... 'h2(3) = str2num(str);', ... 'fprintf(''The length of variable 3 %f.\n'',h2(3))']; set(uh2(3),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .89 .39 .05],'String',' Length of individual: '); uh2(4) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.66 .89 .06 .05]); call = ['str = get(uh2(4),''String'');', ... 'h2(4) = str2num(str);', ... 'fprintf(''The length of variable 4 %f.\n'',h2(4))']; set(uh2(4),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .89 .39 .05],'String',' Length of individual: (def=10)'); uh2(5) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.73 .89 .06 .05]); call = ['str = get(uh2(5),''String'');', ... 'h2(5) = str2num(str);', ... 'fprintf(''The length of variable 5 %f.\n'',h2(5))']; set(uh2(5),'CallBack',call) % t3= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .83 .7 .05],'String',' Population size: (default=10)'); psz1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .83 .15 .05]); call = ['str = get(psz1,''String'');', ... 'psz = str2num(str);', ... 'fprintf(''The population size is %f.\n'',psz)']; set(psz1,'CallBack',call)%t4= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .77 .7 .05],'String',' Number of generations: (default=10)'); ngen1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .77 .15 .05]); call = ['str = get(ngen1,''String'');', ... 'ngen = str2num(str);', ... 'fprintf(''The number of generations is %f.\n'',ngen)']; set(ngen1,'CallBack',call)% t5= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .71 .7 .05],'String',' Mutation probability: (default=0.04)'); pm1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .71 .15 .05]); call = ['str = get(pm1,''String'');', ... 'pm = str2num(str);', ... 'fprintf(''The mutation probability is %f.\n'',pm)']; set(pm1,'CallBack',call)%t6= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .65 .7 .05],'String',' Crossover probability: (default=0.8)'); px1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .65 .15 .05]); call = ['str = get(px1,''String'');', ... 'px = str2num(str);', ... 'fprintf(''The crossover probability is %f.\n'',px)']; set(px1,'CallBack',call)%t7= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .59 .7 .05],'String',' Crossover type ( 1=single,2=double,3=uniform) : (def=3)'); xtype1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .59 .15 .05]); call = ['str = get(xtype1,''String'');', ... 'xtype = str2num(str);', ... 'fprintf(''The number is %f.\n'',xtype)']; set(xtype1,'CallBack',call)%t8= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .53 .7 .05],'String',' Elitism (1=on,2=off): (default on) '); uelite = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .53 .15 .05]); call = ['str = get(uelite,''String'');', ... 'elite = str2num(str);', ... 'fprintf(''The number is %f.\n'',elite)']; set(uelite,'CallBack',call)%t9= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .47 .7 .05],'String',' Function type: (default rosenbrock)'); ffunc1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .47 .15 .05]); call = ['str = get(ffunc1,''String'');', ... 'ffunc = str2num(str);', ... 'fprintf(''The number is %f.\n'',ffunc)']; set(ffunc1,'CallBack',call)% t11= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .41 .7 .05],'String',' Maximizing (1=on,2=off): (default maximizing)'); mfun1 = uicontrol('Style','edit','Units','normal', ... 'Position',[.75 .41 .15 .05]); call = ['str = get(mfun1,''String'');', ... 'mfun = str2num(str);', ... 'fprintf(''The number is %f.\n'',mfun)']; set(mfun1,'CallBack',call)% t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .35 .25 .05],'String',' Max values: '); umaxval(1) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.45 .35 .06 .05]); call = ['str = get(umaxval(1),''String'');', ... 'maxval(1) = str2num(str);', ... 'fprintf(''Maxval for variable 1 %f.\n'',maxval(1))']; set(umaxval(1),'CallBack',call)% t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .35 .25 .05],'String',' Max values: '); umaxval(2) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.52 .35 .06 .05]); call = ['str = get(umaxval(2),''String'');', ... 'maxval(2) = str2num(str);', ... 'fprintf(''Maxval for variable 2 %f.\n'',maxval(2))']; set(umaxval(2),'CallBack',call)% t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .35 .25 .05],'String',' Max values: '); umaxval(3) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.59 .35 .06 .05]); call = ['str = get(umaxval(3),''String'');', ... 'maxval(3) = str2num(str);', ... 'fprintf(''Maxval for variable 3 %f.\n'',maxval(3))']; set(umaxval(3),'CallBack',call)% t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .35 .25 .05],'String',' Max values: '); umaxval(4) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.66 .35 .06 .05]); call = ['str = get(umaxval(4),''String'');', ... 'maxval(4) = str2num(str);', ... 'fprintf(''Maxval for variable 4 %f.\n'',maxval(4))']; set(umaxval(4),'CallBack',call)% t12= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .35 .25 .05],'String',' Max values: (100) '); umaxval(5) = uicontrol('Style','edit','Units','normal', ... 'Position',[0.73 .35 .06 .05]); call = ['str = get(umaxval(5),''String'');', ... 'maxval(5) = str2num(str);', ... 'fprintf(''Maxval for variable 5 %f.\n'',maxval(5))']; set(umaxval(5),'CallBack',call)% t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .29 .25 .05],'String',' Min values: '); uminval(1) = uicontrol('Style','edit','Units','normal', ... 'Position',[.45 .29 .06 .05]); call = ['str = get(uminval(1),''String'');', ... 'minval(1) = str2num(str);', ... 'fprintf(''Minval for variable 1 %f.\n'',minval(1))']; set(uminval(1),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .29 .25 .05],'String',' Min values: '); uminval(2) = uicontrol('Style','edit','Units','normal', ... 'Position',[.52 .29 .06 .05]); call = ['str = get(uminval(2),''String'');', ... 'minval(2) = str2num(str);', ... 'fprintf(''Minval for variable 2 %f.\n'',minval(2))']; set(uminval(2),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .29 .25 .05],'String',' Min values: '); uminval(3) = uicontrol('Style','edit','Units','normal', ... 'Position',[.59 .29 .06 .05]); call = ['str = get(uminval(3),''String'');', ... 'minval(3) = str2num(str);', ... 'fprintf(''Minval for variable 3 %f.\n'',minval(3))']; set(uminval(3),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .29 .25 .05],'String',' Min values: '); uminval(4) = uicontrol('Style','edit','Units','normal', ... 'Position',[.66 .29 .06 .05]); call = ['str = get(uminval(4),''String'');', ... 'minval(4) = str2num(str);', ... 'fprintf(''Minval for variable 4 %f.\n'',minval(4))']; set(uminval(4),'CallBack',call) % t13= uicontrol('Style','text','Units','normal', ... 'Position',[.05 .29 .25 .05],'String',' Min values: (0) '); uminval(5) = uicontrol('Style','edit','Units','normal', ... 'Position',[.73 .29 .06 .05]); call = ['str = get(uminval(5),''String'');', ... 'minval(5) = str2num(str);', ... 'fprintf(''Minval for variable 5 %f.\n'',minval(5))']; set(uminval(5),'CallBack',call)%% Create Pushbuttons% ka(1) = uicontrol('Style','pushbutton','Position',[.02 .025 .3 .1], ... 'call','gademo(nparam,h2,psz,ngen,pm,px,xtype,elite,ffunc,mfun,maxval,minval,2)','string', ... 'Start with min printout'); ka(2) = uicontrol('Style','pushbutton','Position',[.35 .025 .3 .1], ... 'call','gademo(nparam,h2,psz,ngen,pm,px,xtype,elite,ffunc,mfun,maxval,minval,1)','string', ... 'Start with max printout'); ka(3) = uicontrol('Style','pushbutton','Position',[.68 .025 .1 .1], ... 'call','clear all ; close all ; ','string','Quit'); ka(4) = uicontrol('Style','pushbutton','Position',[.81 .025 .1 .1], ... 'call',' help gademo ','string','Help');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -