%by allen
%灰色关联分析法和灰色加权关联分析法matlab程序,其区别主要在于求关联度是使用平均值法还是加权法
%平均值法为一般普通求法,加权值法可以根据侧重点不同进行分析
%matlab6.5
%常数定义
p = 0.2;
%加权权值定义 权值的和为1
aa = [0.1,0.1,0.3,0.3,0.1,0.1];
%需要分析的原始数据矩阵,例如
x1 = [1400,245.31,96.83,34.2,0.43,91.3;
1230,184.31,79.87,34.65,0.32,88.2;
1312,156.24,84.23,29.77,0.37,83.3;
1450,273.47,111.55,29.81,0.50,89.6;
1196,149.82,70.41,33.86,0.27,81.8];
%x1
y1 = max(x1);
%y1为矩阵x1各列最大值
N = size(x1);
%N为x1维数,此矩阵为二维,N有两个值
for i = 1:N(2)
x1(:,i) =
x1(:,i)/y1(i);
end
%x1量纲化
x2 = 1 - x1;
%x2为差序列矩阵
minval = min(min(x2));
%差序列矩阵最小值
maxval = max(max(x2));
%差序列矩阵最大值
for i = 1:N(1)
for j =
1:N(2)
x2(i,j) = (minval + p * maxval)/ (x2(i,j) + p * maxval) ;
end end
%x2 关联系数矩阵
x3 = x2';
round(100 * mean(x3)) /100
%输出精度控制
%mean(x3)
%平均值法关系度结果
N1 = size(x3);
for i = 1:N1(1)
x3(i,:) =
x3(i,:) * aa(i);
end
% x3
round(100 * sum(x3)) / 100
%sum(x3)
%加权关联法关系度结果
%对结果进行排序可得到各种优选结果
------程序为原创,引用请注明