在MATLAB中运行程序后查找时间和内存

时间:2014-05-27 03:10:37

标签: matlab time

在matlab完成运行后,是否有任何方式可以找到内存和时间? 此外,如果工作场所已保存,然后再次加载,是否可以查看时间和内存? 谢谢。

3 个答案:

答案 0 :(得分:2)

对于时间消耗,profiler会有效吗?它会稍微减慢执行速度,但对调试很有帮助。否则,请尝试使用tic - toc

将您想要的部分括起来

对于内存消耗而言,我认为仍然没有真正方便的方法,但是,这里可能发生了一些事情。这就是几年前mathworks回答的问题。您可以尝试whos,但只能在当前范围内使用。memory。此外,tic可用于查看matlabs总内存消耗。

加载文件所花费的时间应该可以通过使用通常的toc - dir命令将其封闭来查看。可以使用文件上的{{1}}查看磁盘上已保存文件的大小,但matlab中的大小可能不同。我想最安全的方法是在保存之前检查大小,如果它将在相同的执行下加载,否则以某种方式记录大小可能很方便。

答案 1 :(得分:1)

不知道我是否正确地提出了你的问题,但如果你需要追踪你的功能所需的时间,有两种方法:

功能

tic;
t=toc

像秒表一样工作,tic开始计算,toc告诉你自上次抽动以来已经过了多长时间。

如果您需要对时间进行更深入的分析,matlab还提供profile函数。 我建议你通过matlab文档了解如何使用它......

希望我帮忙。

S上。

答案 2 :(得分:1)

对于代码行之间的执行时间,请使用:

tic;
toc;
t = toc;
disp(['Execution time: ' num2str(t)])

要了解并显示变量的内存使用情况,可以使用whos

whos
S = whos;  % type struct variable containing all the info of the actual workspace
S.bytes

要计算总存储量,您可以进行循环

Memory = 0;
S = whos;
for k = 1:length(S)
    Memory = Memory + S(k).bytes;
end 
disp(['Total memory used by variables in storage (Bytes): ' num2str(Memory)])

您可能希望在mathworks中看到whos页面