MATLAB slider step behavior
matlab, matlab-guide, slider, user-interface
Solution
The actual slider step size is scaled by the range: `ActualStep = SliderStep * (Max - Min)` The following line should solve your problem: `sliderStep = [1, 1] / (sliderMax - sliderMin)`. You should probably check that you don't divide by zero before this line. Do note that sliders won't render if `Max` is not greater than `Min`.
Problem
I have a created a slider widget using GUIDE in MATLAB 2012a. I want it to control an axis that displays images inwhich the slider steps through a sequence of them. I have set the slider's properties for Min, Max, and SliderStep in one part of the m-file. ``` sliderMin = 1; sliderMax = size(result); % this is variable sliderStep = [1, 1]; % major and minor steps of 1 set(handles.slider, 'Min', sliderMin); set(handles.slider, 'Max', sliderMax); set(handles.slider, 'SliderStep', sliderStep); set(handles.slider, 'Value', sliderMin); % set to beginning of sequence ``` In the slider callback, I have verified Min, Max, and SliderStep are set correctly. ``` sliderMin = get(hObject, 'Min') % correct sliderMax = get(hObject, 'Max') % correct sliderStep = get(hObject, 'SliderStep') % correct currentSliderStep = get(hObject, 'Value') % correct, 1 at start ``` However, when I click on the slider's arrows, I jump only between the beginning and end. Each time the correct Min, Max, SliderStep, and Value (although only 1 or sliderMax) is printed to the command window. I am unable to step in increments of 1 to view the images in the interior of the sequence.