灰色预测MATLAB程序.doc

上传人:灯火****19 文档编号:137316879 上传时间:2020-07-07 格式:DOC 页数:8 大小:354KB
返回 下载 相关 举报
灰色预测MATLAB程序.doc_第1页
第1页 / 共8页
灰色预测MATLAB程序.doc_第2页
第2页 / 共8页
灰色预测MATLAB程序.doc_第3页
第3页 / 共8页
灰色预测MATLAB程序.doc_第4页
第4页 / 共8页
灰色预测MATLAB程序.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《灰色预测MATLAB程序.doc》由会员分享,可在线阅读,更多相关《灰色预测MATLAB程序.doc(8页珍藏版)》请在金锄头文库上搜索。

1、灰色预测 作用:求累加数列、求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;endn=length(x); %取输入数据的样本量z=0;for i=1:n %计算累加值,并将值赋予矩阵be z=z+x(i,:); be(i,:)=z;endfor i=2:n %对原始数列平行移位 y(i-1,:)=x(i,:);endfor i=1:n-1 %计算数据矩阵B的第一列

2、数据 c(i,:)=-0.5*(be(i,:)+be(i+1,:);endfor j=1:n-1 %计算数据矩阵B的第二列数据 e(j,:)=1;endfor i=1:n-1 %构造数据矩阵B B(i,1)=c(i,:); B(i,2)=e(i,:); endalpha=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,:);%显示输出预

3、测值的累加数列endvar(1,:)=ago(1,:) %显示输出预测值for i=1:n %如改n为n+m-1,可预测后m-1个值 var(i+1,:)=ago(i+1,:)-ago(i,:); %估计值的累加数列的还原,并计算出下一预测值endfor i=1:n error(i,:)=x(i,:)-var(i,:); %计算残差endc=std(error)/std(x); %调用统计工具箱的标准差函数计算后验差的比值cago %显示输出预测值的累加数列alpha %显示输出参数 数列var %显示输出预测值error %显示输出误差c %显示后验差的比值作用:数据处理 判断是否可以用灰色

4、预测 、求级比、求累加数列、求a b的值 、求预测方程clc,clearx0=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=BY %拟合参数u(1)=a,u(2)=bx=dsolve(Dx+a*x=b,x(0)=x0); %求微分方程的符号解x=subs(x,a,b,x0,u(1),u(2),x0(1) %代入估计参数值和初始值yuce1=subs(x,t,0:n-1); %求已知数据的预测值y=vpa(x,6) %其中的6表示显示6位数字yuce=x0(1),diff(yuce1) %差分运算,还原数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号