2013-04-26 97 views
0

我想創造與Matlab中的Excel文件的相關信息的矩陣,然而,當我使用了Excel閱讀:輸入Excel文件到Matlab

data = xlsread(FILENAME); 

我的價值觀,爲「日期」被轉換到NaN

樣品輸入excel文件:

  • [細胞A1] = 12/20/2010
  • [細胞A2] =二零一一年二月二十零日
  • [細胞A3] = 25

然而,當我使用讀入變量此:

data = xlsread(FILENAME); 

我的矩陣中的值是:

NaN NaN 25 

是否有一個改變這種方式?我需要日期。

Values in raw: 

Cell 1   Cell 2  Cell 3 Cell 4  Cell 5 
'Date'  'Expiration' 'Strike' 'Implied Vol' 'Days' 
'01/31/2012' '02/03/2012' 21  .672   3 
'02/1/2012' '02/03/2012' 21  .231   2 
[...]   [...]  [..]  [...]   [...] //1000 more values 
+0

什麼MATLAB版本,你運行?您可能想知道最近功能發生了變化:http://undocumentedmatlab.com/blog/xlsread-functionality-change-in-r2012a/ – Amro 2013-04-26 01:58:12

回答

3

從文件中讀取原始數據,然後自己分析它:

[~,~,raw] = xlsread('file.xlsx'); 
dt = datenum(raw(1:2), 'mm/dd/yyyy'); %# serial date number 
val = raw{3};       %# double value 

現在,您可以格式化的日期作爲字符串:

>> datestr(dt) 
ans = 
20-Dec-2010 
20-Feb-2011 
+0

我在DATENUM失敗時收到錯誤消息。錯誤使用dtstr2dtnummx – Josh 2013-04-26 01:45:04

+0

@Josh:你可以顯示什麼是'原始'嗎? – Amro 2013-04-26 01:53:42

+0

我試圖在原始問題中展示原始內容(在底部) – Josh 2013-04-26 02:05:26