如何将ascii中的时间值解释为数值?

时间:2010-05-31 14:34:19

标签: matlab

我有一个文件如下:

15:03:21 II 0.88 0.64 15:03:31 II 0.88 0.64 15:03:42 II 0.40 0.40 等

在matlab中加载文件后,我希望能够读取第一列(对应于时间)并将它们解释为数值。目前,它们被解释为一串ascii字符,我无法对它们执行任何数学运算。有没有人对如何将时间读作数字而不是一串ascii字符有任何建议?

3 个答案:

答案 0 :(得分:6)

使用DATENUMDATEVEC将日期字符串转换为有用的数字值。

答案 1 :(得分:1)

像乔纳斯说的那样,但更具体地说,

t = {'15:03:21 ' '15:03:31 ' '15:03:42 '};
datenum(t, 'HH:MM:SS')

答案 2 :(得分:1)

除了上述答案之外,还有另一个有用的函数DATEVEC,它将日期字符串或日期输出转换为年 - 月 - 日 - 小时 - 分 - 秒的向量。试试吧:

tvec = datevec(t)

请注意,如果字符串中只有时间,则日期将是当前年份的1月1日。你可以随时用

删除它
tvec(:,1:3) = [];