MATLAB Answers

Alternative to system function

2 views (last 30 days)
Hakan Süleyman
Hakan Süleyman on 4 Mar 2021
Commented: Hakan Süleyman on 4 Mar 2021
I am trying to run system function for hundreds of iterations. What I am doing is running a Fortran based .exe file with an input inside my code. Each run for the system function within an iteration takes around 10 seconds to operate - meaning that the entire code is running for hours. I tried the jsystem function but its performance is more or less the same. Is there a way to decrease the processing time?
Here is the line I am using in my code:
system('exsim_dmb.exe < exsim_dmb.params');
Thanks!

Answers (1)

Mario Malic
Mario Malic on 4 Mar 2021
Hello,
you must ensure that each of your workers gets their parameters correctly and that .exe program utilise 1 core or more if you can specify.
parfor
% code
system('exsim_dmb.exe < exsim_dmb.params');
end
  1 Comment
Hakan Süleyman
Hakan Süleyman on 4 Mar 2021
Hello Mario,
Thanks a lot for your answer. I never used parfor before, but it looks very useful. It seems there are valid and invalid cases when parfor is used, which means an adjustment is required in the code. And I am not sure if this is something practical for my case as I have a very long code. But I will definitely try to use it in my further work.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by