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 件のコメント

dpb
dpb 2020 年 6 月 16 日
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 ExchangeLarge Files and Big Data についてさらに検索

質問済み:

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