MatLab:保存结果以及计算完成的m文件行

时间:2016-04-19 18:18:27

标签: matlab

我有main.m了

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

而且a.m包含

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

我希望MatLab保存一个输出txt文件,该文件包含每个计算结果,并且计算完成的m文件的哪一行:

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

我还没有听说过标准的做法。但是如果有任何未记录的方法,这将使调试非常方便。有没有人有想法?

1 个答案:

答案 0 :(得分:0)

执行此操作的最简单方法是显示结果 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

这当然是一种解决方法,但我认为你可以理解这个

背后的想法