您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 模糊综合评判matlab源程序
模糊综合评判matlab源程序2009-02-0910:161.原理模糊综合评判方法即将评价目标看成是由多种因素组成的模糊集合(称为因素集u),再设定这些因素所能选取的评审等级,组成评语的模糊集合(称为评判集v),分别求出各单一因素对各个评审等级的归属程度(称为模糊矩阵),然后根据各个因素在评价目标中的权重分配,通过计算(称为模糊矩阵合成),求出评价的定量解值。它是应用模糊变换原理和最大隶属度原则,对各因素作综合评价的。其原理表示为:B=E×R式中E={e1,e2,...,ei,...,em},为模糊向量或称模糊变换器,是评价因素集X={x1,x2,,xi,,xm}的权重分配。式中R为评价因素X={x1,x2,...,xi,...,xm}与评判集U={u1,u2,,ui,,un}构成的模糊关系矩阵。|R1||r11r12...r1m|R=|R2|=|r21r22...r2m||||||Rn||rn2rn2...rnm|其中n为评价集合的个数,m为评价因素(或评判指标)的个数。2.程序算法下面是采用环境中的常用的超标加权法计算权重,使用“线性降半阶”函数计算隶属度的matlab程序,供各位参考。clear;clc;a=[48.3761111126.33277778819.1455556334.59333331032.364444262.37166672374.72222215.846.430384615981.3157692756.1965385991.735384682.828461542535.69230870.722529.8525895.5325294.58751059.1875462.95252724.5];%a为评价集标准值d=[43.4928.05737.98391.121025.667.4121342.611.82920.75636.411005.4574.09233028.668.51774.99322.781013.9693.8420013.011.95897.53614.44889.87123.27220025.855.72759.59302.031001.9676.15197221.951161.681003.731077.06110.130043.811.09820.51396.611004.7437.0420195.212.92814.08419.81005.831.4920184.412.8824.65449.06998.3638.2820473.011.581220.54956.141244.753.9130716.012.431791.612338.171278.0830.8743621.22.671160.54821.291100.8285.4129426.617.3865.57389.311065.2746.5122449.823.771240.77939.711165.24177.19324817.646.44884.2473.49930.29218.95241726.657.9839.5474.71941.99184.18236325.254.74808.33486.31881.01191.6221725.456.93852.01478.37966.45182.54233935.2718.48785.11331.32979.574.0422452.812.311601.022533.55486.732.4738014.214.861815.522584.68963.610439915.235.35813.85787.16688.79205.18209367.0136.65864.23357.761035.8426.31260984.6534.24892.72381.191060466.64273115.4321.52898.6888.471061.46414.482483115.827926.5350.931079.49544.383075];%b为待判样品值[m,n]=size(a);[x,y]=size(d);TheResultMoHu=[];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fors=1:xforp=1:nb(p)=d(s,p);endfori=1:n%计算每一个列的平均值ColAverage(i)=0;forj=1:mColAverage(i)=ColAverage(i)+a(j,i);endColAverage(i)=ColAverage(i)/m;end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ETotal=0;%超标加权法计算权重forj=1:nETotal=ETotal+(b(j)/ColAverage(j));endfori=1:nEResult(i)=(b(i)/ColAverage(i))/ETotal;%EResult为计算结果end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%使用隶属函数,做预处理对每一列进行排序SortedMatrix=a;forj=1:nfori=1:mfork=i:mifSortedMatrix(i,j)SortedMatrix(k,j)tmp=SortedMatrix(i,j);SortedMatrix(i,j)=SortedMatrix(k,j);SortedMatrix(k,j)=tmp;endendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算单因素隶属度c=SortedMatrix;forj=1:nfori=1:mfork=1:mifa(i,j)==c(k,j)ifk==1ifb(j)c(k,j)LSDResult(j,i)=1;endifb(j)=c(k,j)&b(j)c(k+1,j)LSDResult(j,i)=((c(k+1,j)-b(j))/(c(k+1,j)-c(k,j)));endifb(j)=c(k+1,j)LSDResult(j,i)=0;endendifk1&kmifb(j)c(k-1,j)LSDResult(j,i)=0;endifb(j)=c(k-1,j)&b(j)c(k,j)LSDResult(j,i)=((b(j)-c(k-1,j))/(c(k,j)-c(k-1,j)));endifb(j)=c(k,j)&b(j)c(k+1,j)LSDResult(j,i)=((c(k+1,j)-b(j))/(c(k+1,j)-c(k,j)));endifb(j)=c(k+1,j)LSDResult(j,i)=0;endendifk==mifb(j)c(k-1,j)LSDResult(j,i)=0;endifb(j)=c(k-1,j)&b(j)c(k,j)LSDResult(j,i)=((b(j)-c(k-1,j))/(c(k,j)-c(k-1,j)));endifb(j)=c(k,j)LSDResult(j,i)=1;endendendendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%权重乘以单因素隶属度得到最终结果R=LSDResult;E=EResult;FuzzyEvalution=E*R;TheResultMoHu=[TheResultMoHu;FuzzyEvalution];endTheResultMoHu
本文标题:模糊综合评判matlab源程序
链接地址:https://www.777doc.com/doc-2305944 .html