2013-08-02 70 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