数据 a=[1.344 1.167 1.385 1.116 ], b=[0.955 0.766 1.096 0.944]
MATLAB程序源代码
clc;clear all;
% 原始数据
a=[1.344 1.167 1.385 1.116];
b=[0.955 0.766 1.096 0.944];
s0=0; s1=0; s2=0; s3=0; s4=0;
% 求绝对关联度
% 求始点零像化
for i=1:4
c(i)=a(i)-a(1);
s0=s0+c(i);
end
for i=1:4
d(i)=b(i)-b(1);
s1=s1+d(i);
end
s0=s0-0.5*c(4);
m=abs(s0);
s1=s1-0.5*d(4);
n=abs(s1);
s2=s1-s0;
p=abs(s2);
e0=(1+m+n)/(1+m+n+p); % 绝对关联度
% 求相对关联度
for i=1:4
a1(i)=a(i)/a(1);
b1(i)=b(i)/b(1);
end
for i=1:4
c1(i)=a1(i)-a1(1);
s3=s3+c1(i);
end
for i=1:4
d1(i)=b1(i)-b1(1);
s4=s4+d1(i);
end
s3=s3-0.5*c1(4);
m1=abs(s3);
s4=s4-0.5*d1(4);
n1=abs(s4);
s5=s4-s3;
p1=abs(s5);
e1=(1+m1+n1)/(1+m1+n1+p1); % 相对关联度
% 灰色综合关联度
e2=0.5*e0+0.5*e1; % 综合关联度
程序运行结果