【发布时间】:2017-03-15 03:53:51
【问题描述】:
首先,我在这个链接上放了一些股票数据
https://drive.google.com/open?id=0B9hoshsWoDHGOGs1SGFDTG9BYlk
由代码sn-p的第一行加载来演示问题。
在 R2016a 及更早版本中有效但在 R2016b 中失败的代码如下:
FileName = '~/TestFile.csv';
tmpData = readtable(FileName);
Data = tmpData(:,3:size(tmpData, 2));
names = fieldnames(Data);
DataArray=table2array(Data);
DateCell = table2cell(tmpData(:,1));
count = size(Data, 2);
for i=1:count
tmpStr = char(names(i));
% fprintf('%s\n', tmpStr);
TS(i) = timeseries(DataArray(:,i), DateCell, 'Name', tmpStr);
end
在 R2016b 中,DateCell 变量似乎是一个 1091 元胞数组,其中包含“1x1 datetime”元素,导致对时间序列的调用失败。在所有早期版本的 Matlab 中,它似乎是一个 1091 元胞数组,其中填充了在时间序列中正常工作的日期。
那么,假设有更好技能的人可以验证,那么解决这个问题的编码更改是什么?
提前致谢!
【问题讨论】:
标签: matlab