loop for clock in MATLAB
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi all, I wanna do loop for an output to be like this
12:00
12:15
12:30
12:45
13:00
13:15
13:30
13:45
14:00
how can I get this output in MATLAB??? please help and advice...
2 comentarios
Jan
el 5 de Jul. de 2012
Editada: Jan
el 5 de Jul. de 2012
Please add any details by editing the question, because it is not clear, what you want to achieve and which level of variability you want.
In addition it is recommended to use meaningful tags, because they are used to classify the questions. Nearly all questions concern "Matlab code". I'm not able to give better tags by my own, because you did not specify, if your problem concerns a TIMER, SPRINTF, FPRINTF to the command window or to a file, a GUI, etc.
Respuesta aceptada
Andrei Bobrov
el 5 de Jul. de 2012
Editada: Andrei Bobrov
el 6 de Jul. de 2012
try
datestr(datenum(0,0,0,12,(0:15:15*9)',0),'HH:MM')
ADD after Samer's answer
m=15;
id = [6 16];
time1 = cellstr(datestr(datenum(0,0,0,12,m*(1:diff(id)+1),0),'HH:MM'));
xlswrite('1.xlsx',time1,1,sprintf('A%d',id(1)));
5 comentarios
Kevin Claytor
el 5 de Jul. de 2012
Looking at the documentation for datenum (<http://www.mathworks.com/help/techdoc/ref/datenum.html>) it looks like the minute increment is set by the line;
(0:15:15*9)'
in his code above, you would just have to change that to get different increment values (replace 15 -> 30 or 60).
Más respuestas (4)
Luffy
el 5 de Jul. de 2012
Editada: Luffy
el 5 de Jul. de 2012
Clock=char('12:00','12:15','12:30','12:45','13:00','13:15','13:30','13:45','14:00');
for i = 1:size(Clock,1)
Clock(i,:)
end
Does this help you
Kye Taylor
el 5 de Jul. de 2012
Try running this script... It has some ideas you might use, but it is hardly optimal.
startTimeString = '12:00';
stopTimeString = '14:00';
startTimeDV = datevec(startTimeString);
stopTimeDV = datevec(stopTimeString);
timeInterval = input('Enter the time step in minutes.\n');
thisTime = startTimeDV;
while thisTime(4) < stopTimeDV(4)
% a hack to count +60 minutes as hour
thisTime = datevec(datestr(thisTime));
thisTimeString = datestr(thisTime);
disp(thisTimeString(end-7:end))
thisTime(5) = thisTime(5) + timeInterval;
end
0 comentarios
Luffy
el 6 de Jul. de 2012
If you just want a loop with only 3 different intervals maybe this crude method can help Clock15=char('12:00','12:15','12:30','12:45','13:00','13:15','13:30','13:45','14:00');
Clock30=char('12:00','12:30','13:00','13:30','14:00');
Clock60=char('12:00','13:00','14:00');
based on gui if u use popup menu use switch case and give either of Clock15/Clock30/Clock60 to Clock and write a loop,
for i = 1:size(Clock,1)
Clock(i,:)
end
Does this help you
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!