datestr返回多列char矩阵而不是一列

时间:2015-08-03 16:50:32

标签: matlab date

我有以下简单的代码:

conn = yahoo('http://download.finance.yahoo.com');
IBM = fetch(conn,{'IBM'},{'Adj Close'}, '2012-01-01','2015-08-01','d');
MO = fetch(conn,{'MO'},{'Adj Close'}, '2012-01-01','2015-08-01','d');

%IBM = [datestr(IBM(:,1),2) IBM(:,2)]
%MO = [datestr(MO(:,1),2) MO(:,2)]

最后两行给我一个错误。 datestr返回一个包含8列的char矩阵!每个日期编号1列,[0,1,0,1,2,0,0,1]!如何将输出设为1列?

1 个答案:

答案 0 :(得分:0)

我想你想要一个单元格数组而不是 char矩阵,所以只需使用cellstr进行转换。

Container

分别为:

IBM = cellstr([datestr(IBM(:,1),2)])
MO = cellstr([datestr(MO(:,1),2)])

也许你想要IBM = {cellstr([datestr(IBM(:,1),2)]) IBM(:,2)} MO = {cellstr([datestr(MO(:,1),2)]) MO(:,2)}

table

关于Using Tables for Financial Data的视频可能对您有用。