function varargout = funcslider(varargin) % FUNCSLIDER Function Slider GUI % % FUNCSLIDER is a utility to vary input arguments (up to 5) % continuously using slider bars, and then evaluating a function based % on the output. The default limits of the slider bars are [0 -> 1], % but may be changed. % Input Function is a function handle (it must start with @). % The structure of the function will be analyzed to give an assumed % format of [z1,z2,..] = f(x1,x2,...) based on the number of input % and output arguments. % Output function is any valid MATLAB expression involving the output % variables [z1,z2,...] % % FUNCSLIDER starts the GUI populating the fields with demo values. % % FUNCSLIDER(F) starts the GUI with function handle F as the input % function, and an empty output function. % % FUNCSLIDER(F,S) starts the GUI with function handle F as the input % function, and string S as the output function. % % NOTE: Any of these values may be changed from inside the GUI. % % EXAMPLES: % 1. Running funcslider by itself will give a default example using % an anonymous function % % funcslider % % 2. This is an example using a surface plot: % % funcslider(@example1,'surf(z1); camlight') % % 3. Here is an example that uses multiple output values: % % funcslider(@example2,'plot(z1,z2)') % % 4. An example that uses three input values: % % funcslider(@example3,'stem(z1)') % % 5. Here is another example using anonymous functions and data from % the workspace: % % I = rand(101,101,101); % funcslider(@(k) I(:,:,1+round(100*k)) ,'imagesc(z1)') % % % % % Teja Muppirala % Copyright 2010 The MathWorks, Inc. % Version 1.0 2010/6/30 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @funcslider_OpeningFcn, ... 'gui_OutputFcn', @funcslider_OutputFcn, ... 'gui_LayoutFcn', @funcslider_LayoutFcn, ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before funcslider is made visible. function funcslider_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to funcslider (see VARARGIN) if isempty(varargin) set(handles.edit_in,'string','@(x) x*sin(x*[1:100])') set(handles.edit_out,'string','plot(z1); grid on'); else fin = varargin{1}; try; set(handles.edit_out,'string',varargin{2}); end fstring = func2str(fin); if fstring(1) ~= '@', fstring = ['@' fstring]; end set(handles.edit_in,'string',fstring); end fin = get(handles.edit_in,'string'); set(gcf,'units','normalized','interruptible','off'); set(gcf,'Name','Function Slider'); %set(handles.axes1,'nextplot','replacechildren'); for k = 1:5 eval(['s(' num2str(k) ') = handles.slider' num2str(k) ';']); end setappdata(gcf,'s',s); initialize(fin,handles); % Choose default command line output for funcslider handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes funcslider wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = funcslider_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function edit_in_Callback(hObject, eventdata, handles) % hObject handle to edit_in (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_in as text % str2double(get(hObject,'String')) returns contents of edit_in as a double fin = get(handles.edit_in,'string'); try; initialize(fin,handles); catch; disp(lasterr); end % --- Executes during object creation, after setting all properties. function edit_in_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_in (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_out_Callback(hObject, eventdata, handles) % hObject handle to edit_out (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_out as text % str2double(get(hObject,'String')) returns contents of edit_out as a double % --- Executes during object creation, after setting all properties. function edit_out_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_out (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % --- Executes on slider movement. function slider1_Callback(hObject, eventdata, handles) slidermove(handles) % --- Executes during object creation, after setting all properties. function slider1_CreateFcn(hObject, eventdata, handles) % hObject handle to slider1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % --- Executes on slider movement. function slider2_Callback(hObject, eventdata, handles) slidermove(handles) % --- Executes during object creation, after setting all properties. function slider2_CreateFcn(hObject, eventdata, handles) % hObject handle to slider2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % --- Executes on slider movement. function slider3_Callback(hObject, eventdata, handles) slidermove(handles) % --- Executes during object creation, after setting all properties. function slider3_CreateFcn(hObject, eventdata, handles) % hObject handle to slider3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % --- Executes on slider movement. function slider4_Callback(hObject, eventdata, handles) slidermove(handles) % --- Executes during object creation, after setting all properties. function slider4_CreateFcn(hObject, eventdata, handles) % hObject handle to slider4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end % --- Executes on slider movement. function slider5_Callback(hObject, eventdata, handles) slidermove(handles) % --- Executes during object creation, after setting all properties. function slider5_CreateFcn(hObject, eventdata, handles) % hObject handle to slider5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end function edit_min1_Callback(hObject, eventdata, handles) % hObject handle to edit_min1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_min1 as text % str2double(get(hObject,'String')) returns contents of edit_min1 as a double adj_sliderlevels(handles,1); % --- Executes during object creation, after setting all properties. function edit_min1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_min1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_min2_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,2); % --- Executes during object creation, after setting all properties. function edit_min2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_min2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_min3_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,3); % --- Executes during object creation, after setting all properties. function edit_min3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_min3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_min4_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,4); % --- Executes during object creation, after setting all properties. function edit_min4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_min4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_min5_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,5); % --- Executes during object creation, after setting all properties. function edit_min5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_min5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_max1_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,1); % --- Executes during object creation, after setting all properties. function edit_max1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_max1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_max2_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,2); % --- Executes during object creation, after setting all properties. function edit_max2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_max2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_max3_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,3); % --- Executes during object creation, after setting all properties. function edit_max3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_max3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_max4_Callback(hObject, eventdata, handles) sadj_sliderlevels(handles,4); % --- Executes during object creation, after setting all properties. function edit_max4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_max4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_max5_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,1); % --- Executes during object creation, after setting all properties. function edit_max5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_max5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_val1_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,1); % --- Executes during object creation, after setting all properties. function edit_val1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_val1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_val2_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,2); % --- Executes during object creation, after setting all properties. function edit_val2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_val2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_val3_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,3); % --- Executes during object creation, after setting all properties. function edit_val3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_val3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_val4_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,4); % --- Executes during object creation, after setting all properties. function edit_val4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_val4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit_val5_Callback(hObject, eventdata, handles) adj_sliderlevels(handles,5); % --- Executes during object creation, after setting all properties. function edit_val5_CreateFcn(hObject, eventdata, handles) % hObject handle to edit_val5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function slidermove(handles) s = getappdata(gcbf,'s'); invals = getappdata(gcbf,'invals'); outvals = getappdata(gcbf,'outvals'); s = s(1:invals); p = get(s,'value'); if isequal(p, get(gcf,'userdata')) return end if get(handles.checkbox1,'value') curxlim = xlim; end if get(handles.checkbox2,'value') curylim = ylim; end if get(handles.checkbox3,'value') curzlim = zlim; end if get(handles.checkbox4,'value') ct0 = get(gca,'cameratarget'); cu0 = get(gca,'cameraupvector'); cp0 = get(gca,'cameraposition'); cv0 = get(gca,'cameraview'); da0 = get(gca,'dataaspectratio'); [AZ,EL] = view; end h_out = handles.edit_out; fin = getappdata(gcf,'fin'); fstring = '[z1'; for k = 2:outvals fstring = [fstring ',z' num2str(k)]; end try if iscell(p) %z = feval(fin,p{:}); eval([fstring '] = feval(fin,p{:});']); else %z = feval(fin,p); eval([fstring '] = feval(fin,p);']); end catch, disp(lasterr) end set(handles.text1,'string',evalc('whos z*')); try; eval(get(h_out,'string')); catch; disp(lasterr); end %Adjust the limits if needed if get(handles.checkbox1,'value') xlim(curxlim) end if get(handles.checkbox2,'value') ylim(curylim); end if get(handles.checkbox3,'value') zlim(curzlim); end if get(handles.checkbox4,'value') view(AZ,EL); set(gca,'cameratarget',ct0); set(gca,'cameraupvector',cu0); set(gca,'cameraposition',cp0); set(gca,'cameraview',cv0); set(gca,'dataaspectratio',da0); end drawnow; for k = 1:invals hsli = eval(['handles.slider' num2str(k)]); hval = eval(['handles.edit_val' num2str(k)]); set(hval,'string',num2str(get(hsli,'value'))); end set(gcf,'userdata',p); function initialize(fin,handles) if fin(1) ~= '@'; errordlg('The input function should start with ''@''') end try fin = evalin('base',fin); catch errordlg(lasterr); return end setappdata(gcf,'fin',fin); invals = nargin(fin); outvals = abs(nargout(fin)); setappdata(gcf,'invals',invals); setappdata(gcf,'outvals',outvals); s = getappdata(gcf,'s'); set(s(1:invals),'enable','on'); set(s(invals+1:5),'enable','off'); fstring = '(x1'; for k = 2:invals fstring = [fstring ',x' num2str(k)]; end rhs = [fstring ')']; fstring = '[z1'; for k = 2:outvals fstring = [fstring ',z' num2str(k)]; end lhs = [fstring ']']; set(handles.text14,'string',['Function structure: ' lhs ' = f' rhs]); % --- Executes on mouse motion over figure - except title and menu. function figure1_WindowButtonMotionFcn(hObject, eventdata, handles) slidermove(handles); function adj_sliderlevels(handles,num) hmin = eval(['handles.edit_min' num2str(num)]); hmax = eval(['handles.edit_max' num2str(num)]); hval = eval(['handles.edit_val' num2str(num)]); hsli = eval(['handles.slider' num2str(num)]); newmin = str2double(get(hmin, 'string')); if ~isnumeric(newmin) || ~isfinite(newmin), newmin = 0; end newmax = str2double(get(hmax, 'string')); if ~isnumeric(newmin) || ~isfinite(newmax), newmax = 0; end newval = str2double(get(hval, 'string')); if ~isnumeric(newmin) || ~isfinite(newmax), newval = newmin; end if newval > newmax, newmax = newval; set(hmax,'string',num2str(newmax)); elseif newval < newmin, newmin = newval; set(hmin,'string',num2str(newmin)); end set(hsli, 'min', newmin, 'max', newmax,'value',newval); % --- Executes on button press in checkbox1. function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if get(hObject,'Value') viewdata = getappdata(gcf,'viewdata'); viewdata(1,:) = xlim; setappdata(gcf,'viewdata',viewdata); end % Hint: get(hObject,'Value') returns toggle state of checkbox1 % --- Executes on button press in checkbox2. function checkbox2_Callback(hObject, eventdata, handles) % hObject handle to checkbox2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if get(hObject,'Value') viewdata = getappdata(gcf,'viewdata'); viewdata(2,:) = ylim; setappdata(gcf,'viewdata',viewdata); end % Hint: get(hObject,'Value') returns toggle state of checkbox2 % --- Executes on button press in checkbox3. function checkbox3_Callback(hObject, eventdata, handles) % hObject handle to checkbox3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if get(hObject,'Value') viewdata = getappdata(gcf,'viewdata'); viewdata(3,:) = zlim; setappdata(gcf,'viewdata',viewdata); end % Hint: get(hObject,'Value') returns toggle state of checkbox3 % --- Executes on button press in checkbox4. function checkbox4_Callback(hObject, eventdata, handles) % hObject handle to checkbox4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if get(hObject,'Value') viewdata = getappdata(gcf,'viewdata'); [AZ,EL] = view; viewdata(4,:) = [AZ,EL]; setappdata(gcf,'viewdata',viewdata); end % Hint: get(hObject,'Value') returns toggle state of checkbox4 % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) cla reset;%(handles.axes1); %view([0 90]); %set(handles.axes1,'nextplot','replacechildren'); % --- Creates and returns a handle to the GUI figure. function h1 = funcslider_LayoutFcn(policy) % policy - create a new figure or use a singleton. 'new' or 'reuse'. persistent hsingleton; if strcmpi(policy, 'reuse') & ishandle(hsingleton) h1 = hsingleton; return; end appdata = []; appdata.GUIDEOptions = struct(... 'active_h', [], ... 'taginfo', struct(... 'figure', 2, ... 'edit', 18, ... 'slider', 6, ... 'text', 15, ... 'listbox', 2, ... 'axes', 2, ... 'checkbox', 5, ... 'pushbutton', 2), ... 'override', 1, ... 'release', 13, ... 'resize', 'simple', ... 'accessibility', 'callback', ... 'mfile', 1, ... 'callbacks', 1, ... 'singleton', 1, ... 'syscolorfig', 1, ... 'blocking', 0, ... 'lastSavedFile', 'C:\MATLAB\Work\100623_varslider\Version1p0\funcslider.m', ... 'lastFilename', 'C:\MATLAB\Work\100623_varslider\fcnslider.fig'); appdata.lastValidTag = 'figure1'; appdata.GUIDELayoutEditor = []; appdata.initTags = struct(... 'handle', [], ... 'tag', 'figure1'); h1 = figure(... 'Units','characters',... 'PaperUnits',get(0,'defaultfigurePaperUnits'),... 'Color',[0.831372549019608 0.815686274509804 0.784313725490196],... 'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],... 'IntegerHandle','off',... 'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),... 'MenuBar','none',... 'Name','fcnslider',... 'NumberTitle','off',... 'PaperPosition',get(0,'defaultfigurePaperPosition'),... 'PaperSize',get(0,'defaultfigurePaperSize'),... 'PaperType',get(0,'defaultfigurePaperType'),... 'Position',[103.666666666667 8.91666666666667 107.833333333333 52.5833333333333],... 'ToolBar','figure',... 'WindowButtonMotionFcn',@(hObject,eventdata)funcslider('figure1_WindowButtonMotionFcn',hObject,eventdata,guidata(hObject)),... 'HandleVisibility','callback',... 'Tag','figure1',... 'UserData',[],... 'Visible','on',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'edit_in'; h2 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_in_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[0.12210200927357 0.141045958795563 0.217928902627512 0.0332805071315372],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_in_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_in'); appdata = []; appdata.lastValidTag = 'edit_out'; h3 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_out_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[0.523956723338485 0.141045958795563 0.217928902627512 0.0332805071315372],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_out_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_out'); appdata = []; appdata.lastValidTag = 'slider1'; h4 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback',@(hObject,eventdata)funcslider('slider1_Callback',hObject,eventdata,guidata(hObject)),... 'CData',[],... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.106646058732612 0.318541996830428 0.712519319938176 0.0316957210776545],... 'String',{ 'スライダ' },... 'Style','slider',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('slider1_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','slider1',... 'UserData',[]); appdata = []; appdata.lastValidTag = 'slider2'; h5 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback',@(hObject,eventdata)funcslider('slider2_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.106646058732612 0.286846275752773 0.712519319938176 0.0316957210776545],... 'String',{ 'スライダ' },... 'Style','slider',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('slider2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','slider2'); appdata = []; appdata.lastValidTag = 'slider3'; h6 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback',@(hObject,eventdata)funcslider('slider3_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.106646058732612 0.255150554675119 0.712519319938176 0.0316957210776545],... 'String',{ 'スライダ' },... 'Style','slider',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('slider3_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','slider3'); appdata = []; appdata.lastValidTag = 'slider4'; h7 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback',@(hObject,eventdata)funcslider('slider4_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.106646058732612 0.223454833597464 0.712519319938176 0.0316957210776545],... 'String',{ 'スライダ' },... 'Style','slider',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('slider4_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','slider4'); appdata = []; appdata.lastValidTag = 'slider5'; h8 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback',@(hObject,eventdata)funcslider('slider5_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.106646058732612 0.19175911251981 0.712519319938176 0.0316957210776545],... 'String',{ 'スライダ' },... 'Style','slider',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('slider5_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','slider5'); appdata = []; appdata.lastValidTag = 'edit_min1'; h9 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_min1_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0293663060278207 0.322325569817708 0.0633693972179289 0.0338032376100431],... 'String','0',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_min1_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_min1'); appdata = []; appdata.lastValidTag = 'edit_min2'; h10 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_min2_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0293663060278207 0.290132010189096 0.0633693972179289 0.0338032376100431],... 'String','0',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_min2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_min2'); appdata = []; appdata.lastValidTag = 'edit_min3'; h11 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_min3_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0293663060278207 0.259548128541914 0.0633693972179289 0.0338032376100431],... 'String','0',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_min3_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_min3'); appdata = []; appdata.lastValidTag = 'edit_min4'; h12 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_min4_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0293663060278207 0.228939354967184 0.0633693972179289 0.0338032376100431],... 'String','0',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_min4_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_min4'); appdata = []; appdata.lastValidTag = 'edit_min5'; h13 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_min5_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0293663060278207 0.196745795338572 0.0633693972179289 0.0338032376100431],... 'String','0',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_min5_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_min5'); appdata = []; appdata.lastValidTag = 'edit_max1'; h14 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_max1_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.320715891836277 0.0633693972179289 0.0338032376100431],... 'String','1',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_max1_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_max1'); appdata = []; appdata.lastValidTag = 'edit_max2'; h15 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_max2_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.288522332207665 0.0633693972179289 0.0338032376100431],... 'String','1',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_max2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_max2'); appdata = []; appdata.lastValidTag = 'edit_max3'; h16 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_max3_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.257938450560483 0.0633693972179289 0.0338032376100431],... 'String','1',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_max3_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_max3'); appdata = []; appdata.lastValidTag = 'edit_max4'; h17 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_max4_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.225744890931871 0.0633693972179289 0.0338032376100431],... 'String','1',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_max4_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_max4'); appdata = []; appdata.lastValidTag = 'edit_max5'; h18 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_max5_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.193551331303258 0.0633693972179289 0.0338032376100431],... 'String','1',... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_max5_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_max5'); appdata = []; appdata.lastValidTag = 'text1'; h19 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',8,... 'HorizontalAlignment','left',... 'Max',1000000,... 'Position',[0.0139103554868624 0.0142630744849445 0.727975270479134 0.080824088748019],... 'String','Output data type',... 'Style','edit',... 'Tag','text1',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'axes1'; h20 = axes(... 'Parent',h1,... 'Position',[0.0293663060278207 0.458003169572108 0.94435857805255 0.507131537242472],... 'CameraPosition',[0.5 0.5 9.16025403784439],... 'CameraPositionMode',get(0,'defaultaxesCameraPositionMode'),... 'Color',get(0,'defaultaxesColor'),... 'ColorOrder',get(0,'defaultaxesColorOrder'),... 'FontName',get(0,'defaultaxesFontName'),... 'FontSize',get(0,'defaultaxesFontSize'),... 'LooseInset',[0.0567146509183546 0.0398395126424734 0.0414453218249514 0.0271633040744137],... 'XColor',get(0,'defaultaxesXColor'),... 'YColor',get(0,'defaultaxesYColor'),... 'ZColor',get(0,'defaultaxesZColor'),... 'Tag','axes1',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); h21 = get(h20,'title'); set(h21,... 'Parent',h20,... 'Units','data',... 'FontUnits','points',... 'BackgroundColor','none',... 'Color',[0 0 0],... 'DisplayName',blanks(0),... 'EdgeColor','none',... 'EraseMode','normal',... 'DVIMode','auto',... 'FontAngle','normal',... 'FontName','MS UI Gothic',... 'FontSize',9,... 'FontWeight','normal',... 'HorizontalAlignment','center',... 'LineStyle','-',... 'LineWidth',0.5,... 'Margin',2,... 'Position',[0.5 1.0140625 1.00005459937205],... 'Rotation',0,... 'String',blanks(0),... 'Interpreter','tex',... 'VerticalAlignment','bottom',... 'ButtonDownFcn',[],... 'CreateFcn', {@local_CreateFcn, [], ''} ,... 'DeleteFcn',[],... 'BusyAction','queue',... 'HandleVisibility','off',... 'HelpTopicKey',blanks(0),... 'HitTest','on',... 'Interruptible','on',... 'SelectionHighlight','on',... 'Serializable','on',... 'Tag',blanks(0),... 'UserData',[],... 'Visible','on',... 'XLimInclude','on',... 'YLimInclude','on',... 'ZLimInclude','on',... 'CLimInclude','on',... 'ALimInclude','on',... 'IncludeRenderer','on',... 'Clipping','off'); h22 = get(h20,'xlabel'); set(h22,... 'Parent',h20,... 'Units','data',... 'FontUnits','points',... 'BackgroundColor','none',... 'Color',[0 0 0],... 'DisplayName',blanks(0),... 'EdgeColor','none',... 'EraseMode','normal',... 'DVIMode','auto',... 'FontAngle','normal',... 'FontName','MS UI Gothic',... 'FontSize',9,... 'FontWeight','normal',... 'HorizontalAlignment','center',... 'LineStyle','-',... 'LineWidth',0.5,... 'Margin',2,... 'Position',[0.498363338788871 -0.0640625000000001 1.00005459937205],... 'Rotation',0,... 'String',blanks(0),... 'Interpreter','tex',... 'VerticalAlignment','cap',... 'ButtonDownFcn',[],... 'CreateFcn', {@local_CreateFcn, [], ''} ,... 'DeleteFcn',[],... 'BusyAction','queue',... 'HandleVisibility','off',... 'HelpTopicKey',blanks(0),... 'HitTest','on',... 'Interruptible','on',... 'SelectionHighlight','on',... 'Serializable','on',... 'Tag',blanks(0),... 'UserData',[],... 'Visible','on',... 'XLimInclude','on',... 'YLimInclude','on',... 'ZLimInclude','on',... 'CLimInclude','on',... 'ALimInclude','on',... 'IncludeRenderer','on',... 'Clipping','off'); h23 = get(h20,'ylabel'); set(h23,... 'Parent',h20,... 'Units','data',... 'FontUnits','points',... 'BackgroundColor','none',... 'Color',[0 0 0],... 'DisplayName',blanks(0),... 'EdgeColor','none',... 'EraseMode','normal',... 'DVIMode','auto',... 'FontAngle','normal',... 'FontName','MS UI Gothic',... 'FontSize',9,... 'FontWeight','normal',... 'HorizontalAlignment','center',... 'LineStyle','-',... 'LineWidth',0.5,... 'Margin',2,... 'Position',[-0.0400981996726678 0.4953125 1.00005459937205],... 'Rotation',90,... 'String',blanks(0),... 'Interpreter','tex',... 'VerticalAlignment','bottom',... 'ButtonDownFcn',[],... 'CreateFcn', {@local_CreateFcn, [], ''} ,... 'DeleteFcn',[],... 'BusyAction','queue',... 'HandleVisibility','off',... 'HelpTopicKey',blanks(0),... 'HitTest','on',... 'Interruptible','on',... 'SelectionHighlight','on',... 'Serializable','on',... 'Tag',blanks(0),... 'UserData',[],... 'Visible','on',... 'XLimInclude','on',... 'YLimInclude','on',... 'ZLimInclude','on',... 'CLimInclude','on',... 'ALimInclude','on',... 'IncludeRenderer','on',... 'Clipping','off'); h24 = get(h20,'zlabel'); set(h24,... 'Parent',h20,... 'Units','data',... 'FontUnits','points',... 'BackgroundColor','none',... 'Color',[0 0 0],... 'DisplayName',blanks(0),... 'EdgeColor','none',... 'EraseMode','normal',... 'DVIMode','auto',... 'FontAngle','normal',... 'FontName','MS UI Gothic',... 'FontSize',9,... 'FontWeight','normal',... 'HorizontalAlignment','right',... 'LineStyle','-',... 'LineWidth',0.5,... 'Margin',2,... 'Position',[-0.0319148936170213 1.0640625 1.00005459937205],... 'Rotation',0,... 'String',blanks(0),... 'Interpreter','tex',... 'VerticalAlignment','middle',... 'ButtonDownFcn',[],... 'CreateFcn', {@local_CreateFcn, [], ''} ,... 'DeleteFcn',[],... 'BusyAction','queue',... 'HandleVisibility','off',... 'HelpTopicKey',blanks(0),... 'HitTest','on',... 'Interruptible','on',... 'SelectionHighlight','on',... 'Serializable','on',... 'Tag',blanks(0),... 'UserData',[],... 'Visible','off',... 'XLimInclude','on',... 'YLimInclude','on',... 'ZLimInclude','on',... 'CLimInclude','on',... 'ALimInclude','on',... 'IncludeRenderer','on',... 'Clipping','off'); appdata = []; appdata.lastValidTag = 'text2'; h25 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[0.0139103554868624 0.135 0.0942812982998454 0.0332805071315372],... 'String','Input fcn:',... 'Style','text',... 'Tag','text2',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text3'; h26 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[0.42 0.135 0.0942812982998454 0.0332805071315372],... 'String','Output fcn:',... 'Style','text',... 'Tag','text3',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'edit_val1'; h27 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_val1_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.320715891836277 0.0633693972179289 0.0338032376100431],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_val1_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_val1'); appdata = []; appdata.lastValidTag = 'edit_val2'; h28 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_val2_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.288522332207665 0.0633693972179289 0.0338032376100431],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_val2_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_val2'); appdata = []; appdata.lastValidTag = 'edit_val3'; h29 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_val3_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.257938450560483 0.0633693972179289 0.0338032376100431],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_val3_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_val3'); appdata = []; appdata.lastValidTag = 'edit_val4'; h30 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_val4_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.225744890931871 0.0633693972179289 0.0338032376100431],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_val4_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_val4'); appdata = []; appdata.lastValidTag = 'edit_val5'; h31 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'BackgroundColor',[1 1 1],... 'Callback',@(hObject,eventdata)funcslider('edit_val5_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.193551331303258 0.0633693972179289 0.0338032376100431],... 'String',blanks(0),... 'Style','edit',... 'CreateFcn', {@local_CreateFcn, @(hObject,eventdata)funcslider('edit_val5_CreateFcn',hObject,eventdata,guidata(hObject)), appdata} ,... 'Tag','edit_val5'); appdata = []; appdata.lastValidTag = 'text5'; h32 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.0278207109737249 0.357738485409182 0.0633693972179289 0.0225354917400287],... 'String','Min',... 'Style','text',... 'Tag','text5',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text6'; h33 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.83307573415765 0.356128807427751 0.0633693972179289 0.0225354917400287],... 'String','Max',... 'Style','text',... 'Tag','text6',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text7'; h34 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.924265842349305 0.356128807427751 0.0633693972179289 0.0225354917400287],... 'String','Value',... 'Style','text',... 'Tag','text7',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'checkbox1'; h35 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'Callback',@(hObject,eventdata)funcslider('checkbox1_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.199381761978362 0.370615909260627 0.0494590417310665 0.0370225935729043],... 'String','x',... 'Style','checkbox',... 'Tag','checkbox1',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'checkbox2'; h36 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'Callback',@(hObject,eventdata)funcslider('checkbox2_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.261205564142195 0.370615909260627 0.0494590417310665 0.0370225935729043],... 'String','y',... 'Style','checkbox',... 'Tag','checkbox2',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'checkbox3'; h37 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'Callback',@(hObject,eventdata)funcslider('checkbox3_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.323029366306028 0.370615909260627 0.0494590417310665 0.0370225935729043],... 'String','z',... 'Style','checkbox',... 'Tag','checkbox3',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'checkbox4'; h38 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'Callback',@(hObject,eventdata)funcslider('checkbox4_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.384853168469861 0.370615909260627 0.153013910355487 0.0370225935729043],... 'String','viewing angle',... 'Style','checkbox',... 'Tag','checkbox4',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text8'; h39 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.123647604327666 0.37866429916778 0.0633693972179289 0.0209258137585981],... 'String','Lock:',... 'Style','text',... 'Tag','text8',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'pushbutton1'; h40 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'Callback',@(hObject,eventdata)funcslider('pushbutton1_Callback',hObject,eventdata,guidata(hObject)),... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'Position',[0.777434312210201 0.0142630744849445 0.205564142194745 0.160063391442155],... 'String','Reset Axes',... 'Tag','pushbutton1',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text9'; h41 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[-0.00154559505409583 0.328050713153724 0.0231839258114374 0.0206022187004754],... 'String','x1',... 'Style','text',... 'Tag','text9',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text10'; h42 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[-0.00154559505409583 0.29635499207607 0.0231839258114374 0.0221870047543582],... 'String','x2',... 'Style','text',... 'Tag','text10',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text11'; h43 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[-0.00154559505409583 0.264659270998415 0.0231839258114374 0.0206022187004754],... 'String','x3',... 'Style','text',... 'Tag','text11',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text12'; h44 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[-0.00154559505409583 0.232963549920761 0.0231839258114374 0.0206022187004754],... 'String','x4',... 'Style','text',... 'Tag','text12',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text13'; h45 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[-0.00154559505409583 0.199683042789223 0.0231839258114374 0.0206022187004754],... 'String','x5',... 'Style','text',... 'Tag','text13',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); appdata = []; appdata.lastValidTag = 'text14'; h46 = uicontrol(... 'Parent',h1,... 'Units','normalized',... 'FontName',get(0,'defaultuicontrolFontName'),... 'FontSize',get(0,'defaultuicontrolFontSize'),... 'HorizontalAlignment','left',... 'Position',[0.0139103554868624 0.106180665610143 0.72952086553323 0.0206022187004754],... 'String','Current equation: ',... 'Style','text',... 'Tag','text14',... 'CreateFcn', {@local_CreateFcn, blanks(0), appdata} ); hsingleton = h1; % --- Set application data first then calling the CreateFcn. function local_CreateFcn(hObject, eventdata, createfcn, appdata) if ~isempty(appdata) names = fieldnames(appdata); for i=1:length(names) name = char(names(i)); setappdata(hObject, name, getfield(appdata,name)); end end if ~isempty(createfcn) if isa(createfcn,'function_handle') createfcn(hObject, eventdata); else eval(createfcn); end end % --- Handles default GUIDE GUI creation and callback dispatch function varargout = gui_mainfcn(gui_State, varargin) gui_StateFields = {'gui_Name' 'gui_Singleton' 'gui_OpeningFcn' 'gui_OutputFcn' 'gui_LayoutFcn' 'gui_Callback'}; gui_Mfile = ''; for i=1:length(gui_StateFields) if ~isfield(gui_State, gui_StateFields{i}) error('MATLAB:gui_mainfcn:FieldNotFound', 'Could not find field %s in the gui_State struct in GUI M-file %s', gui_StateFields{i}, gui_Mfile); elseif isequal(gui_StateFields{i}, 'gui_Name') gui_Mfile = [gui_State.(gui_StateFields{i}), '.m']; end end numargin = length(varargin); if numargin == 0 % FUNCSLIDER % create the GUI only if we are not in the process of loading it % already gui_Create = true; elseif local_isInvokeActiveXCallback(gui_State, varargin{:}) % FUNCSLIDER(ACTIVEX,...) vin{1} = gui_State.gui_Name; vin{2} = [get(varargin{1}.Peer, 'Tag'), '_', varargin{end}]; vin{3} = varargin{1}; vin{4} = varargin{end-1}; vin{5} = guidata(varargin{1}.Peer); feval(vin{:}); return; elseif local_isInvokeHGCallback(gui_State, varargin{:}) % FUNCSLIDER('CALLBACK',hObject,eventData,handles,...) gui_Create = false; else % FUNCSLIDER(...) % create the GUI and hand varargin to the openingfcn gui_Create = true; end if ~gui_Create % In design time, we need to mark all components possibly created in % the coming callback evaluation as non-serializable. This way, they % will not be brought into GUIDE and not be saved in the figure file % when running/saving the GUI from GUIDE. designEval = false; if (numargin>1 && ishghandle(varargin{2})) fig = varargin{2}; while ~isempty(fig) && ~isa(handle(fig),'figure') fig = get(fig,'parent'); end designEval = isappdata(0,'CreatingGUIDEFigure') || isprop(fig,'__GUIDEFigure'); end if designEval beforeChildren = findall(fig); end % evaluate the callback now varargin{1} = gui_State.gui_Callback; if nargout [varargout{1:nargout}] = feval(varargin{:}); else feval(varargin{:}); end % Set serializable of objects created in the above callback to off in % design time. Need to check whether figure handle is still valid in % case the figure is deleted during the callback dispatching. if designEval && ishandle(fig) set(setdiff(findall(fig),beforeChildren), 'Serializable','off'); end else if gui_State.gui_Singleton gui_SingletonOpt = 'reuse'; else gui_SingletonOpt = 'new'; end % Check user passing 'visible' P/V pair first so that its value can be % used by oepnfig to prevent flickering gui_Visible = 'auto'; gui_VisibleInput = ''; for index=1:2:length(varargin) if length(varargin) == index || ~ischar(varargin{index}) break; end % Recognize 'visible' P/V pair len1 = min(length('visible'),length(varargin{index})); len2 = min(length('off'),length(varargin{index+1})); if ischar(varargin{index+1}) && strncmpi(varargin{index},'visible',len1) && len2 > 1 if strncmpi(varargin{index+1},'off',len2) gui_Visible = 'invisible'; gui_VisibleInput = 'off'; elseif strncmpi(varargin{index+1},'on',len2) gui_Visible = 'visible'; gui_VisibleInput = 'on'; end end end % Open fig file with stored settings. Note: This executes all component % specific CreateFunctions with an empty HANDLES structure. % Do feval on layout code in m-file if it exists gui_Exported = ~isempty(gui_State.gui_LayoutFcn); % this application data is used to indicate the running mode of a GUIDE % GUI to distinguish it from the design mode of the GUI in GUIDE. it is % only used by actxproxy at this time. setappdata(0,genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name]),1); if gui_Exported gui_hFigure = feval(gui_State.gui_LayoutFcn, gui_SingletonOpt); % make figure invisible here so that the visibility of figure is % consistent in OpeningFcn in the exported GUI case if isempty(gui_VisibleInput) gui_VisibleInput = get(gui_hFigure,'Visible'); end set(gui_hFigure,'Visible','off') % openfig (called by local_openfig below) does this for guis without % the LayoutFcn. Be sure to do it here so guis show up on screen. movegui(gui_hFigure,'onscreen'); else gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt, gui_Visible); % If the figure has InGUIInitialization it was not completely created % on the last pass. Delete this handle and try again. if isappdata(gui_hFigure, 'InGUIInitialization') delete(gui_hFigure); gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt, gui_Visible); end end if isappdata(0, genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name])) rmappdata(0,genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name])); end % Set flag to indicate starting GUI initialization setappdata(gui_hFigure,'InGUIInitialization',1); % Fetch GUIDE Application options gui_Options = getappdata(gui_hFigure,'GUIDEOptions'); % Singleton setting in the GUI M-file takes priority if different gui_Options.singleton = gui_State.gui_Singleton; if ~isappdata(gui_hFigure,'GUIOnScreen') % Adjust background color if gui_Options.syscolorfig set(gui_hFigure,'Color', get(0,'DefaultUicontrolBackgroundColor')); end % Generate HANDLES structure and store with GUIDATA. If there is % user set GUI data already, keep that also. data = guidata(gui_hFigure); handles = guihandles(gui_hFigure); if ~isempty(handles) if isempty(data) data = handles; else names = fieldnames(handles); for k=1:length(names) data.(char(names(k)))=handles.(char(names(k))); end end end guidata(gui_hFigure, data); end % Apply input P/V pairs other than 'visible' for index=1:2:length(varargin) if length(varargin) == index || ~ischar(varargin{index}) break; end len1 = min(length('visible'),length(varargin{index})); if ~strncmpi(varargin{index},'visible',len1) try set(gui_hFigure, varargin{index}, varargin{index+1}), catch break, end end end % If handle visibility is set to 'callback', turn it on until finished % with OpeningFcn gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:}); if isscalar(gui_hFigure) && ishandle(gui_hFigure) % Handle the default callbacks of predefined toolbar tools in this % GUI, if any guidemfile('restoreToolbarToolPredefinedCallback',gui_hFigure); % Update handle visibility set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); % Call openfig again to pick up the saved visibility or apply the % one passed in from the P/V pairs if ~gui_Exported gui_hFigure = local_openfig(gui_State.gui_Name, 'reuse',gui_Visible); elseif ~isempty(gui_VisibleInput) set(gui_hFigure,'Visible',gui_VisibleInput); end if strcmpi(get(gui_hFigure, 'Visible'), 'on') figure(gui_hFigure); if gui_Options.singleton setappdata(gui_hFigure,'GUIOnScreen', 1); end end % Done with GUI initialization if isappdata(gui_hFigure,'InGUIInitialization') rmappdata(gui_hFigure,'InGUIInitialization'); end % If handle visibility is set to 'callback', turn it on until % finished with OutputFcn gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end gui_Handles = guidata(gui_hFigure); else gui_Handles = []; end if nargout [varargout{1:nargout}] = feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); else feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); end if isscalar(gui_hFigure) && ishandle(gui_hFigure) set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); end end function gui_hFigure = local_openfig(name, singleton, visible) % openfig with three arguments was new from R13. Try to call that first, if % failed, try the old openfig. if nargin('openfig') == 2 % OPENFIG did not accept 3rd input argument until R13, % toggle default figure visible to prevent the figure % from showing up too soon. gui_OldDefaultVisible = get(0,'defaultFigureVisible'); set(0,'defaultFigureVisible','off'); gui_hFigure = openfig(name, singleton); set(0,'defaultFigureVisible',gui_OldDefaultVisible); else gui_hFigure = openfig(name, singleton, visible); end function result = local_isInvokeActiveXCallback(gui_State, varargin) try result = ispc && iscom(varargin{1}) ... && isequal(varargin{1},gcbo); catch result = false; end function result = local_isInvokeHGCallback(gui_State, varargin) try fhandle = functions(gui_State.gui_Callback); result = ~isempty(findstr(gui_State.gui_Name,fhandle.file)) || ... (ischar(varargin{1}) ... && isequal(ishandle(varargin{2}), 1) ... && (~isempty(strfind(varargin{1},[get(varargin{2}, 'Tag'), '_'])) || ... ~isempty(strfind(varargin{1}, '_CreateFcn'))) ); catch result = false; end