matlab时间序列编程,时间序列的matlab实例编程

%时间序列ex1

%x-72个源数据

%各个图像需要单独的操作完成(手工进行)

x=[9007 8106 8928 9137 10017 10826 11317 10744 9713 9938 9161 8927 7750 6981 8038 8422 8714 9512 10120 9823 8743 9192 8710 8680 8162 7306 8124 7870 9387 9556 10093 9620 8285 8433 8160 8034 7717 7461 7776 7925 8634 8945 10078 9179 8037 8488 7874 8647 7792 6957 7726 8106 8890 9299 10625 9302 8314 8850 8265 8796 7836 6892 7791 8129 9115 9434 10484 9827 9110 9070 8633 9240];

T1=zeros(1,72);

t=[9651.75 8723.75 8585.8+1/30 8396.75 8576.8+1/30 8796.75]; %t-各年年平均死亡人数

for i=1:6

T1((12*i-11):(12*i))=t(i); %趋势项T1的赋值

end

%数据图和分段趋势1

% plot(x);

% hold on

% plot(T1,'r');

% hold off

%method1-分段趋势法

S1=zeros(1,72);

for i=1:12 %季节项S1的赋值

S1(i:12:(i+12*5))=sum(x(i+12.*[0:5])-T1(i+12.*[0:5]))/6;

end

R1=x-T1-S1; %随机项R1及绘图

% plot(S1);

% hold on

% plot(R1,'r');

% hold off

%method2-回归直线法

Y=ones(2,72);

Y(2,:)=1:72;

A=inv(Y*Y')*Y*x'; %回归系数

T2=A(1)+A(2).*[1:72]; %趋势项T2的赋值

%数据图和直线趋势2

% plot(x);

% hold on

% plot(T2,'r');

% hold off

S2=zeros(1,72);

for i=1:12 %季节项S2的赋值

S2(i:12:(i+12*5))=sum(x(i+12.*[0:5])-T2(i+12.*[0:5]))/6;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值