2013-08-02 71 views
0

我有一個excel工作表,有幾個列數據的條目。數據成對排列,第一列包含日期,第二列包含與該日期對應的時間序列數據。因此,例如,時間序列1將在A列和B列中,其中is是日期,B是數據。在列D和E包含時間序列2的條目等等之前,列C是空白的,等等...... 如何在Matlab中將這些合併到日期匹配的單個文件中?具體而言,我希望第一列包含日期和其他列以包含數據。我曾嘗試與FTS合併功能,但要做到這一點至今未能..時間序列生成matlab

+0

您在使用讀取數據'xlsread '?你可以寫一些代碼或者描述你的導入過程嗎? – Dan

+0

是的,xlsread。我可以使用「[〜,〜,raw] = xlsread(fileName)」導入整個工作表「 – Mary

回答

0

你可以抓住這樣的日期:dates = [raw{:,1}]'像這樣data = reshape([raw{:, 2:3:end}]', size(raw,1), []);的數據來獲得正常的matlab矩陣的情況下,要在matlab中操作它們。

否則,如果你只是想送他們直接回到然後Excel:

data = [raw(:,1) reshape(raw(:, 2:3:end)]; 
xlswrite(...blablafilename_etc..., data); 

但在這種情況下,你應該使用VBA宏:/

+0

謝謝@Dan。這很好。但是,這是否與各個系列的日期相匹配?由於日期可能並不都對應,這是我使用「合併」的邏輯。 – Mary

+0

@瑪麗你是什麼意思合併?你可以添加你試過的代碼嗎?如果日期不一致,這不會起作用。如果你有統計工具箱,你可以使用[datasets](http://www.mathworks.com/help/stats/datasetclass.html),然後使用[join](http://www.mathworks.com/help/) stats/dataset.join.html),否則你可以手動完成。但是你確定你需要matlab嗎? – Dan

+0

謝謝。合併在金融工具箱中。如果所有時間序列都包含該特定日期的數據,它將自動僅包含數據。我也有統計工具箱,所以我也歡迎大家提出建議。不幸的是我的代碼比分擔者更混亂。 – Mary