我有一些像这样的变量:
a(1)=00:26:00
a(2)=744:32:00
a(3)=8040:33:00
我想将它们转换为数字,所以我使用datenum命令
最大的数字应该是8040:33:00,但看看会发生什么。
datenum(a([1 2 3]))
ans =
1.0e+005 *
7.3487
7.3485
7.3486
但如果我不计算(1):
datenum(a([2 3]))
ans =
1.0e+005 *
7.3490
7.3520
这是我想得到的结果。我认为问题是a(2)和a(3)超过24小时但我还没有找到解决这个问题的方法。
感谢。
答案 0 :(得分:1)
你没有给我们你的实际输入。具有
a(1)=00:26:00
a(2)=744:32:00
a(3)=8040:33:00
表示a
包含三个零。 (doc colon
解释了原因。)
如果我猜测你实际做的是对的,你应该可以使用
cellfun(@datenum, a)
我没有深入检查过,但确实这种行为看起来有点令人惊讶。您可能需要联系MathWorks支持并提交错误报告。