在Matlab中运行了多少代码?

时间:2017-03-28 09:11:35

标签: matlab

当在Matlab中运行繁重的代码时,有没有办法确定到目前为止运行了多少代码? (百分之几)

2 个答案:

答案 0 :(得分:1)

你应该暂停程序,手动计算还有多少钱,然后决定是等待还是放弃。

https://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html

  

暂停正在运行的文件

     

要在程序运行时暂停执行,请转到“编辑器”选项卡,然后单击“暂停”按钮。 MATLAB暂停下一个可执行行的执行,并且“暂停”按钮变为“继续”按钮。要继续执行,请按继续按钮。

     

如果要检查长时间运行的程序的进度以确保它按预期运行,则暂停非常有用。

     

注意:单击暂停按钮可能会导致MATLAB暂停在您自己的程序文件之外的文件中。按“继续”按钮可恢复正常执行,而不会更改文件的结果。

答案 1 :(得分:0)

如果你有一个迭代过程,每次迭代的时间大约是同一时间(并非总是如此,但通常会发生这种情况),那么你可以使用它来知道代码何时结束:

for ii=1:niter
    if (ii==1); tic; end

    % your iteration

    if (ii==1);
        expected_time=toc*niter;
        disp('Myalgorithm');
        disp(['Expected duration  :    ',secs2hms(expected_time)]);
        disp(['Exected finish time:    ',datestr(datetime('now')+seconds(expected_time))]);
        disp('');
    end
end

使用FEX中的sec2hms

此代码打印以下内容:

Myalgorithm
Expected duration  :    41.0 secs
Exected finish time:    28-Mar-2017 10:58:57