最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

MATLAB实现灰色预测程序 很全,很强大,数学建模当中用到的

来源:动视网 责编:小OO 时间:2025-09-25 14:02:19
文档

MATLAB实现灰色预测程序 很全,很强大,数学建模当中用到的

MATLAB实现灰色预测程序灰色预测很好的东西呐,······~~··`~··~~~~~~~~~~~~~~~~~~~~~`````````````fon[feval,au,ec,C,P]=GM1_1(x,r)ifnrgin0.7disp('预测精度为三级')elsedisp('预测精度过低,需要对模型进行修正')endifr>0.6disp('关联度符合检验要求')endt1=1:length(x);t2=1:lengt);plot(t1,x,'b--+',t2,feval,'r-o')leg
推荐度:
导读MATLAB实现灰色预测程序灰色预测很好的东西呐,······~~··`~··~~~~~~~~~~~~~~~~~~~~~`````````````fon[feval,au,ec,C,P]=GM1_1(x,r)ifnrgin0.7disp('预测精度为三级')elsedisp('预测精度过低,需要对模型进行修正')endifr>0.6disp('关联度符合检验要求')endt1=1:length(x);t2=1:lengt);plot(t1,x,'b--+',t2,feval,'r-o')leg
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.');

 end

 x_rig=X;

predict=k;                                %AGO 处理,即是对初始数列进行一阶累加

 x=cumsum(x_orig);                         %计算系数(a 和 u)------------------------

 n=leh(x_orig);                           %生成矩阵 B

 

for i=1:(n-1);

     B(i)=-(x(i)+x(i+1))/2;

 en

 B=[B' ones(n-1,1)];                            %生成矩阵 Y

 

for i=1:(n-1);

     y(i)=x_ori(i+1);

 ed

 Y=y';                                     %计算系数 a=au(1) u=au(2)

 

au=(inv(B'*B))*(B'*Y);            %--------------------------------------------------------

                                             %把huise模型公式转换成符号

 coef1=au(2)/au(1);

 coef2=x_or (1)-coef1;

 co3=0-au(1);

 costr1=nm2str(coef1);

 costr2=numstr(abs(coef2));

 costr3=ntr(coef3);

 eq=strcat(ctr1,'+',costr2,'e^',costr3,'*(t-1))');            %计算每一个值

 

for t=1:(n+predict)

 mcv(t)=co1+coef2*exp(coef3*(t-1));

 end

 x_mcv0=diff(mcv);

 x_mcve=[x_orig(1) x_mcv0]                         %输出图形中的各点

 

 x_c_error=x_orig_n-x_mcv;

 x_errr=mn(abs(x_c_error./x_orig_n)); 

 

if x_error>0.2 %相对误差的均值

disp('del disqualification!');

elseif x_error>0.1

 dip('model check out');

disp('model is perfect!');

 end                                     

 plot(1:n,x_orig,'o',1:n+predict,x_mcve);

 p=x_mcve(end-predict+1:end);                      %画出预测模型和初始数列的点

 xlabel('年份(从第一个数据年份起)');

ylabel('产水量(万吨)');

 tie('灰度模型    GM(1,1)');

 grid on

 y=eq;

 e=x_error;

 p=x_mcve(end-predict+1:end);

所有文档>>学术论文>>会议论文>>

灰色GM(1,N)模型在经济中的预测与应用

http://www.doc88.com/p-137710835384.html

文档

MATLAB实现灰色预测程序 很全,很强大,数学建模当中用到的

MATLAB实现灰色预测程序灰色预测很好的东西呐,······~~··`~··~~~~~~~~~~~~~~~~~~~~~`````````````fon[feval,au,ec,C,P]=GM1_1(x,r)ifnrgin0.7disp('预测精度为三级')elsedisp('预测精度过低,需要对模型进行修正')endifr>0.6disp('关联度符合检验要求')endt1=1:length(x);t2=1:lengt);plot(t1,x,'b--+',t2,feval,'r-o')leg
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top