2012-03-29 46 views
0

我有這樣的一些變量:
如何日期轉換數字在Matlab

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 

That's,我想要得到的結果。我認爲問題是(2)和(3)有24小時以上,但我沒有找到任何方法來解決這個問題。
謝謝。

+0

你的意思是'a {1} = '00:26:00''? – Memming 2012-03-29 17:46:45

回答

1

你沒有給我們你的實際投入。有

a(1)=00:26:00 
a(2)=744:32:00 
a(3)=8040:33:00 

意味着a持有三個零。 (doc colon解釋了爲什麼。)

如果我的猜測,你實際上做的是正確的,你應該能夠使用

cellfun(@datenum, a) 

我還沒有深刻檢查,但行爲看起來有點令人驚訝的確如此。您可能需要聯繫MathWorks支持並提交錯誤報告。

+0

已解決。克里斯托弗·克魯伊齊格是對的。隨着cellfun功能,它完美的作品。非常感謝你。 – user1297712 2012-03-29 18:50:53