time format as hr:min:sec
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
seema niran
am 23 Jan. 2017
Beantwortet: Peter Perkins
am 6 Feb. 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 Kommentare
Akzeptierte Antwort
KSSV
am 23 Jan. 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 Kommentare
Stephen23
am 6 Feb. 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.
Weitere Antworten (2)
Stephen23
am 23 Jan. 2017
Bearbeitet: Stephen23
am 23 Jan. 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 Kommentare
Peter Perkins
am 6 Feb. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!