Running two MATLAB programs at the same time
    4 views (last 30 days)
  
       Show older comments
    
Hi, I have a function in Matlab which depends on an input N. I need to run function(2),function(3),function(4),function(5) and perhaps also try other values of N. Each of these runs takes about two hours. I could run one after the other, but it would be much more efficient if I could just run them at the same time. Each run is independent of the other, so this should be doable, right?. I want to do the same one does when one runs a script in bash with nohup ./script.sh &, so you can send other scripts. How can I do this in Matlab?
Thanks
0 Comments
Accepted Answer
  KSSV
      
      
 on 16 Oct 2017
        funcs1 = {@fun1, @fun2} ;   % let fun1, fun2 be two functions 
arguments = {inp1,inp2 ;inp1,inp2} ;   % write the inputs of each function 
solutions = cell(1,2);                 % initialize the solution 
% use of parfor 
parfor ii = 1:2
      solutions1{ii}=funcs1{ii}(arguments1{ii,:});
end
M = solutions1{1} ; N = solutions1{2} ;   % assign the results
6 Comments
  Walter Roberson
      
      
 on 4 Oct 2019
				Your functions do not return any value but you try to assign their lack of value to solutions variable.
  NGOC TAM LAM
 on 6 Oct 2019
				Thanks @Walter Roberson. Now I got the right answer. It should be return value for each function. But in the case of without the output value, how can I run it?
More Answers (1)
  Walter Roberson
      
      
 on 16 Oct 2017
        You can use the Parallel Computing Toolbox, with batch() or parfeval()
Note: unless you configure specially, each worker would have access to one physical core. That can be a problem if your routines do a lot of mathematical calculations with large arrays: such calls are normally sent to an optimized library that automatically uses multiple threads. If this applies to your program, then running in parallel can end up taking longer than running individually.
0 Comments
See Also
Categories
				Find more on Entering Commands 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!


