灰色系统的使用.docx

上传人:b****1 文档编号:2441728 上传时间:2022-10-29 格式:DOCX 页数:13 大小:26.54KB
下载 相关 举报
灰色系统的使用.docx_第1页
第1页 / 共13页
灰色系统的使用.docx_第2页
第2页 / 共13页
灰色系统的使用.docx_第3页
第3页 / 共13页
灰色系统的使用.docx_第4页
第4页 / 共13页
灰色系统的使用.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

灰色系统的使用.docx

《灰色系统的使用.docx》由会员分享,可在线阅读,更多相关《灰色系统的使用.docx(13页珍藏版)》请在冰豆网上搜索。

灰色系统的使用.docx

灰色系统的使用

∙基于matlab灰色预测GM(1,1)实现

∙function[y,p,e]=gm_1_1(X,k)

%Buildthecalculatingdieplateforthetypicalgraymodel.

%Example[y,p]=gm_1_1([200250300350],2)

%DesignedbyNIXIUHUI,DalianFisherUniversity.

%20April,2004.LastmodifiedbyNXHat25September,2004   

ifnargout>3,error('Toomanyoutputargument.');end

ifnargin==1,k=1;x_orig=X;

elseifnargin==0|nargin>2

  error('Wrongnumberofinputarguments.');

end

x_orig=X;

predict=k;

%AGOprocess

x=cumsum(x_orig);

%computethecoefficient(aandu)------------------------

n=length(x_orig);

%firstgeneratethematrixB

fori=1:

(n-1);

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

end

