2011-07-11 3 views
8

MATLABのインタラクティブセッションで、サードパーティのライブラリoutput = long_execution(input)から関数を呼び出しているとします。この関数は、コマンドウィンドウにdispステートメントを介して情報を出力します。このようなdispステートメントの出力を、MATLABで操作できるテキスト文字列にキャプチャしたいと思います。MATLABのdispをテキスト文字列にリダイレクト

dispの出力をテキスト文字列にリダイレクトする方法はありますか?もしそうなら、どうやってやるの? (おそらくdispのオーバラップを経由して)

+0

[MATLABで関数のコマンドウィンドウ出力を抑止]の可能な重複(http://stackoverflow.com/出力T.に取り込まれます質問/ 3029636/suppressing-a-functions-command-window-output-in-matlab) – Amro

答えて

12

evalc関数を使用して、disp出力をキャプチャできます。例えば、通常はウィンドウを指令する行く

[T, output] = evalc('long_execution(input)'); 

ものは

4

すべてが標準出力になっている場合は、diary関数を使用してそれをキャプチャしてファイルに書き込んでから、実行後に任意の数のmatlabファイル読み取りユーティリティを使用して解析することができますそれを通して。この文脈では、tempdirtempnameという便利な機能もあります。

関連する問題