要obtai n類似於上面的圖表,您可以在每個月後插入一行NaN。因爲每個月都有不同數量的行,所以不能簡單地重塑,連接NaN並重新塑形。
假設你有一個在第一列的時間戳和一些數據在第二欄:
data = [(now-11:now+13)' rand(25,1)];
% Count in 'idx' when each year-month pair ends
[y,m] = datevec(data(:,1));
[~, idx] = unique([y,m],'rows','last');
% Preallocate expanded Out with NaN separations between each month
szData = size(data);
Out = NaN(szData(1) + numel(idx)-1,2);
% Reposition 'data' within 'Out'
pos = ones(szData(1),1);
pos(idx(1:end-1)+1) = 2;
Out(cumsum(pos),:) = data;
% Example plot
plot(Out(:,1),Out(:,2))
set(gca,'Xtick',data([1 11 12 25],1))
datetick('x','dd-mmm','keepticks')
這個時間序列的2000行,我想有一個郵戳,並與一列一列價格,對吧? – Oleg 2013-05-01 15:53:04
是的:)我想你會告訴我,我不必將它們分開? – oceanfront 2013-05-01 15:55:52
哦,上帝,我只是發現這個http://www.mathworks.it/it/help/stats/examples/time-series-regression-of-airline-passenger-data.html ...讓我們看看我是否可以做到這一點使用不同的長度 – oceanfront 2013-05-01 16:22:38