2016-12-18 4 views
0

私は、実行可能ファイルとして与えられた、プログラムを実行する最も効率的な方法をforループでMatlabから何回も実行します。Matlabのforループで最も効率的にexeを実行します。

for i = 1:100 
    system('MyProgram.exe'); 
    % Do something with the output from the .exe 
end 

だから、プロファイラから私は時間の99.9%が、プログラム自体の実行に使用されていることを知っている:現時点では私は、次のコードを使用します。私の質問は基本的に、Matlab内から一般的に実行可能ファイルを実行する効率的な方法があるかどうかです。

私は上記のようなexeを実行するたびにMatlabランタイム環境を初期化するプロセスが作成されていることを読んでいます。これを避ける方法はありますか?複数回プログラムを実行しますか?

+1

こんにちは、あなたは私の.exeファイルについて少し教えてもらえますか?コンパイルされたMatlab実行ファイルですか? –

+0

はい、コンパイル済みのSLモデルです。 – SampleTime

答えて

0

あなたはあなたが与えられた.exeを直接変更することはできないと推測しているので、おそらく.exeを直接呼び出す代わりに.bashシェルスクリプトを呼び出すことができます。

これを実行し、シェルスクリプト内で、.exeの実行を特定のプロセスIDに関連付けるためにワークスペースが既に開いているかどうかを確認すると思います。実行可能ファイルが終了すると、セッションが閉じられると思います。

私はMatlabがこのようなことをExcel(Excelのようなもの)で処理する方法に多くの問題を抱えています。

あなたはこれを理解したいと考えています。

編集:私はここにいくつかの可能な例を見つけExample Descriptions

-Kyle

+0

はい、実行可能ファイルが終了すると、セッションを終了します。これはまさに問題です。 – SampleTime

+0

.exeを編集できますか? –

+0

はい、修正できます – SampleTime

関連する問題