📄 minputs.m
字号:
%
% minputs.m
%
% Display the alternative data selection
% screen.
%
% This form of data selection is only allowed
% when there are less than 18 variables
% in total
%
sub_main=figure('Number','Off',...
'Name','Data selection',...
'Menubar','None',...
'Resize','off',...
'Units','Pixels',...
'Position',[2 2 636 455]);
[D L]=size(data);
include_var=ones(1,L);
output_var=zeros(1,L);
input_var=ones(1,L);
time_var=zeros(1,L);
name_var=zeros(6,L);
for i=1:1:L;
name=['var ',num2str(i),' '];
name_var(i,1:1:6)=name(1:1:6);
end
%
% Print titles
%
text=uicontrol(sub_main,...
'style','text',...
'position',[80 400 50 15],...
'string','Include',...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 1]);
text=uicontrol(sub_main,...
'style','text',...
'position',[140 400 50 15],...
'string','Output',...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 1]);
text=uicontrol(sub_main,...
'style','text',...
'position',[200 400 50 15],...
'string','Input',...
'backgroundcolor',[0 0 1],...
'foregroundcolor',[1 1 1]);
text=uicontrol(sub_main,...
'style','text',...
'position',[260 400 50 15],...
'string','Time',...
'backgroundcolor',[0 0 1],...
'foregroundcolor',[1 1 1]);
%
% Starting at the top of the screen, work down
% and print check boxes
%
% work down in reasonable pixel sizes
%
p=370;
if L < 8
st=35;
else
st=round(340/L);
end
for i = 1 : 1 : L
%
% Variable number
%
text=uicontrol(sub_main,...
'style','text',...
'position',[10 p 80 15],...
'string',['Variable ' num2str(i)],...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 0]);
name_box(i,1)=uicontrol(sub_main,...
'Style','Edit',...
'Position',[340 p 60 15],...
'String',name_var(i,:),...
'ForegroundColor',[1 1 1],...
'BackgroundColor',[0 0 1]);
%
% Include box
%
but(i,1)=uicontrol(sub_main,...
'style','radio',...
'position',[100 p 15 15],...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 0],...
'callback',[
['if get(but(' num2str(i) ',1),''value'') == 0;'],...
['set(but(' num2str(i) ',2),''enable'',''off'');'],...
['set(but(' num2str(i) ',3),''enable'',''off'');'],...
['set(but(' num2str(i) ',4),''enable'',''off'');'],...
['set(but(' num2str(i) ',2),''value'',0);'],...
['set(but(' num2str(i) ',3),''value'',0);'],...
['set(but(' num2str(i) ',4),''value'',0);'],...
['include_var(' num2str(i) ')=0;'],...
'else;',...
['set(but(' num2str(i) ',2),''enable'',''on'');'],...
['set(but(' num2str(i) ',3),''enable'',''on'');'],...
['set(but(' num2str(i) ',4),''enable'',''on'');'],...
['set(but(' num2str(i) ',3),''value'',abs(output_var(' num2str(i) ')-1));'],...
['set(but(' num2str(i) ',2),''value'',output_var(' num2str(i) '));'],...
['set(but(' num2str(i) ',4),''value'',output_var(' num2str(i) '));'],...
['include_var(' num2str(i) ')=1;'],...
'end;']);
%
% Output box
%
but(i,2)=uicontrol(sub_main,...
'style','radio',...
'position',[160 p 15 15],...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 0],...
'callback',[
['output_var(' num2str(i) ')=1; '],...
['input_var(' num2str(i) ')=0; '],...
['time_var(' num2str(i) ')=0; '],...
['set(but(' num2str(i) ',3),''value'',0);'],...
['set(but(' num2str(i) ',2),''value'',1);'],...
['set(but(' num2str(i) ',4),''value'',0);']]);
%
% Input box
%
but(i,3)=uicontrol(sub_main,...
'style','radio',...
'position',[220 p 15 15],...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 0],...
'callback',[
['input_var(' num2str(i) ')=1; '],...
['output_var(' num2str(i) ') = 0; '],...
['time_var(' num2str(i) ') = 0; '],...
['set(but(' num2str(i) ',2),''value'',0);'],...
['set(but(' num2str(i) ',3),''value'',1);'],...
['set(but(' num2str(i) ',4),''value'',0);']]);
%
% Input box
%
but(i,4)=uicontrol(sub_main,...
'style','radio',...
'position',[280 p 15 15],...
'foregroundcolor',[1 1 1],...
'backgroundcolor',[0 0 0],...
'callback',[
['input_var(' num2str(i) ')=0; '],...
['output_var(' num2str(i) ') = 0; '],...
['time_var(' num2str(i) ') = 1; '],...
['set(but(' num2str(i) ',2),''value'',0);'],...
['set(but(' num2str(i) ',3),''value'',0);'],...
['set(but(' num2str(i) ',4),''value'',1);']]);
%
% Set up the buttons accordingly
%
set(but(i,1),'value',include_var(i));
if output_var(i) == 1
set(but(i,2),'value',1);
set(but(i,3),'value',0);
else
set(but(i,2),'value',0);
set(but(i,3),'value',1);
end
if include_var(i) == 1
set(but(i,2),'enable','on');
set(but(i,3),'enable','on');
else
set(but(i,2),'enable','off');
set(but(i,3),'enable','off');
set(but(i,2),'value',0);
set(but(i,3),'value',0);
end
p=p-st;
end
%
% Include everything button
%
but1=uicontrol(sub_main,...
'style','push',...
'position',[450 250 150 30],...
'string','Include Everything',...
'callback',[
'include_var=ones(1,L);',...
'for i = 1 : L;',...
'set(but(i,2),''value'',output_var(i));',...
'set(but(i,3),''value'',abs(output_var(i)-1));',...
'set(but(i,1),''value'',1);',...
'set(but(i,2),''enable'',''on'');',...
'set(but(i,3),''enable'',''on'');',...
'set(but(i,4),''enable'',''on'');',...
'end;']);
%
% All inputs
%
but2=uicontrol(sub_main,...
'style','push',...
'position',[450 200 150 30],...
'string','All inputs',...
'callback',[
'output_var=zeros(1,L);',...
'for i = 1 : L;',...
'if include_var(i)==1;',...
'set(but(i,2),''value'',0);',...
'set(but(i,3),''value'',1);',...
'set(but(i,4),''value'',0);',...
'end;',...
'end;']);
but3=uicontrol(sub_main,...
'style','push',...
'position',[450 150 150 30],...
'string','Done',...
'callback',['for i=1:1:L;',...
'name=get(name_box(i,1),''String'');',...
'name_size=size(name,2);',...
'if name_size>6;',...
'name_size=6;',...
'end;',...
'name_var(i,1:1:6)=['' ''];',...
'name_var(i,1:1:name_size)=name(1:1:name_size);',...
'end;',...
'if sum(time_var)==1;',...
'for i=1:1:L;',...
'if include_var(i)==0;',...
'input_var(i)=0;',...
'output_var(i)=0;',...
'end;',...
'end;',...
'if sum(output_var)==1;',...
'if sum(input_var)>9;',...
'dialog(''style'',''error'',''replace'',''on'',''resize'',''off'',''name'',''Error'',''Textstring'',e1);',...
'else;',...
'close(sub_main);',...
'miden_ch;',...
'end;',...
'else;',...
'dialog(''style'',''error'',''replace'',''on'',''resize'',''off'',''name'',''Error'',''Textstring'',e1);',...
'end;',...
'else;',...
'dialog(''style'',''error'',''replace'',''on'',''resize'',''off'',''name'',''Error'',''Textstring'',e1);',...
'end;']);
e1=[' '
' Error '
' '
' Only one output and time variable may be '
' selected and a maximum of nine inputs. '
' '];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -