- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模糊综合评价代码
附录2、各章节中编程计算的MatLab程序2.1 模糊综合评判计算程序模糊综合评判的过程:、灰色关联分析,求权重(程序见Relation);、模糊聚类分析,划分等级(程序见F_class);、隶属度计算,求隶属函数(程序见Subjection和subject);、模糊综合评判,计算各单元等级(程序见F_judge)。各步骤的程序如下:(1)Relation:灰色关联分析程序主程序:% 灰色关联分析:--母序列必须置为第一行!即x(1,:)clear;sq={母指标,断层分维值,隔水层厚度,太会含水层水压,开采深度};m=5;n=81;fid=fopen(data1_no E_ZH.dat,r);X_t=fscanf(fid,%g,[n m]); % 从数据文件读入数据。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-1for j=1:nif maxDT(i,j)max=DT(i,j);elseif minDT(i,j)min=DT(i,j);endendendyita=0.5;fori=1:m-1gama_t(i)=0;for j=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;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)function X1=initia_MAX(X,n)% 初始化,亦即无量纲化,对地质数据,采用最大值化为宜。max=X(1);fori=1:nif maxX(i)max=X(i);endendX1=X./max;(2)F_class:模糊聚类程序% 模糊聚类--减数法或相关系数法建立F关系。clear;m=4;n=81;fid=fopen(data_class.dat,r);X_t=fscanf(fid,%g,[n m]); % 从数据文件读入数据。fclose(fid);X=X_t;choice=input(Input the value of choice: 1-相关系数法,2-绝对值减数法 );switch choicecase 1fori=1:nfor j=1:nxi_all=0; xj_all=0;for k=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;for k=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;endr(i,j)=dt_x/(sqrt(dt_xi2)*sqrt(dt_xj2));endendcase 2 tr0=0;while tr0==0 c=input(Input the value of c;);fori=1:nfor j=1:nd_all=0;for k=1:md_all=d_all+abs(X(i,k)-X(j,k));endr(i,j)=1-c*d_all;endendif rzeros(n,n) tr0=1;endendotherwisedisp(You input the wrong value!);enddisp(r);r_t=r;fori=1:1000rr=multiply_F(r_t,r_t);ifrr==r_tdisp(OK!);break;elser_t=rr;dis
文档评论(0)