备战数学建模24-灰色关联分析2

article/2025/5/18 0:56:50

目录

一、灰色关联分析

1-基本概念及步骤

2-经典案例及MATLAB编程实现


一、灰色关联分析

1-基本概念及步骤

灰色关系分析:就是计算某一个待比较的数列和参照数列的关联程度,关联程度越高,说明待比较数列越接近关联数列,则待比较数列越好。

我们看一下灰色关联分析的基本步骤:

第一步:我们需要确定比较数列和参考数列,参考数列就是最好的值。对于效益性指标就是最大值。当然需要对数据进行归一化处理,所有指标转换成极大型,消除量纲的影响。

 第二步:我们需要确定各个指标的权重,当然可以省略,直接等权重即可。

 第三步:计算灰色关联系数,具体公式如下:

第四步:计算灰色加权联度,具体如下:

 第五步:评价分析,根据灰色关联度大小进行排序,灰色关联度越大越好,越大则说明和参照数列越接近。

2-经典案例及MATLAB编程实现

我们看个例子,关于供应商选择决策问题,某个企业需要在6个零件供应商中选择一个合作伙伴,各供应商数据如下所示:

下表中供应商6个,评价指标9个,2,3,4是成本型指标,其余是效益性指标 ;

使用灰色关联度分析算法,计算出的关联度系数和灰色关联度如下表:

上述灰色关联度分析的MATLAB代码如下所示:

clear; clc
a = [0.83, 0.9, 0.99, 0.92, 0.87, 0.95;326, 295, 340, 287, 310, 303;21, 38, 25, 19, 27, 10;3.2, 2.4, 2.2, 2, 0.9, 1.7;0.2, 0.25, 0.12, 0.33, 0.2, 0.09;0.15, 0.20, 0.14, 0.09, 0.15,0.17;250, 180, 300, 200, 150, 175;0.23, 0.15, 0.27, 0.3, 0.18, 0.26;0.87, 0.95, 0.99, 0.89, 0.82, 0.94] ;[n,m] = size(a) ;for i = [1 5:9] %对效益型指标标准化处理a(i,:) = (a(i,:) - min(a(i,:))) / (max(a(i,:)) - min(a(i,:))) ;endfor i = 2 : 4 %对成本型指标进行标准化处理a(i,:) = (max(a(i,:)) - a(i,:)) / (max(a(i,:)) - min(a(i,:))) ;endck = max(a,[],2) ; %逐行求最大值,得到列向量,即参考数列for i = 1 : n for j = 1 : m x1(i,j) = abs(a(i,j) - ck(i,1)) ; %求出参考数列end
endmmin = min(min(x1)) ;
mmax = max(max(x1)) ;rho = 0.5 ; %分辨系数x = (mmin + rho * mmax) ./ (x1 + rho * mmax) ; %计算灰色关联度系数g = mean(x) ; %计算关联度,取等权重[gsort, index] = sort(g, 'descend') ; %对关联度进行由大到小排序disp('关联度排名如下:') ;disp(index) ;

总结一下:灰色关联度分析,用于比较待比较的数列和参照数列的关联程度,用于对各项指标进行综合评价,具体步骤如下:

1)确定比较数列和参考数列;

2)对参考数列和比较数列进行无量纲化处理;

3)定各个指标的权重;(可以省略)

4)计算灰色关联系数;

5)计算灰色加权关联度;

6)根据灰色加权关联度进行排序,综合评价;


http://chatgpt.dhexx.cn/article/DGmbKBcF.shtml

相关文章

灰色关联分析法——系统分析或综合评价模型

Q1:什么是系统分析? 比方说在社会系统、经济系统、农业系统、教育系统中,每个系统都含有许多种因素,而这多种因素共同作用的结果决定了该系统的发展态势,我们常常希望知道在这众多因素中,哪些因素对系统发展…

数学建模笔记——评价类模型之灰色关联分析

这一篇就简单介绍一下灰色关联分析吧。灰色关联分析主要有两个作用,一是进行系统分析,判断影响系统发展的因素的重要性。第二个作用就是用于综合评价问题,给出研究对象或者方案的优劣排名。 不过这里我只能简单介绍一下,更加深入…

数学建模------综合评价模型之灰色关联分析

前言 提起综合评价模型,大家可能会比较熟悉层次分析法,但是层次分型法的主观性太强,有时构造的矩阵并不能通过一致性检验,所以了解一些其他的综合评价模型也是十分重要的。比较常用的综合评价模型有TOPSIS法,熵值法&a…

灰色关联分析及MATLAB实现

目录 一、灰色关联分析概述 灰色关联分析的基本思想: 二、灰色关联分析应用实例 举例一: 1. 确定分析数列 2. 对变量进行预处理 3. 计算子序列中各个指标与母序列的关联系数 三、 MATLAB实现 一、灰色关联分析概述 当一个系统是由多种因素共同作用时…

【数学建模】灰色关联分析 + Matlab代码实现

文章目录 一、学习内容:二、学习时间:三、学习产出:3.1 灰色关联分析基本思想3.2 运用灰色关联分析的基本步骤3.3 灰色关联分析代码实现(Matlab)3.3.1 应用一:分析产业对GDP的影响程度3.3.2 应用二:灰色关联分析评价河…

