欢迎来到天天文库
浏览记录
ID:37767694
大小:28.38 KB
页数:8页
时间:2019-05-30
《模糊综合评价代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、附录2、各章节中编程计算的MatLab程序2.1模糊综合评判计算程序模糊综合评判的过程:、灰色关联分析,求权重(程序见Relation);、模糊聚类分析,划分等级(程序见F_class);、隶属度计算,求隶属函数(程序见Subjection和subject);、模糊综合评判,计算各单元等级(程序见F_judge)。各步骤的程序如下:(1)Relation:灰色关联分析程序主程序:%灰色关联分析:--母序列必须置为第一行!即x(1,:)clear;sq={'母指标','断层分维值','隔水层厚度','太会含水层水压','
2、开采深度'};m=5;n=81;fid=fopen('data1_noE_ZH.dat','r');X_t=fscanf(fid,'%g',[nm]);%从数据文件读入数据。fclose(fid);x=X_t';fori=1:mD(i,:)=initia_MAX(x(i,:),n);endfori=1:m-1DT(i,:)=abs(D(1,:)-D(i+1,:));endmax=DT(1,1);min=DT(1,1);fori=1:m-1forj=1:nifmax
3、n>DT(i,j)min=DT(i,j);endendendyita=0.5;fori=1:m-1gama_t(i)=0;forj=1:nxigma(i,j)=(min+yita*max)/(abs(DT(i,j))+yita*max);gama_t(i)=gama_t(i)+xigma(i,j);endendgama(1)=1.0;%母序列对自己的关联度总是为1。disp(strcat(sq(1),'-to-',sq(1))),disp(gama(1))fori=1:m-1gama(i+1)=gama_t(i)/n;
4、disp(strcat(sq(i+1),'-to-',sq(1))),disp(gama(i+1))enddisp('归一化处理如下:')gama_all=0;fori=1:mgama_all=gama_all+gama(i);endfori=1:mweight(i)=gama(i)/gama_all;disp(sq(i)),disp(weight(i))end子程序:initia_MAX(X,n)functionX1=initia_MAX(X,n)%初始化,亦即无量纲化,对地质数据,采用最大值化为宜。max=X(1)
5、;fori=1:nifmax6、1:nforj=1:nxi_all=0;xj_all=0;fork=1:mxi_all=xi_all+X(i,k);xj_all=xj_all+X(j,k);endxi_ave=xi_all/m;xj_ave=xj_all/m;dt_x=0;dt_xi2=0;dt_xj2=0;fork=1:mdt_x=dt_x+abs(X(i,k)-xi_ave)*abs(X(j,k)-xj_ave);dt_xi2=dt_xi2+(X(i,k)-xi_ave)^2;dt_xj2=dt_xj2+(X(j,k)-xj_ave)^2;end7、r(i,j)=dt_x/(sqrt(dt_xi2)*sqrt(dt_xj2));endendcase2tr0=0;whiletr0==0c=input('Inputthevalueofc;');fori=1:nforj=1:nd_all=0;fork=1:md_all=d_all+abs(X(i,k)-X(j,k));endr(i,j)=1-c*d_all;endendifr>zeros(n,n)tr0=1;endendotherwisedisp('Youinputthewrongvalue!');enddisp(r)8、;r_t=r;fori=1:1000rr=multiply_F(r_t,r_t);ifrr==r_tdisp('OK!');break;elser_t=rr;disp('NOTOK!Cycletimesis:');disp(i);endenddisp(rr);tr='y';whiletr=='Y'9、tr=='y'nmta=inpu
6、1:nforj=1:nxi_all=0;xj_all=0;fork=1:mxi_all=xi_all+X(i,k);xj_all=xj_all+X(j,k);endxi_ave=xi_all/m;xj_ave=xj_all/m;dt_x=0;dt_xi2=0;dt_xj2=0;fork=1:mdt_x=dt_x+abs(X(i,k)-xi_ave)*abs(X(j,k)-xj_ave);dt_xi2=dt_xi2+(X(i,k)-xi_ave)^2;dt_xj2=dt_xj2+(X(j,k)-xj_ave)^2;end
7、r(i,j)=dt_x/(sqrt(dt_xi2)*sqrt(dt_xj2));endendcase2tr0=0;whiletr0==0c=input('Inputthevalueofc;');fori=1:nforj=1:nd_all=0;fork=1:md_all=d_all+abs(X(i,k)-X(j,k));endr(i,j)=1-c*d_all;endendifr>zeros(n,n)tr0=1;endendotherwisedisp('Youinputthewrongvalue!');enddisp(r)
8、;r_t=r;fori=1:1000rr=multiply_F(r_t,r_t);ifrr==r_tdisp('OK!');break;elser_t=rr;disp('NOTOK!Cycletimesis:');disp(i);endenddisp(rr);tr='y';whiletr=='Y'
9、tr=='y'nmta=inpu
此文档下载收益归作者所有