24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 394  |  回复: 2

lijing5759

金虫 (小有名气)

[交流] 【求助】matlab编写GM(1,1)

我现在有某市近六年生活垃圾的产生量,想预测接下来2010-2015每年的产生量及2020、2030年的产生量。还请帮忙。多谢。

我是环境系的一博士生,但没学过matlab。用金币答谢你吧。


年份        产生量
2004        65.01
2005        74.5
2006        74.72
2007        77.45
2008        77.27
2009        81.17
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
余泽成(金币+2):辛苦了,谢谢参与应助! 2010-09-04 22:26:43

瞎掰的啊,看过就忘掉吧。统计学的东西都忘光了,没法做专业分析,意思意思吧

也就2阶插值看起来合理一点,生活水平越高垃圾产量越多,起码门口的垃圾箱基本服从这个趋势。
阶数越高,垃圾越多(这话别扭啊),太多了就不合理了。
2楼2010-09-03 22:14:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

刘源416

木虫 (正式写手)

至尊


小木虫: 金币+0.5, 给个红包,谢谢回帖
clear
%原始数据输入;
x0=[65.01;74.5;74.72;77.45;77.27;81.17];
n=length(x0);
%由数列x0生成数列x1;
s=0;
for i=1:n   
s=s+x0(i);  
x1(i)=s;
end
%由数列x1生成矩阵C和A;
  for i=1 : (n-1);  
A(i)=-(x1(i)+x1(i+1))/2;  
end  
A=[A' ones(n-1,1)];  
for i=1 : (n-1);  
C(i)=x0(i+1);  
end  
C=C';
beta=inv(A'*A)*A'*C;
%计算出a和u;
a=beta(1);
u=beta(2);
%求出数列x1的预测值数列x2;
m=input('请输入预测的数目:')+length(x0);
for k=0 : (m-1)
x2(k+1)=(x0(1)-u/a)*exp(-a*k)+u/a;
end
%求出原始数列x0的预测值数列x3;
x3(1)=x0(1);
for k=1 : (m-1)  
x3(k+1)=(1-exp(a))*(x0(1)-u/a)*exp(-a*k);
end
x3
t0=1:length(x0);
t3=1:m;
plot(t0,x0,'*',t3,x3)



请输入预测的数目:6

x3 =

  1 至 7 列

   65.0100   73.8564   75.4048   76.9856   78.5995   80.2473   81.9296

  8 至 12 列

   83.6472   85.4008   87.1911   89.0190   90.8852
上善若水 虚怀若谷 宁静致远 淡泊明志
3楼2015-09-04 22:57:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lijing5759 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见