灰色关联度的MATLAB代码

 

clc,clear,close all
x=[839 935 1050 1188 1336 1443 1380 1546 1662
    1035 1170 1335 1530 1738 1825 1761 2033 2331 
    1391 1609 1988 2393 2716 3200 2725 3192 3590
    145 212 280 338 413 495 559 611 631
109.08 110.03 110.08 111.31 112.68 114.16 109.63 109.11 107.62
1.8156e+005 1.9622e+005 2.7647e+005 2.7184e+005 3.0196e+005 3.3677e+005 4.2611e+005 4.3436e+005 4.9617e+005
5520.7 5748.6 6622.1 6896 7358.4 7875.2 8837.6 8831.2 9140.7];
x0=minmax (x);
for i=1:7
  for j=1 : 9
  x1(i,j)=(x(i,j)-x0(i,1) )/(x0(i,2)-x0(i,1));%归一化处理
  end

end
data=x1;
n=size (data,1);
for k=1:3
    ck=data (k,: ) ; ml=size(ck,1);
    bj=data (4:n,: );m2=size (bj,1);
    for i=1:ml
        for j=1:m2
            t(j,:)=bj(j,: )-ck(i, : );
        end
        jc1=min (min(abs(t')) );jc2=max(max(abs(t'))); %最小值、最大值
         rho=0.5;
        ksi=(jc1+rho*jc2)./ (abs (t)+rho*jc2);%关联系数
        rt=sum(ksi')/ size (ksi,2);%灰色关联度
        r(i,: )=rt;
    end
    z(k,: )=r;
end
z                           %灰色关联度
[rs,rind]=sort(z','descend')%对关联度进行排序

运行结果如下:

灰色关联度:

            z =

            0.9221    0.6341    0.8504    0.8877
            0.8868    0.6196    0.8686    0.8902

          0.8889    0.6544    0.8454    0.8645

灰色关联度排序:

            rs =

            0.9221    0.8902    0.8889
            0.8877    0.8868    0.8645
            0.8504    0.8686    0.8454
            0.6341    0.6196    0.6544


              rind =

             1     4     1
             4     1     4
             3     3     3
             2     2     2

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值