2016-12-21 6 views
-1

I Iは、ループ内の関数を呼び出すとした後、それを一時停止し、次のコードを持っているすべての反復:私は期待 反復ごとの後にforループを一時停止し、結果のMATLABを表示

[num,txt1,~]=xlsread('test.xlsx',1); 
for i=2:5 
    [num,txt2,~]=xlsread('test.xlsx',i); 
    for j=1:3 
     txt_input=txt2(2:end,j); 
     neurPep=neuroPred(txt1,txt_input); 
     pause 
    end 
    pause 
end 

値を示すだろうワークスペースループを一時停止するたびに計算された変数の値が返されますが、最後の反復に対応する値だけが最後に表示されます。

ループごとに値が更新され、ワー​​クスペースに表示されるように、どのような変更が必要ですか?

+6

私は '' keyboard'とpause'を置き換えます。 'keyboard'はデバッガインタフェースに接続しますので、すべての値がそこにあるはずです。続行するには、コマンドラインに 'dbcont'と入力してください。 – Matt

答えて

3

pauseコマンドは、Matlabの実行を中断します。 Matlabの実行の通常の流れはワークスペースを更新するものではないので、一時停止はこのインスタンスで必要なことをしません。 keyboardコマンドは、Matlabをデバッグモードにします。このモードでは、ワークスペースを現在の値で更新します。コマンド行にdbcontと入力して実行を続行できます。

もう1つの方法は、エディタで.mファイルを開き、行の左側にある行番号の横にある " - "をクリックすることです。これはデバッグモードにもなります。その場合はF5キーを押し、dbcontと入力するか、再生ボタンを押して実行を継続します。

ここでのtakeawayは次のとおりです。デバッグモードはあなたの友人です。

ここ

が参照されている:pausekeyboard

関連する問題