灰色关联与TOPSIS法 —— matlab
目录
1.简介
2.算法详解
2.1 指标正向化及标准化
2.2 找到最大最小参考向量
2.3 计算与参考向量的相关系数
2.4 求评分
3.实例分析
3.1 读取数据
3.2 数据标准化
3.3 得到最大最小参考行
3.4 与最大值的灰色相关系数
3.5 与最小值的灰色相关系数
3.6 计算综合评分
完整代码
1.简介
TOPSIS法 —— matlab :传送门
灰色关联法 —— matlab:传送门
2.算法详解
2.1 指标正向化及标准化
设有m个待评对象,n个评价指标,可以构成数据矩阵X=(xij)m*n,设数据矩阵内元素,经过指标正向化处理过后的元素为xij'
- 若xj为负向指标(越小越优型指标)
- 若xj为正向指标(越大越优型指标)
2.2 找到最大最小参考向量
设正向化标准化后的数据矩阵。
最大参考向量由各个指标的最大值构成
最小参考向量由各个指标的最小值构成
2.3 计算与参考向量的相关系数
求出标准化后数据矩阵X和最大参考向量Vmax和最小参考向量Vmin的灰色相关系数。
该过程仿照灰色关联度分析法做就行
- 参考向量的选择
例如研究x2指标与x1指标之间的灰色关联度。所以将x1列作为参考向量,即要研究与谁的关系,就将谁作为参考。设参考向量为Y1=x1,生成新的数据矩阵 X1=x2.
- 生成绝对值矩阵
设生成的绝对值矩阵为A
A=[X1-Y1],亦是A=[x2-x1]
设dmax为绝对值矩阵A的最大值,dmin为绝对值矩阵A的最小值。
计算灰色关联矩阵
设灰色关联矩阵为B
- 计算灰色关联度
2.4 求评分
3.实例分析
数据来源:蓝奏云
3.1 读取数据
data=xlsread('D:\桌面\TOPSIS.xlsx')' %横坐标为评价指标,纵坐标为评价对象
返回:
3.2 数据标准化
%% 标准化
data1=mapminmax(data,0.002,1);%标准化到0.002-1区间
返回:
3.3 得到最大最小参考行
data1=data1';
V_max=max(data1);%最大参考行,指标最大
V_min=min(data1);%最小参考行,指标最小
3.4 与最大值的灰色相关系数
%% 与最大值的灰色相关系数
[m,n]=size(data1);%得到行数和列数
data2=data1;
for i=1:mdata2(i,:)=abs(data1(i,:)-V_min);
end
%得到绝对值矩阵的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
%灰色关联矩阵
a=0.5; %分辨系数
data3=(d_min+a*d_max)./(data2+a*d_max);
xi_min=mean(data3')
返回:
3.5 与最小值的灰色相关系数
%% 与最小值的灰色相关系数
[m,n]=size(data1);%得到行数和列数
data2=data1;
for i=1:mdata2(i,:)=abs(data1(i,:)-V_max);
end
% data2=abs(data1-V_max);
%得到绝对值矩阵的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
data3=(d_min+a*d_max)./(data2+a*d_max);
xi_max=mean(data3')
返回:
3.6 计算综合评分
%% 综合评分
%与最大指标行相关系数越大,最小指标构成的行相关系数越小得分大
Score=1./(1+xi_min./xi_max).^2;
for i=1:length(Score)fprintf('第%d个投标者评分为:%4.2f\n',i,Score(i));
end
返回:
完整代码
clc;clear;
data=xlsread('D:\桌面\TOPSIS.xlsx')'; %横坐标为评价指标,纵坐标为评价对象
%% 标准化
data1=mapminmax(data,0.002,1);%标准化到0.002-1区间
data1=data1';
V_max=max(data1);%最大参考行,指标最大
V_min=min(data1);%最小参考行,指标最小
%% 与最大值的灰色相关系数
[m,n]=size(data1);%得到行数和列数
data2=data1;
for i=1:mdata2(i,:)=abs(data1(i,:)-V_min);
end
%得到绝对值矩阵的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
%灰色关联矩阵
a=0.5; %分辨系数
data3=(d_min+a*d_max)./(data2+a*d_max);
xi_min=mean(data3');
%% 与最小值的灰色相关系数
[m,n]=size(data1);%得到行数和列数
data2=data1;
for i=1:mdata2(i,:)=abs(data1(i,:)-V_max);
end
% data2=abs(data1-V_max);
%得到绝对值矩阵的全局最大值和最小值
d_max=max(max(data2));
d_min=min(min(data2));
data3=(d_min+a*d_max)./(data2+a*d_max);
xi_max=mean(data3');
%% 综合评分
%与最大指标行相关系数越大,最小指标构成的行相关系数越小得分大
Score=1./(1+xi_min./xi_max).^2;
for i=1:length(Score)fprintf('第%d个投标者评分为:%4.2f\n',i,Score(i));
end
灰色关联与TOPSIS法 —— matlab相关推荐
- 灰色关联与TOPSIS法 —— python
目录 1.简介 2.算法详解 2.1 指标正向化及标准化 2.2 找到最大最小参考向量 2.3 计算与参考向量的相关系数 2.4 求评分 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 得 ...
- topsis法matlab程序,TOPSIS算法(示例代码)
title: TOPSIS算法 date: 2020-02-24 11:18:06 categories: 数学建模 tags: [评价模型, MATLAB] mathjax: true 定义 ? C ...
- 【数学建模】灰色关联分析 + Matlab代码实现
文章目录 一.学习内容: 二.学习时间: 三.学习产出: 3.1 灰色关联分析基本思想 3.2 运用灰色关联分析的基本步骤 3.3 灰色关联分析代码实现(Matlab) 3.3.1 应用一:分析产业对 ...
- python灰色关联度分析_灰色关联分析法 python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文2290字,预计阅读需10分钟: 关联分析(association anal ...
- 关联矩阵古林法的matlab代码,[转载][原创]灰色关联分析及Matlab程序实现
灰色系统理论由我国著名学者邓聚龙教授于1982提出.灰色关联分析是灰色系统理论的一个分支,应用灰色关联分析方法对受多种因素影响的事物和现象从整体观念出发进行综合评价是一个被广为接受的方法. 一.灰色关 ...
- 灰色关联法 —— matlab
目录 1.简介 2.算法详解 2.1 数据标准化 2.2 计算灰色相关系数 2.3 计算灰色关联度系数 3.实例分析 3.1 读取数据 3.2 数据标准化 3.3 绘制 x1,x4,x5,x6,x7 ...
- matlab灰关联度,[转载]灰色关联和加权关联分析法matlab程序
%by allen %灰色关联分析法和灰色加权关联分析法matlab程序,其区别主要在于求关联度是使用平均值法还是加权法 %平均值法为一般普通求法,加权值法可以根据侧重点不同进行分析 %matlab6 ...
- matlab关联度排序模型,灰色关联和加权关联分析法matlab程序
%by allen %灰色关联分析法和灰色加权关联分析法matlab程序,其区别主要在于求关联度是使用平均值法还是加权法 %平均值法为一般普通求法,加权值法可以根据侧重点不同进行分析 %matlab6 ...
- matlab之灰色关联分析法
matlab之灰色关联分析法 https://blog.csdn.net/m0_37286282/article/details/79183333
最新文章
- 接口的特点及,抽象类与接口的区别
- 点分治问题 ----------- 2019西安邀请赛 j and and and[点分治]
- leetcode:44. 通配符匹配
- QT关于全局变量的申请以及使用,所有class可用同一个变量
- 声明对象_计算机各语言数据类型及对象声明之区别
- 【离散数学】集合的划分与覆盖
- linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro
- HTML网页实训的目的,网页设计实习目的及意义.doc
- python做excel自动化-Python如何控制Excel实现自动化办公
- 存储过程从入门到熟练(多个存储过程完整实例及调用方法)
- java 正则表达式大全_Java 正则表达式大全
- mysql 管理工具 绿色_飘云MySQL管理工具(MySQL数据库管理助手)V1.1 最新版
- 分布式机器学习联邦学习论文阅读笔记(持续更新)
- Mac OS 内存管理知识
- Arduino使用RFID模块来储存卡信息实现智能门锁(MF RC522)
- 软件测试体系学习及构建(8)-HTML之图像,表格,列表,区块
- 重装系统Windows10纯净版操作步骤(微pe)
- 快速幂与快速矩阵幂(以大数下的斐波那契数列为例)
- project telecom / dianxin / shenfenzheng / SIM
- 计算机安全会议2017,科学网-第四届中国密码学与数据安全学术会议(CCDS2017)在衡阳师院召开-李浪的博文...
热门文章
- Highcharts+Spring饼图使用实例
- arguments 类数组
- 学习android 画板源代码,Android实现画画板案例
- image pil 图像保存_如何利用python中的PIL库做图像处理?
- 如何 方法内指令重排 进制_谈谈指令重排
- realtek audio console无法连接rpc服务_RPC服务在游戏中的简单运用
- 云麦体脂秤华为体脂秤_华为、小米和有品体脂秤哪个品牌好?三款智能体脂秤横评结果排行...
- 多媒体计算机技术的主要特点,多媒体技术主要特点?
- 单片机实验:节日彩灯控制器
- (组合数求模=乘法逆元+快速幂) Problem Makes Problem