MATLAB tic-toc以Minutes格式生成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB tic-toc以Minutes格式生成相关的知识,希望对你有一定的参考价值。

我在我的Matlab项目中使用tic-toc函数的地方很多。输出时间可以是331.5264 or 1234.754 seconds等。我可以输出这是分钟格式吗?例如。 5 minutes and 30.6 seconds?谢谢!

答案

您所要做的就是从toc捕获输出(而不是让它显示其默认输出),然后使用函数fprintffloorrem自行创建输出:

 tStart = tic;
 % Do some things...
 tEnd = toc(tStart);
 fprintf('%d minutes and %f seconds
', floor(tEnd/60), rem(tEnd,60));
另一答案

虽然tic和toc没有任何方法可以在几分钟内显示值,但您可以在显示之前稍微处理数据。查看以下link到秒到小时/分钟的转换器。

用法如下:

tic  
% Do something
time_str = SECS2HMS(toc)
disp(time_str)

当我回到我的Windows VM时,我会尝试这个。希望这可以帮助。

编辑 您可以使用Matlab中内置的datestr和datenum函数以及以下方式。请注意,我还没有尝试过这段代码,但链接让我想起了如何做到这一点的语法(没有提出Matlab)

tic
%Do something  
t=toc;
disp(datestr(datenum(0,0,0,0,0,t),'HH:MM:SS'))
另一答案

我发现最简单的方法是使用:

TIME = tic; % do calculations which take TIME to complete fprintf('This took %s', duration([0, 0, toc(TIME)]));

toc() returns the time from the stopwatch in secondsduration() expects a three-column matrix expressing a time duration in [hours, minutes, seconds] format)。

这具有保持大部分时序计算不可见的良好特性。

希望这可以帮助。

以上是关于MATLAB tic-toc以Minutes格式生成的主要内容,如果未能解决你的问题,请参考以下文章

关于matlab的imread函数

matlab数组中怎么加入高斯白噪声

Python 时间格式 => [days:hours:minutes:seconds] 到秒

是否可以在 MATLAB 中以非工程格式显示数字?

以特殊格式获取期间

rand 函数是不是在 MATLAB/Octave 中产生 0 或 1 的值?