2012-04-03 8 views
4

私は大きく複雑なMATLABプログラムを持っています。どこかその内、番号0が放出されているので、私はそれを実行したとき、私は、これは時代の束を繰り返し参照してください。複雑なプログラムでコマンドライン出力を作成する場所を見つける

ans = 

    0 

乱雑に見えるので、私はそれを取り除きたいです。その出力がどこから来ているか把握するための簡単な方法はありますか?

答えて

7

あなたが持っているいくつかのオプション:

  • オープン(警告ではないと仮定してセミコロンが欠落している行がある場所を視覚的に示しますMATLABエディタでスクリプト/機能、の各Code Analyzer preferencesには表示されません)。この例では、関数の中でオレンジ色の波線注:

    enter image description here

  • は終了セミコロンが欠落しているスクリプト/関数内の行を見つけるために、機能CHECKCODE(旧MLINT)を使用します。

    >> mlint('test') 
    L 2 (C 4): Terminate statement with semicolon to suppress output (in functions). 
    
  • 使用command echoing:上記の例の機能のために。これは、各行の行を評価しながらコマンドウィンドウに表示します。次に、不要な出力に先行する行を探して、終わりのセミコロンがどこにないかを調べるだけです。私は、コマンドラインでこれらのオプションのいずれかを入力しようとするだろう:

    echo name_of_your_file on; %# Turns on echoing for the function file 
    echo on all;    %# Turns on echoing for all function files 
    

    あらかじめご了承...あなたはおそらく出力のたくさんがこのオプションでコマンドウィンドウにダンプ取得を取得します。

+1

もう1つのオプションは、MATLABデバッガを使用し、コードをステップ実行することです。遅いですが、最終的に問題のコードを見つけることが保証されています。 (さらに、プログラムの実行中にすべての変数の状態を調べることができます。) –

関連する問題