Converting a string Array into a Char array
8 views (last 30 days)
Show older comments
Hello I have an array of strings called time, they all have the format: 22:39:04.502727 hours:minutes:seconds and I want to convert all of them into a number where its minutes.seconds, so how would I do that?
3 Comments
Walter Roberson
on 18 Aug 2017
If you are using somwhere around R2015b-ish or later, then you can convert your times to datetime objects and use the datetime objects as your x coordinate, without needing to convert to integers.
Answers (2)
Sean de Wolski
on 17 Aug 2017
Use datetime and then change the Format to that which you desire.
dt = datetime('22:39:04.502727','InputFormat','HH:mm:ss.SSSSSS')
dt.Format = 'mm:ss'
1 Comment
per isakson
on 19 Aug 2017
Edited: per isakson
on 19 Aug 2017
"My intentions are to graph time vs. temp."
[date, time, temp ] = textread('h:\m\cssm\data.txt','%s %s %f', 8 );
dt = datetime( time, 'InputFormat','HH:mm:ss.SSSSSS' );
sdn = datenum( time, 'HH:MM:SS.FFF' ); % the old way
plot( sdn, temp ), datetick
plot( dt, temp )
where data.txt contains
2017-08-19 22:39:04.502727 26.404006797400000
2017-08-19 22:40:04.502727 26.404006797400000
2017-08-19 22:41:04.502727 26.404006797400000
2017-08-19 22:42:04.502727 26.404006797400000
2017-08-19 22:43:04.502727 26.404006797400000
2017-08-19 22:44:04.502727 26.404006797400000
2017-08-19 22:45:04.502727 26.404006797400000
2017-08-19 22:56:04.502727 26.404006797400000
produces two identical(?) diagrams. I guess, there are rounding errors.
You didn't mean
plot( temp, dt )
2 Comments
per isakson
on 20 Aug 2017
I run this example on R2016a. Which release do you use? datetime was "Introduced in R2014b"
See Also
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!