Результаты MATLAB tic-toc в формате Minutes

Я использую функцию tic-toc в моем проекте Matlab столько мест. Время вывода может быть 331.5264 or 1234.754 seconds и т.д. Могу ли я выводить это формат минут? Напр. 5 minutes and 30.6 seconds? Спасибо!

Ответ 1

Все, что вам нужно сделать, это захватить вывод 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));

Ответ 2

В то время как tic и toc не имеют возможности отображать значения в минутах, вы можете обработать данные немного, прежде чем отображать их. Проверьте ссылку на преобразователь секунд/час/минуту.

Использование будет следующим:

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

Я попробую это, когда вернусь к своей виртуальной машине Windows. Надеюсь, это поможет.

ИЗМЕНИТЬ
Вы можете использовать функцию datestr и datenum, встроенную в Matlab, а также следующим образом. Обратите внимание, что я тоже не пробовал этот код, но ссылка напомнила мне о синтаксисе о том, как это сделать (не доводя до Matlab)

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