2011-05-02 50 views
11

Estoy usando la función tic-toc en mi proyecto Matlab en muchos lugares. El tiempo de salida puede ser 331.5264 or 1234.754 seconds, etc. ¿Puedo imprimir este formato de minutos? Por ej. 5 minutes and 30.6 seconds? ¡Gracias!resultados de MATLAB tic-toc en formato de minutos

Respuesta

20

Todo lo que tiene que hacer es capturar la salida de toc (en lugar de dejar que se muestre su salida por defecto), a continuación, crear una salida por sí mismo utilizando las funciones fprintf, floor y rem:

tStart = tic; 
% Do some things... 
tEnd = toc(tStart); 
fprintf('%d minutes and %f seconds\n', floor(tEnd/60), rem(tEnd,60)); 
+1

+1 No sabía que pudiera controlar a qué tic toc se estaba refiriendo. –

+0

gracias ... otra vez gnovice! – Maddy

4

Mientras que el tic y el toc no tienen forma de mostrar los valores en minutos, puede procesar los datos ligeramente antes de mostrarlos. Consulte la siguiente link a un convertidor de segundos a hora/minuto.

uso sería la siguiente:

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

voy a probar esto cuando vuelva en mi Windows VM. Espero que esto ayude.

EDITAR
Se podría utilizar el datestr y datenum función integrada en Matlab, así de la siguiente manera. Tenga en cuenta que no he probado este código, ya sea, pero el enlace me recordó a la sintaxis sobre cómo hacerlo (sin tener que acceder Matlab)

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