全部版块 我的主页
论坛 站务区 十一区 新手入门区
1054 1
2014-09-14
clear
clc

A= [126743        127627        128453        129227        129988        130756        131448        132129 132802        133450        134091        134735        135404        136072]';
T=[        2000        2001        2002        2003        2004        2005        2006        2007 2008        2009        2010        2011        2012        2013];   %T为时间序列

n = length(A);  
%逐差法
a = A(2:end)-A(1:end-1);
b = a;

b1 = -(b(1:end-1)+b(2:end))/2;
b2 = ones(12,1);   
B = [b1 b2];

r = a(2:end);

s=inv(B'*B)*B'*r;    %结果为s

%预测后续数据
F = [];
F(1) = a(1);
for i=2:(n+7)
    F(i) = (a(1)-s(2)/s(1))/exp(s(1)*(i-1))+s(2)/s(1);
end
G = [];
G(1) = a(1);
for i=2:(n+7)
    G(i) = F(i)-F(i-1);     %得到预测出来的数据
end
H=[];             %H为预测结果
H(1) = A(1);
for i=2:(n+7)
    H(i) = H(i-1) + G(i-1);
end
H

t2 = [2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020];  %预测时间序列

P=polyfit(t2,H,20)
yi=polyval(P,t2);

plot(T,A,'o')       %实际值('o')与预测值拟合('--')对比
hold on
plot(t2,yi,'r')
set(gca,'xgrid','on');
set(gca,'ygrid','on');
title('灰色预测模型拟合中国人口数据结果')
xlabel('年份')
ylabel('中国人口数据/万')
legend('\fontsize{10}\it 实际数据','\fontsize{10}\it 拟合得到数据','Location','SouthEast')


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-15 10:02:00
加油努力吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群