Loading data in the background?

2 Ansichten (letzte 30 Tage)
Sean
Sean am 6 Aug. 2012
I have a set of code that does the following:
  1. Load a set of data
  2. Display the data
  3. Wait for the operator to make a judgement on the data.
  4. Record the user's judgement
  5. Repeat steps 1-4 for the next set of data (hundreds of datasets).
I have found that it takes about 5-10 seconds to load each dataset, and about 10-15 seconds for the user to make the judgement call. Unfortunately, the user is sitting idle while waiting for the data to load between sets.
Does anyone know how to load a .mat file in the background so that the next dataset can be loading while the user is in the process of making his/her judgement?
Thanks in advance.
  5 Kommentare
Sean
Sean am 7 Aug. 2012
Bearbeitet: Sean am 7 Aug. 2012
It looks like I may have run into a fundamental limitation of matlab. :(
The data that I am using is displayed to the user as changing over time (which requires matlab to be actively updating the gui continuously). Since the load function cannot be interrupted or loaded in a separate thread, I guess I just have to live with the load time wait between data segments.
Thanks for considering my problem.
per isakson
per isakson am 7 Aug. 2012
AFAIK: it's in the Parallel Toolbox

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jan
Jan am 19 Aug. 2012
TIMER objects seem to run in an own thread. Therefore you could load the data in a TIMER callback. But as usual for parallel programming, you have to be smart to avoid collisions between read and write access to the data.
  2 Kommentare
Sean
Sean am 20 Aug. 2012
I have tried implementing a bit of test code to check on the idea that an independent timer could load the data in parallel, but the main code and the timer that I use to scroll through the current data both stop during the load (and continue after load completion).
Maybe I'm missing something, but it doesn't seem like putting the load in a timer callback causes it to run in an independent thread. Is this supposed to be default behavior, or is there something that needs to be set to make it behave this way?
Sean de Wolski
Sean de Wolski am 20 Aug. 2012
I had the same thing happen when using the timer.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Workspace Variables and MAT-Files finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by