在matlab完成运行后,是否有任何方式可以找到内存和时间? 此外,如果工作场所已保存,然后再次加载,是否可以查看时间和内存? 谢谢。
答案 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
页面