2016-04-19 13 views
0

を行われていたにも私はMatLabの:保存結果と計算をM-ファイルの行が

delete output.txt 
diary output.txt 
x=1 
y=2 
a 
diary off 

を行くmain.mを持っていると思いますここでは、私はMATLABは、保存したい

function [a1, a2] = a(x,y) 
    a1=x+y 
    a2=x-y 
    while a1<5 
     a1=a1+1 
    end 

が含まれていますすべての計算結果がどのmファイルのどの行に計算されたかを示す出力txtファイル:

x=1 
    main.m, line 3 
y=2 
    main.m, line 4 
a1 = 3 
    a.m, line 2 
a2 = -1 
    a.m, line 3 
a1 = 4 
    a.m, line 5 
a1 = 5 
    a.m, line 5 

私はこれを行う標準的な方法について聞いていない。しかし、これを行うための文書化されていない方法がある場合、これはデバッグを非常に便利にします。誰にも分かりますか?

+2

後ろにアイデアを得ることができると思い、[実行によりステップ](のhttp:// WWWをあなたのコードの例を使用して例えば 、 .mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html#buvyxwy)を使用してデバッグするのが最適です。 – TroyHaskin

+0

コードをデバッグするのは正しい方法ではありませんが、[すべてをエコー](http://uk.mathworks.com/help/matlab/ref/echo.html)を試すことができます。最後に 'echo off all 'を設定することを忘れないでください。 –

答えて

0

これを行うにはeasist方法は、MATLABで 機能dispあなたの結果を表示することです - http://www.mathworks.com/help/matlab/ref/disp.html

あなただけ来アップするために、出力結果のフレームワークにする必要があります。

If x==1 
disp('main.m - line 3') 
elseif y==2 
disp('main.m - line 4') 
elseif a1==3 
disp('a.m, line 2') 
elseif a2==-1 
disp('a.m, line 3') 
elseif a1==4 
disp('a.m, line 5') 
elseif a1==5 
disp('a.m, line 5') 
end 

もちろんこれは回避策ですが、私はあなたは、単にあなたができるこの

+0

ありがとうございます。しかし、私のプロジェクトには5000本以上の回線がありますので、私の選択はできません。 – user42459

+0

まあ...それは直接行うのは簡単ではありません – 16per9

関連する問題