MATLAB小技巧(17)矩阵分析--灰色关联度计算

MATLAB小技巧(17)矩阵分析--灰色关联度计算

前言

MATLAB进行图像处理相关的学习是非常友好的,可以从零开始,对基础的图像处理都已经有了封装好的许多可直接调用的函数,这个系列文章的话主要就是介绍一些大家在MATLAB中常用一些概念函数进行例程演示!

灰色关联度分析法(Grey Relational Analysis)是灰色系统分析方法的一种。是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法。

对矩阵的灰色关联度进行计算,步骤如下:

第一步:求矩阵均值;

第二步:求各序列的初值像;

第三步:求差序列;

第四步:求两极差;

第五步:求关联系数;

第六步:求关联度

搜寻资料的时候遇到的这个示例,这里分享给大家,MATLAB版本为MATLAB2015b。

一. MATLAB仿真

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:矩阵分析--灰色关联度计算
%环境:Win7,Matlab2015b
%Modi: C.S
%时间:2022-06-25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 清空环境变量
clear all
clc

tic
m=7; %子序列
k=3;%序列长度
X0=[];%差序列矩阵
R0=[];%关联系数矩阵


xindata=[0.000155101	1	0.5
8.54803E-05	1	0.5
5.28503E-05	1	0.5
9.5186E-05	1	0.5
0.000131515	1	0.5
0.00012995	1	0.5
0.000155101	1	0.5
0.000147684	1	0.5]';

mean1=mean(xindata,2);

% 第二步:求各序列的初值像
for i=1:k
x1(i,:)=xindata(i,:)./mean1(i,1); 
end
%x2=x1.^2;
%s=sqrt(sum(x2,2)/(k-1))

%for i=1:m+1
%x2(i,:)=(x(i,:)-mean1(i,1))/s(i,1); %均值化数据
%end

x1=x1';
x0=x1(1,:);
X=x1(2:m+1,:);

% 第三步:求差序列
for i=1:m
    for ii=1:k
      X0(i,ii)=abs(x0(ii)-X(i,ii));
    end
end

% 第四步:求两极差
Max=max(max(X0));  
Min=min(min(X0));

% 第五步:求关联系数
for i=1:m
    for ii=1:k
      R0(i,ii)=(Min+0.5*Max)/(Min+0.5*Max+X0(i,ii));
    end
end


% 第六步:求关联度
r=sum(R0)/k

% 第七步:显示结果
disp('关联度依次为:')
disp(r)
disp('计算灰色关联度源程序');
toc

二. 仿真结果

r =

    1.4817    2.3333    2.3333

关联度依次为:
    1.4817    2.3333    2.3333

计算灰色关联度源程序
时间已过 0.024738 秒。

在这里插入图片描述

三. 小结

矩阵灰色关联度计算的示例,后期可能会用到,这里做个笔记。每天学一个MATLAB小知识,大家一起来学习进步阿!

猜你喜欢

转载自blog.csdn.net/sinat_34897952/article/details/124485939
今日推荐