Listen for task progress on matlab
12 views (last 30 days)
Show older comments
Hello. I want to know the progress when I execute matlab code. I am reading numeric data from a csv file, plotting this data, and then writing the data to a excel sheet. I want to add a progress bar for each of these tasks on GUI created in app designer because there is a lag time when reading and writing executed so I do not know when the task is complete. I am not sure how to do this. Below is the code i have thus far. Please assist.
Data=readtable('data.csv',NumHeaderLines',10);
col_vec=data{:2}; plot(app.UIAxes,col_vec);
xlswrite('Data.xls',col_vec,sheet,'HR','Range','A1');
app.ProgressBar.startProgress("The task is starting...");
pause(5)
app.ProgressBar.setProgress(0.20),"The task is running...");
app.ProgressBar.finishProgress("The task is finished");
0 Comments
Answers (1)
ILoveMATLAB
on 16 Jun 2022
If you have an app you can just use uiprogressdlg.
function myprogress1
fig = uifigure;
d = uiprogressdlg(fig,'Title','Please Wait',...
'Message','Opening the application');
pause(.5)
% Perform calculations
% ...
d.Value = .33;
d.Message = 'Loading your data';
pause(1)
% Perform calculations
% ...
d.Value = .67;
d.Message = 'Processing the data';
pause(1)
% Finish calculations
% ...
d.Value = 1;
d.Message = 'Finishing';
pause(1)
% Close dialog box
close(d)
end
2 Comments
ILoveMATLAB
on 16 Jun 2022
Edited: ILoveMATLAB
on 16 Jun 2022
It would easier for you to understand if you ran the code. Nevertheless, value is the percent complete that you want to display. 0.33 means the progess bar will be 33% long. The message is the progess bar message.
Yes, the example shows that you can continue to update the progress bar after a calculation. The pause function is just a placeholder. You can replace the pause function with your calculation.
Please run and step through the example.
See Also
Categories
Find more on Data Import and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!