Passing an array of strings into an executable

I have writen a script in Matlab for an optimization algorithm that iteratively calls a simulator to compute the objective function. The call to the simulator is done in such a fashion:
[status,cmdout]=system('swmm5 temp.inp out.rpt');
Where "temp.inp" is the text file with the parameters of the simulation and "out.rpt" is the text file with the results of the simulation.
I have an array of strings where the contents of "temp.inp" are updated and every iterations. Then I write this updated array of strings in "temp.inp" to launch a new simulation. Once the simulation is complete, I read "out.rpt", put it in an array of strings and extract the data I need.
Writing all of this content on the hard drive is quite time expensive, so I was wondering if there is a way to pass to the simulator the array of string directly and maybe put the "out.rpt" file directly in an array of strings.

1 个评论

That all depends on whether the simulation code has been written to read its input from the command line or not -- we can't answer that.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Cell Arrays 的更多信息

提问:

2020-6-16

评论:

dpb
2020-6-16

Community Treasure Hunt

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

Start Hunting!

Translated by