matlab中月度数据到季度数据的转换

matlab中月度数据到季度数据的转换,matlab,Matlab,我一直在尝试在matlab中使用toquarterly函数将月度数据转换为季度数据。我有222个月,但它只转换成3个季度数据。我觉得问题在于没有正确识别数据的频率。我如何纠正这个问题。使用的代码是 clear; data=xlsread('dep_credit.xls'); x=data(:,1); y=data(:,2); %z=data(:,3); %Convert to time series using function fints %myfts=fints(dates, data) d

我一直在尝试在matlab中使用toquarterly函数将月度数据转换为季度数据。我有222个月,但它只转换成3个季度数据。我觉得问题在于没有正确识别数据的频率。我如何纠正这个问题。使用的代码是

clear;
data=xlsread('dep_credit.xls');
x=data(:,1);
y=data(:,2);
%z=data(:,3);
%Convert to time series using function fints
%myfts=fints(dates, data)
dates=((07/00/97:07/00/97+221))'; 
myfts1=fints(dates,x,'monthly');
myfts2=fints(dates,y, 'monthly');
%myfts3=fints(dates,z);
%convert to quarterly series
x0=toquarterly(myfts1,'CalcMethod', 'SimpAvg');
y0=toquarterly(myfts2, 'CalcMethod', 'SimpAvg');
%z0=toquarterly(myfts3);
%convert fts object to matlab object
x=fts2mat(x0);
y=fts2mat(y0);`

dates=((07/00/97:07/00/97+221))返回什么?我得到了
NaN
。试试看。@Jørgen当然你得到了
NaN
,你用7除以0,这就是
NaN
。在那之后,这一行中的所有其他内容都无关紧要。我想你可以通过做
dates=(datenum(07/00/97):datenum(07/00/97)+221)来解决这个问题
,这完全等同于执行
1:222+datenum(07/00/97)
,因为
datenum
给出了分数天数。可能想看看那个零个月的btb,它通常是不存在的。@Adriaan,我知道,我试图让indu-mann意识到这个问题。插入到日期/时间数组的链接。尝试使用dates=((07/01/97:07/01/97+221)),这不会解决问题。@Jorgen,正如参考网页中所建议的,我尝试使用a=datetime(1997,06,01);B=日期时间(2015,12,01);C=林空间(A',B',222);myfts1=fints(C',x,'每月');myfts2=fints(C',y',每月');显然,它会产生错误,因为fint只接受特定的数据类型