Statisticalbeginner - rather than using a slider to record your progress, consider using an axes object which you would then draw an image representing the progress completed. For example, your GUI may have an axes for plotting something, a push button to kick-off the processing, and another axes to record progress. If you give your GUI a unique Tag (see the properties inspector for your GUI) and set its HandleVisibility property to on, then your main program can look for this GUI and update the axes that has been designated as the wait (or progress) bar.
function updateWaitBar
% find the GUI whose tag is GuiWaitBarExample (GUI HandleVisibility
% property must be set to on)
hGui = findobj('Tag','GuiWaitBarExample');
if ~isempty(hGui)
% get the GUI handles structure
handles = guidata(hGui);
% axes2 is the waitbar
if ~isempty(handles) && isfield(handles,'axes2')
% if the waitBarImg doesn't exist, then create it and the
% image graphics object
if ~isfield(handles,'waitBarImg')
handles.waitBarImg = uint8(ones(1,maxIters,3)*255);
handles.hWaitBarImg = image(handles.waitBarImg,'Parent',handles.axes2);
end
% reset to a white background
if k == 1
handles.waitBarImg(:,:,:) = 255;
end
% set the progress complete portion of the wait bar
handles.waitBarImg(:,k,1) = 255; % red
handles.waitBarImg(:,k,2) = 0; % green
handles.waitBarImg(:,k,3) = 0; % blue
% update the "drawn" image graphic object with the new data
set(handles.hWaitBarImg,'CData',handles.waitBarImg);
% ensure that the axes and ticks are hidden
bgClr = get(handles.GuiWaitBarExample, 'Color');
set(handles.axes2,'XTick',[],'YTick',[],'XTickLabe',[],'YTickLabel',[],'XColor',bgClr,'YColor',bgClr);
% save the updated handles structure
guidata(hGui,handles);
end
end
end
end
Need a Custom Version or Complete Simulation for This Problem?
Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.
Explore similar technical troubleshooting questions and verified MATLAB solutions: