how to generate random time format data in MATLAB?

17 visualizaciones (últimos 30 días)
saharsahar
saharsahar el 5 de Jul. de 2013
Hi all, I am wondering how to generate random time format data (or series) in MATLAB between a range of time ? such as 12:00:23 , ......?
Thanks

Respuesta aceptada

the cyclist
the cyclist el 5 de Jul. de 2013
Here's one way:
% Generate a random time (down to granularity of seconds)
% Parameters
NUMBER_RANDOM_TIMES = 100;
SECONDS_PER_DAY = 24*60*60;
START_DATE = '2013-01-01';
END_DATE = '2013-06-30';
% Algorithm
startDateNum = datenum(START_DATE,'yyyy-mm-dd');
endDateNum = datenum(END_DATE, 'yyyy-mm-dd');
dayRange = endDateNum - startDateNum;
secondsRange = SECONDS_PER_DAY*dayRange;
randomNumberOfSeconds = randi(secondsRange,NUMBER_RANDOM_TIMES,1);
randomDatenums = startDateNum + randomNumberOfSeconds/SECONDS_PER_DAY;
randomDates = datestr(randomDatenums);
  2 comentarios
saharsahar
saharsahar el 5 de Jul. de 2013
Well, Thanks for your response,actually I am looking for generate random times between , lets say, 20:00:00 on 4/5/2013 and 05:00:00 on 5/5/2013. Actually I am not sure how I can address your algorithm in this issue?
Thanks for any help...
the cyclist
the cyclist el 5 de Jul. de 2013
Change these lines:
START_DATE = '2013-04-05 20:00:00';
END_DATE = '2013-05-05 05:00:00';
startDateNum = datenum(START_DATE,'yyyy-mm-dd HH:MM:SS');
endDateNum = datenum(END_DATE, 'yyyy-mm-dd HH:MM:SS');

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Random Number Generation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by