模糊综合评判matlab源程序2009-04-2020:351.原理模糊综合评判方法即将评价目标看成是由多种因素组成的模糊集合(称为因素集u),再设定这些因素所能选取的评审等级,组成评语的模糊集合(称为评判集v),分别求出各单一因素对各个评审等级的归属程度(称为模糊矩阵),然后根据各个因素在评价目标中的权重分配,通过计算(称为模糊矩阵合成),求出评价的定量解值。它是应用模糊变换原理和最大隶属度原则,对各因素作综合评价的。其原理
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示为: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| |rn2 rn2...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:x forp=1:n b(p)=d(s,p); end fori=1:n%计算每一个列的平均值 ColAverage(i)=0; forj=1:m ColAverage(i)=ColAverage(i)+a(j,i); end ColAverage(i)=ColAverage(i)/m; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ETotal=0;%超标加权法计算权重 forj=1:n ETotal=ETotal+(b(j)/ColAverage(j)); end fori=1:n EResult(i)=(b(i)/ColAverage(i))/ETotal;%EResult为计算结果 end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %使用隶属函数,做预处理对每一列进行排序 SortedMatrix=a; forj=1:n fori=1:m fork=i:m ifSortedMatrix(i,j)>SortedMatrix(k,j) tmp=SortedMatrix(i,j); SortedMatrix(i,j)=SortedMatrix(k,j); SortedMatrix(k,j)=tmp; end end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %计算单因素隶属度 c=SortedMatrix; forj=1:n fori=1:m fork=1:m ifa(i,j)==c(k,j) ifk==1 ifb(j)
=c(k,j)&b(j)=c(k+1,j) LSDResult(j,i)=0; end end ifk>1&k=c(k-1,j)&b(j)=c(k,j)&b(j)=c(k+1,j) LSDResult(j,i)=0; end end ifk==m ifb(j)=c(k-1,j)&b(j)=c(k,j) LSDResult(j,i)=1; end end end end end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %权重乘以单因素隶属度得到最终结果 R=LSDResult; E=EResult; FuzzyEvalution=E*R; TheResultMoHu=[TheResultMoHu;FuzzyEvalution];end(注:可编辑下载,若有不当之处,请指正,谢谢!)