灰色关联度的MATLAB代码

这篇博客介绍了如何对矩阵数据进行归一化处理,并应用灰色关联度分析来评估数据之间的相似性。通过MATLAB代码展示了数据预处理步骤,包括最小最大规范化和计算灰色关联度,最后对结果进行了排序,以确定数据序列的相关性。
摘要由CSDN通过智能技术生成

 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值