zoukankan      html  css  js  c++  java
  • 灰色预测GM(1,1)

    % 本程序主要用来计算根据灰色理论建立的模型的预测值。
    % 应用的数学模型是GM(1,1)。
    % 原始数据的处理方法是一次累加法。y=input('请输入数据');%输入数据请用如例所示形式:[48.7 57.17 68.76 92.15]
    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=input('请输入需要预测个数:');
    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))]);
     

  • 相关阅读:
    Java Nashorn--Part 4
    Java Nashorn--Part 3
    Java Nashorn--Part 2
    Java Nashorn--Part 1
    Java 异步 IO
    代码天天写,快乐天天有!
    比迷路更可怕的,是对读书的迷失。
    《寄生兽》观后感
    浅谈生活
    8月份的尾巴
  • 原文地址:https://www.cnblogs.com/loving-wenqure/p/3863969.html
Copyright © 2011-2022 走看看