灰色预测MATLAB程序.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
灰色预测 作用 :求累加数列、求 a b 的值 、求预测方程、求残差 clc %清屏,以使结果独立显示 x=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]; format long ; %设置计算精度 if length(x(:,1))==1 %对输入矩阵进行判断,如不是一维列矩阵,进行转置变换 x=x; end n=length(x); %取输入数据的样本量 z=0; for i=1:n %计算累加值,并将值赋予矩阵 be z=z+x(i,:); be(i,:)=z; end for i=2:n %对原始数列平行移位 y(i-1,:)=x(i,:); end for i=1:n-1 %计算数据矩阵 B 的第一列数据 c(i,:)=-0.5*(be(i,:)+be(i+1,:)); end for j=1:n-1 %计算数据矩阵 B 的第二列数据 e(j,:)=1; end for i=1:n-1 %构造数据矩阵 B B(i,1)=c(i,:); B(i,2)=e(i,:); end alpha=inv(B*B)*B*y; %计算参数 矩阵 即 a b 的值 for i=1:n+1 %计算数据估计值的累加数列,如改为 n+1 为 n+m 可预测后 m-1 个 值 ago(i,:)=(x(1,:)-alpha(2,:)/alpha(1,:))*exp(-alpha(1,:)*(i-1))+alpha( 2,:)/alpha(1,:); %显示输出预测值的累加数列 end var(1,:)=ago(1,:) %显示输出预测值 for i=1:n %如改 n 为 n+m-1 ,可预测后 m-1 个值 var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值的累加数列的还原, 并计算出下一预 测值 end for i=1:n error(i,:)=x(i,:)-var(i,:); %计算残差 end c=std(error)/std(x); %调用统计工具箱的标准差函数计算后验差的比值 c ago %显示输出预测值的累加数列 alpha %显示输出参数 数列 var %显示输出预测值 error %显示输出误差 c %显示后验差的比值 作用:数据处理 判断是否可以用灰色预测 、求级比、求累加数列、求 a b 的值 、求预测 方程 clc,clear x0=[71.1 72.4 72.4 72.1 71.4 72.0 71.6]; %注意这里为列向量 n=length(x0); lamda=x0(1:n-1)./x0(2:n) %计算级比 range=minmax(lamda) %计算级比的范围 x1=cumsum(x0) %累加运算 B=[-0.5*(x1(1:n-1)+x1(2:n)),ones(n-1,1)]; Y=x0(2:n); u=B\Y %拟合参数 u(1)=a,u(2)=b x=dsolve( Dx+a*x=b ,

文档评论(0)

151****7744 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体杭州余杭浦振装饰工程队
IP属地浙江
统一社会信用代码/组织机构代码
92330110MA2KEBRJ2Q

1亿VIP精品文档

相关文档