MATLAB实现灰色预测程序
灰色预测
很好的东西呐,······~~··`~··~~~~~~~~~~~~~~~~~~~~~`````````````
fon [feval,au,ec,C,P]=GM1_1(x, r if nrgin<2 myar=0; end
[mx,nx]=size(x; if mx==1 x=x'; end n=length(x; for i=2:n
z(i-1=0.5*x1(i+0.5*x1(i-1; end Y=x(2:end; B(:,1=-z; 2/au(1; yc(1=x(1;
for k=1:n+myear-1
y1(k+1=pm*exp(-au*k+a(2/au(1; yc(k+1=y1(k+1-y1(k; end
feval=yc'; ex=ec./x; r=0; rou=0.5; for k=1:n
r=r+rou* s(ec(k+rou*max(a (ec; end r=r/n;
%原始序列的标准差 s1=std(x;
%计算残差的标准差 s2=std(ec; %计算C C=s2/s1; %计算后验概率 deta=ec-mean(ec; index=fineta<0.6745*s1; P=length(index/n; %%
if C<0.35&P>0.95 disp('预测精度为一级' elsP>0.8
disp('预测精度为二级'
elseif >0.7
disp('预测精度为三级' else
disp('预测精度过低,需要对模型进行修正' end if r>0.6
disp('关联度符合检验要求' end
t1=1:length(x; t2=1:lengt;
plot(t1,x,'b--+',t2,feval,'r-o' legend('原始数据','预测数据'
另一个程序
function [y,p,e]=huise_1_1(X,k %灰色模型的malab程序 %Example [y,p]=gm_1_1([200 250 300 350],2
%接口描述: X的预测的初始数列,|X|>4,K是指向后进行预测的个数
%命令格式: 程序保存的文件名,eg:huise.m 则命令是: huise([579.8 547.5 527.0 492.3 437.0],5
if nargout>3;
r('Too maoutput argument.'; en
if nargin==1,k=1;x_orig=X; elseif ==0|nargin>2 errr('Wrong nu arguments.';
MATLAB实现灰色预测程序很全,很强大,数学建模当中用到.



