MATLAB tic-toc以Minutes格式生成

Mad*_*ddy 12 matlab timer

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

gno*_*ice 21

所有你所要做的就是捕捉从输出toc(而不是让它显示其默认输出),然后创建自己使用的功能的输出fprintf,floor以及rem:

 tStart = tic;
 % Do some things...
 tEnd = toc(tStart);
 fprintf('%d minutes and %f seconds\n', floor(tEnd/60), rem(tEnd,60));
Run Code Online (Sandbox Code Playgroud)

  • +1我不知道你可以控制一个toc引用的tic. (2认同)

Ada*_*wis 5

尽管tic和toc无法在数分钟内显示值,但是您可以在显示数据之前稍作处理。请查看以下链接,以秒为小时/分钟转换器。

用法如下:

tic  
% Do something
time_str = SECS2HMS(toc)
disp(time_str)
Run Code Online (Sandbox Code Playgroud)

回到我的Windows VM上,我将尝试一下。希望这可以帮助。

编辑
您也可以通过以下方式使用Matlab中内置的datestr和datenum函数。请注意,我也没有尝试过此代码,但是该链接使我想起了如何执行此操作的语法(不使用Matlab)

tic
%Do something  
t=toc;
disp(datestr(datenum(0,0,0,0,0,t),'HH:MM:SS'))
Run Code Online (Sandbox Code Playgroud)