time format as hr:min:sec
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
seema niran
el 23 de En. de 2017
Respondida: Peter Perkins
el 6 de Feb. de 2017
sir, i have three columns- one containing hour, next minute , third on sec.
hr=[10,10,10,10];
min=[00,00,01,01];
sec=[00,30,00,30];
i need a single column of time as
[10:00:00,10:00:30,10:01:00,10:01:30]
what is the method?
0 comentarios
Respuesta aceptada
KSSV
el 23 de En. de 2017
hr=[10,10,10,10];
min=[00,00,01,01];
sec=[00,30,00,30] ;
iwant = [] ;
for i = 1:length(hr)
str = sprintf('%02d:%02d:%02d\n',hr(i),min(i),sec(i)) ;
iwant = [iwant ; str] ;
end
iwant
8 comentarios
Stephen23
el 6 de Feb. de 2017
@seema niran: note that my Answer works with negative values as well, without error, as well as being simpler and much more efficient that the answer you accepted.
Más respuestas (2)
Stephen23
el 23 de En. de 2017
Editada: Stephen23
el 23 de En. de 2017
>> hr=[10,10,10,10];
>> min=[00,00,01,01];
>> sec=[00,30,00,30];
>> fprintf('%02d:%02d:%02d\n',[hr;min;sec])
10:00:00
10:00:30
10:01:00
Or to put it into a string or cell array:
>> S = sprintf('%02d:%02d:%02d\n',[hr;min;sec])
S =
10:00:00
10:00:30
10:01:00
>> C = strsplit(strtrim(S),'\n')'
C =
'10:00:00'
'10:00:30'
'10:01:00'
'10:01:30'
0 comentarios
Peter Perkins
el 6 de Feb. de 2017
All the previous answers assume you want text, and that may be what you want. But if you're using R2014b or later, you can use durations:
>> hr=[10,10,10,10];
>> min=[00,00,01,01];
>> sec=[00,30,00,30];
>> d = duration(hr,min,sec)
d =
10:00:00 10:00:30 10:01:00 10:01:30
0 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices 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!