模糊综合评判的matlab实现.doc
- 文档编号:270306
- 上传时间:2022-10-08
- 格式:DOC
- 页数:5
- 大小:31KB
模糊综合评判的matlab实现.doc
《模糊综合评判的matlab实现.doc》由会员分享,可在线阅读,更多相关《模糊综合评判的matlab实现.doc(5页珍藏版)》请在冰豆网上搜索。
模糊综合评判matlab源程序
2009-04-2020:
35
1.原理
模糊综合评判方法即将评价目标看成是由多种因素组成的模糊集合(称为因素集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| |rn2 rn2...rnm|
其中n为评价集合的个数,m为评价因素(或评判指标)的个数。
2.程序算法
下面是采用环境中的常用的超标加权法计算权重,使用“线性降半阶”函数计算隶属度的matlab程序,供各位参考。
clear;clc;
a=[
48.3761111126.33277778819.1455556334.59333331032.364444262.37166672374.722222
15.846.430384615981.3157692756.1965385991.735384682.828461542535.692308
70.722529.8525895.5325294.58751059.1875462.95252724.5
];%a为评价集标准值
d=[
43.4928.05737.98391.121025.667.412134
2.611.82920.75636.411005.4574.092330
28.668.51774.99322.781013.9693.842001
3.011.95897.53614.44889.87123.272200
25.855.72759.59302.031001.9676.151972
21.951161.681003.731077.06110.13004
3.811.09820.51396.611004.7437.042019
5.212.92814.08419.81005.831.492018
4.412.8824.65449.06998.3638.282047
3.011.581220.54956.141244.753.913071
6.012.431791.612338.171278.0830.874362
1.22.671160.54821.291100.8285.412942
6.617.3865.57389.311065.2746.512244
9.823.771240.77939.711165.24177.193248
17.646.44884.2473.49930.29218.952417
26.657.9839.5474.71941.99184.182363
25.254.74808.33486.31881.01191.62217
25.456.93852.01478.37966.45182.542339
35.2718.48785.11331.32979.574.042245
2.812.311601.022533.55486.732.473801
4.214.861815.522584.68963.6104399
15.235.35813.85787.16688.79205.182093
67.0136.65864.23357.761035.8426.312609
84.6534.24892.72381.191060466.642731
15.4321.52898.6888.471061.46414.482483
115.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) LSDResult(j,i)=1; end ifb(j)>=c(k,j)&b(j) LSDResult(j,i)=((c(k+1,j)-b(j))/(c(k+1,j)-c(k,j))); end ifb(j)>=c(k+1,j) LSDResult(j,i)=0; end end ifk>1&k ifb(j) LSDResult(j,i)=0; end ifb(j)>=c(k-1,j)&b(j) LSDResult(j,i)=((b(j)-c(k-1,j))/(c(k,j)-c(k-1,j))); end ifb(j)>=c(k,j)&b(j) LSDResult(j,i)=((c(k+1,j)-b(j))/(c(k+1,j)-c(k,j))); end ifb(j)>=c(k+1,j) LSDResult(j,i)=0; end end ifk==m ifb(j) LSDResult(j,i)=0; end ifb(j)>=c(k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 综合 评判 matlab 实现