To use multi-threading in MATLAB one can use the batch
command. Note that you must have the Parallel Computing toolbox installed.
For a time-consuming script, for example,
for ii=1:1e8
A(ii)=sin(ii*2*pi/1e8);
end
to run it in batch mode one would use the following:
job=batch("da")
which is enables MATLAB to run in batch mode and makes it possible to use MATLAB in the meantime to do other things, such as add more batch processes.
To retrieve the results after finishing the job and load the array A
into the workspace:
load(job, 'A')
Finally, open the "monitor job gui" from Home → Environment → Parallel → Monitor jobs and delete the job through:
delete(job)
To load a function for batch processing, simply use this statement where fcn
is the function name, N
is number of output arrays and x1
, ...
, xn
are input arrays:
j=batch(fcn, N, {x1, x2, ..., xn})