灰色预测的matlab代码怎么写?

2024-05-18 00:01

1. 灰色预测的matlab代码怎么写?

clc
clear all
% 本程序主要用来计算根据灰色理论建立的模型的预测值。
% 应用的数学模型是 GM(1,1)。
% 原始数据的处理方法是一次累加法。
 y=[1662.87 2163.4 1965.35 2472.48 2900.66 3034.93 2755.5 3207 3462];%已知数据
n=length(y);
yy=ones(n,1);
yy(1)=y(1);
for i=2:n
    yy(i)=yy(i-1)+y(i);
end
B=ones(n-1,2);
for i=1:(n-1)
    B(i,1)=-(yy(i)+yy(i+1))/2;
    B(i,2)=1;
end
BT=B';
for j=1:n-1
    YN(j)=y(j+1);
end
YN=YN';
A=inv(BT*B)*BT*YN;
a=A(1);
u=A(2);
t=u/a;
t_test=4;  %需要预测个数
i=1:t_test+n;
yys(i+1)=(y(1)-t).*exp(-a.*i)+t;
yys(1)=y(1);
for j=n+t_test:-1:2
    ys(j)=yys(j)-yys(j-1);
end
x=1:n;
xs=2:n+t_test;
yn=ys(2:n+t_test);
plot(x,y,'^r',xs,yn,'*-b');
det=0;
for i=2:n
    det=det+abs(yn(i)-y(i));
end
det=det/(n-1);
disp(['百分绝对误差为:',num2str(det),'%']);
disp(['预测值为: ',num2str(ys(n+1:n+t_test))]);
输出结果:
百分绝对误差为:228.3113%
预测值为: 3710.152      3978.2142      4265.6442      4573.8413

灰色预测的matlab代码怎么写?

2. 灰色模型预测,不知道如何求值。求matlab一高手。

用GM(1,1)灰色模型预测,得到方法一a,u值
a =
    -0.041922
u =
      0.62316
ans =
         2011       0.6285
         2012      0.66332
         2013      0.69172
         2014      0.72133
         2015      0.75221
         2016      0.78442
         2017        0.818


3. 跪求matlab 灰色预测模型 GM(1,1)

2020-2025年的咸阳机场吞吐量为
       2020          935731.6046319
       2021          795255.463561464
       2022          675868.218187573
       2023          574403.910801601
       2024          488171.87118067
       2025          414885.364341384
a和u的值为
a =   0.16266528732006
u =   30471961.5563488
级比检验
          1.11203867321553
          1.10667250071232
          1.17505020014819
          1.17753947251079
          1.28292668319588
          1.04829920607634
          1.21386284365881
          1.17966732451662
          1.24827467080472
          1.44666257843638
          0.991967482887511
          1.08889400828852
          1.04967017170458
          1.24613629091638
相对误差
                         0
          3.38201998001349
          2.76569924899193
          2.89730590396542
          2.82330670261224
          5.95447849197401
          5.60262047510655
            2.616603052537
          2.36628087430014
          3.57748332661478
          27.3467791713837
          7.35957032737474
         0.646828245387884
          11.3681211912885
          6.13344850115878

跪求matlab 灰色预测模型 GM(1,1)

4. 灰色预测的matlab代码怎么写

用matlab写灰色预测GM(1,1)的代码,应该包含下列几个内容:1、已知基本数据序列;2、根据数据,计算灰方程的系数(a、b);3、根据灰方程的系数,对未来进行预测;4、根据预测数据,计算相对误差,计算后验概率,预测精度


5. 怎么matlab灰色模型预测这组数据的下一个数

用matlab灰色模型预测,其实现方法:
1、已知一组序列数据,x0
2、下N个预测数,T
3、对数据进行处理,如累加生成
x(i)=x(i)+x0(j)
4、计算GM(1,1)时间响应式
x0(k+1)=(x0(1)-u/a)*exp(-a(k-1)+u/a)
表达式系数a,u
5、对数据进行反向处理,如累减还原
6、计算相对误差c
7、计算后验概率p
8、预测精度计算
当c0.95时,预测精度为一级
当0.35<c<0.5,0.80<p<=0.95时,预测精度为二级
当0.5<c<0.65,0.70<p<=0.80时,预测精度为三级
根据上述过程,编程后运行得,
x^0(k+1)=(x^0(1)-u/a)*e^-^a^k+u/a    %预测方程
a=0.017793;u=26.2137    %预测方程系数
c=0.69731  %相对误差
p=0.91667  %计算后验概率
预测精度为二级(0.35<c<0.5,0.80<p<=0.95),预测值为:
21.363

怎么matlab灰色模型预测这组数据的下一个数

6. matlab 灰色预测 GM(1,1)

x0=[1.085 1.189 1.375 1.566 1.774 1.957 2.106 2.347];
t=1999:2006; %年份
GM10(x0,t)
请输入未来几年数T:3
ans =
         1999        1.085
         2000        1.246
         2001       1.3871
         2002       1.5441
         2003        1.719
         2004       1.9136
         2005       2.1302
         2006       2.3714
         2007       2.6399
         2008       2.9388
         2009       3.2716

7. 请您帮忙跑一个Matlab的灰色模型的模型。

根据你提供的数据,从下图不难看出,用灰色模型来预测是不太合适的。

分析你的数据流,我认为可以考虑用傅里叶级数,即

从拟合效果来看 是理想的。其拟合精度(相关系数)R²=0.96224

请您帮忙跑一个Matlab的灰色模型的模型。