【数模】灰色关联分析与预测模型

文章目录 前言一、灰色预测(法)1.定义2.如何预测3.灰色预测的四种常见类型 二、灰色关联度分析灰色关联度 三、灰色生成数列四、灰色模型GM(1,1)五、灰色预测步骤 前言 灰色系统的应用 一、灰色预测(法) 1.定义 灰色预测法&a…

数学建模学习:灰色关联分析

一、灰色关联分析 1.概述 一般的抽象系统,如社会系统、经济系统、农业系统、生态系统、教育系统等都包含有许多种因素,多种因素共同作用的结果决定了该系统的发展态势。在众多的因素中,哪些是主要因素,哪些是次要因素&#xff1…

灰色关联分析笔记

什么时候用灰色关联分析? 灰色关联分析 是根据因素之间发展趋势的相似或相异程度,亦即“灰色关联度”,作为衡量因素间关联程度的一种方法 【若两个因素变化的趋势具有一致性,即同步变化程度较高,即可谓二者关联程度较…

MATLAB学习笔记_Day03灰色关联分析和灰色预测模型

学习视频:【零基础教程】老哥:数学建模算法、编程、写作和获奖指南全流程培训! 文章目录 1. 灰色关联分析与预测模型适用范围:1.1 灰色预测的概念1.2 灰色关联度与优势分析1.3 灰色预测模型1.4 灰色模型GM(1,1)1.5 灰色预测步骤 1…

灰色系统理论与灰色关联分析模型

灰色系统理论与灰色关联分析模型 Author:丸子 Written on: 220211 Notes:包括灰色系统知识和灰色关联分析模型两部分 笔记课程来自b站网课老哥带你学数模书本为《数学建模算法与应用(第3版)》,司守奎编著第424页 文章目录 灰色系统理论与灰色…

Python 灰色关联度 灰色预测模型

灰色关联度 灰色关联度常用于分析影响因子与被影响因子的关联,是水论文的好东西 如果数据的量纲不统一的话,需要先进行归一化处理 import numpy as npdef gray_correlation(refer, data, rho0.5): refer: 参照数列 (列向量)data: 比较数列 (以列为单位…

备战数学建模15-灰色关联分析与灰色预测模型

目录 一、灰色系统理论与灰色关联分析 1-灰色预测的概念 2-灰色关联度与优势分析 3-灰色关联分析案例分析 4-灰色生成数列 二、灰色预测模型 1-灰色模型GM 2-灰色模型GM的建模步骤 3-灰色预测经典案例1 4-灰色预测模型经典案例2 一、灰色系统理论与灰色关联分析 1-灰…

C语言:关键字----switch、case、default(开关语句)

C语言:基础开发----目录 C语言:关键字—32个(分类说明) 有32个关键字详细说明,还有跳转链接! 一、开关语句----介绍 开关语句,包括以下四种关键字: switch:开关语句case: 开关语句…

C语言关键字auto,case,default,switch应该如何使用

前言:本文章主要用于个人复习,追求简洁,感谢大家的参考、交流和搬运,后续可能会继续修改和完善。 因为是个人复习,会有部分压缩和省略。 一、auto 1.c语言中,关键字auto用于声明一个变量为自动变量&#x…

C语言-switch-case语句与多分支结构

一、switch-case语句 1. switch语句中的每个语句段中都使用break语句 switch-case语句的一般形式为: switch (表达式){case 常量表达式1: 语句段1;break;case 常量表达式2:语句段2;break;...case 常量表达式n:语句段n;break;default:语句段n1;break;}这是switch-c…

C语言——switch case 语句判断学生成绩

C语言——switch case 语句判断学生成绩 switch case 讲解: switch(),在括号里输入所定义的变量,接着在()后面输入一个{}大括号,把每一个分支语句放在大括号中。 switch()写法: int main()…

C语言--switch case 语句,case 后没有语句

背景:在看 wireshark 的解析协议部分的源码时,发现很多的 switch case 语句,case 后没有语句 的情况,随处可见的这种情况,产生疑惑,报文解析就是很好的例子。 例如:wireshark-3.2.17/epan/diss…

补充switch语句的内容和逗号运算符(C语言case后没有break的switch语句,会继续执行后面的语句再退出)

补充switch语句的内容和逗号运算符 C语言case后没有break的switch语句,会继续执行后面的语句再退出补充逗号运算符 C语言case后没有break的switch语句,会继续执行后面的语句再退出 对于switch语句,我们在使用的时候都会注意使用的规范&#…

c语言 case break,C语言中switch...case语句中break的重要性

在C语言中switch...case语句是经常用到的,下面我介绍一下在使用该语句时候需要注意的一个细节问题。话不多说,直接举例子: 例子1: switch(fruit) { case 1:printf("apple"); break; case 2:printf("banana");…

C语言CASE语句嵌套,C语言中switch case语句的嵌套

给一个含有嵌套的switch case的一段完整代码: #include int main() { int n1; int m2; switch(n) { case 1: m; case 2: n; case 3: switch(n) { case 1: n; case 2: m; n; break; } case 4: m; break; default: break; } printf("%d %d",m,n); return 0…