B=[B'ones(n-1,1)];

%thengeneratethematrixY

fori=1:

(n-1);

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

end

Y=y';

%getthecoefficient.a=au

(1)u=au

(2)

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

%--------------------------------------------------------

%changethegreymodeltosymbolicexpression

coef1=au

(2)/au

(1);

coef2=x_orig

(1)-coef1;

coef3=0-au

(1);

costr1=num2str(coef1);

costr2=num2str(abs(coef2));

costr3=num2str(coef3);

eq=strcat(costr1,'+',costr2,'e^',costr3,'*(t-1))');

 

%comparisonofcalculatedandobservedvalue

fort=1:

n+predict

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

end

x_mcv0=diff(mcv);

x_mcve=[x_orig

(1)x_mcv0];

x_mcv=diff(mcv(1:

end-predict));

x_orig_n=x_orig(2:

end);

x_c_error=x_orig_n-x_mcv;

x_error=mean(abs(x_c_error./x_orig_n));

ifx_error>0.2

  disp('modeldisqualification!

');

elseifx_error>0.1

  disp('modelcheckout');

else

  disp('modelisperfect!

');

end

%predictingmodelandplotgragh

plot(1:

n,x_orig,'diamond',1:

n+predict,x_mcve);

p=x_mcve(end-predict+1:

end);

xlabel('CURVEOFGREYMODELANALYSIS');

title('GM(1,1)');

gridon

y=eq;

e=x_error;

p=x_mcve(end-predict+1:

end);

基于matlab层次分析法的实现

disp('请输入判断矩阵A(n阶)');

A=input('A=');

[n,n]=size(A);

x=ones(n,100);

y=ones(n,100);

m=zeros(1,100);

m

(1)=max(x(:

1));

y(:

1)=x(:

1);

x(:

2)=A*y(:

1);

m

(2)=max(x(:

2));

y(:

2)=x(:

2)/m

(2);

p=0.0001;i=2;k=abs(m

(2)-m

(1));

while k>p

 i=i+1;

 x(:

i)=A*y(:

i-1);

 m(i)=max(x(:

i));

 y(:

i)=x(:

i)/m(i);

 k=abs(m(i)-m(i-1));

end

a=sum(y(:

i));

w=y(:

i)/a;

t=m(i);

disp(w);disp(t);

        %以下是一致性检验

CI=(t-n)/(n-1);RI=[000.520.891.121.261.361.411.461.491.521.541.561.581.59];

CR=CI/RI(n);

ifCR<0.10

   disp('此矩阵的一致性可以接受!

');

   disp('CI=');disp(CI);

   disp('CR=');disp(CR);

end

∙基于matlab灰色关联度计算的实现

functionr=incident_degree(x0,x1)

%computetheincidentdegreeforgreymodel.

%DesignedbyNIXIUHUI,DalianFisherUniversity.

%17August,2004,LastmodifiedbyNXHat21August,2004      

%数据初值化处理

x0_initial=x0./x0

(1);

temp=size(x1);

b=repmat(x1(:

1),[1temp

(2)]);

x1_initial=x1./b;

%分辨系数选择

K=0.1;

disp('Thegreyinterconnectdegreeis:

');

x0_ext=repmat(x0_initial,[temp

(1)1]);

contrast_mat=abs(x0_ext-x1_initial);

delta_min=min(min(contrast_mat));%delta_min在数据初值化后实际为零

delta_max=max(max(contrast_mat));

a=delta_min+K*delta_max;

incidence_coefficient=a./(contrast_mat+K*delta_max);%得到关联系数

r=(sum(incidence_coefficient'))'/temp

(2);     %得到邓氏面积关联度

关于灰色预测

1.%这是用于解灰色预测函数  

2.%alpha为均值生成数列的权重  

3.%gmax为生成预测数列的元素个数  

4.function [p,q,r]=hsyc(x0,gmax,alpha)  

5.x1=zeros(size(x0));  

6.z1=zeros(size(x0));  

7.x1yc=zeros(size(x0));  

8.xyc=zeros(size(x0));  

9.cancha=zeros(size(x0));  

10.n=length(x0);  

11.for i=1:

n %做一次累加(AGO)生成数列x1  

12.     if i==1  

13.        x1(i)=x0(i);  

14.     else  

15.        x1(i)=x1(i-1)+x0(i);  

16.     end  

17.end  

18.for i=2:

n %生成均值数列z1  

19.     z1(i)=alpha*x1(i)+(1-alpha)*x1(i-1);  

20.end  

21.c=sum(z1);  

22.d=sum(x0)-x0

(1);  

23.z1x0=z1.*x0;  

24.e=sum(z1x0);  

25.z12=z1.^2;  

26.f=sum(z12);  

27.a=(c*d-(n-1)*e)/((n-1)*f-c^2);  

28.b=(d*f-c*e)/((n-1)*f-c^2);  

29.x1yc

(1)=x1

(1);  

30.for k=1:

(gmax-1)  

31.     x1yc(k+1)=(x0

(1)-b/a)*exp(-a*k)+b/a;  

32.end  

33.p=x1yc;  

34.for i=1:

gmax  

35.     if i==1  

36.         xyc

(1)=x1yc

(1);  

37.     else  

38.         xyc(i)=x1yc(i)-x1yc(i-1);  

39.     end  

40.end  

41.q=xyc;  

42.for i=1:

n  

43.     cancha(i)=(x0(i)-xyc(i))/x0(i);  

44.end  

45.r=cancha;%如果残差r<0.2,则认为达到一般要求;如果r<0.1,则认为达到较高要求  

 

灰色系统

联盟会员:

黄欣(xhtho) 原创 发布时间:

2005-3-18 点击:

2526【大 中 小】

一、灰色系统理论产生的科学背景

现代科学技术在高度分化的基础上又显现了高度综合的大趋势,导致了具有方法论意义的系统科学学科群的出现。

系统科学揭示了事物之间更为深刻、更具本质性的内在联系,大大促进了科学技术的整体化进程;许多科学领域中长期难以解决的复杂问题随着系统科学所学科的出现迎刃而解;人们对自然界和客观事物演化规律的认识也由于系统科学新学科的出现而逐步深化。

20世纪40年代末诞生的系统论、信息论、控制论,产生于20世纪60年代末、70年代初的耗散结构理论、协同学、突变论、分形理论以及70年代中后期相继出现的超循环理论、动力系统理论、泛系理论等都是具有横向性、交叉性的系统科学新学科。

在系统研究中,由于内外扰动的存在利认识水平的局限,人们所得到的信息往往带有某种不确定性。

随着科学技术的发展和人类社会的进步,人们对各类系统不确定性的认识逐步深化,不确定性系统的研究也日益深入。

20世纪后半叶,在系统科学和系统工程领域,各种不确定性系统理论和方法的不断涌现形成一大景观。

如扎德(LA.zadeh)教授于60年代创立的模糊数学,邓聚龙教授于80年代创立的灰色系统理论,帕拉克(z.Pawlak)教授丁80年代创立的粗糙集理论(RoughSetsTheory)和王光远教授于90年代创立的末

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1