当前位置:网站首页>MATLAB小技巧(18)矩阵分析--熵权法
MATLAB小技巧(18)矩阵分析--熵权法
2022-06-27 08:13:00 【mozun2020】
MATLAB小技巧(18)矩阵分析--熵权法
前言
MATLAB进行图像处理相关的学习是非常友好的,可以从零开始,对基础的图像处理都已经有了封装好的许多可直接调用的函数,这个系列文章的话主要就是介绍一些大家在MATLAB中常用一些概念函数进行例程演示!
熵权法,物理学名词,按照信息论基本原理的解释,信息是系统有序程度的一个度量,熵是系统无序程度的一个度量;根据信息熵的定义,对于某项指标,可以用熵值来判断某个指标的离散程度,其信息熵值越小,指标的离散程度越大, 该指标对综合评价的影响(即权重)就越大,如果某项指标的值全部相等,则该指标在综合评价中不起作用。因此,可利用信息熵这个工具,计算出各个指标的权重,为多指标综合评价提供依据。
在信息论中,熵表示的是不确定性的量度。熵权法是一种客观赋权方法。它比较复杂,计算步骤如下:
第一步:构建各年份各评价指标的判断矩阵。
第二步:将判断矩阵进行归一化处理, 得到归一化判断矩阵。
第三步:根据熵的定义,根据各年份评价指标,可以确定评价指标的熵。
第四步:定义熵权。定义了第n个指标的熵后,可得到第n个指标的熵权。
第五步:计算系统的权重值。
搜寻资料的时候遇到的这个示例,这里分享给大家,MATLAB版本为MATLAB2015b。
一. MATLAB仿真
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%功能:矩阵分析--熵权法
%环境:Win7,Matlab2015b
%Modi: C.S
%时间:2022-06-25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 清空环境变量
clear all
clc
tic
data=[0.75 0.63 0.75 0.81 0.69 0.81 5 10 1.93548E+11 7240.681967 6.298785927 0.62 192.4661076 4.686888049 2.0 3.400000095 0.115836213 96.97335856 15.38125957 101.7018861 6.499 4 6 6 7.6 6.6 23.1 31 4.8 2.431582014 9.5 -3.61798E-05 1 1
0.75 0.5 0.69 0.81 0.63 0.75 5 10.5 2.30814E+11 8486.599333 4.831769895 0.75 176.6685921 3.280791297 5.4 3.5 0.116569495 97.55335372 16.85965181 103.3669954 4.808180972 4 6 5.7 7.6 6.5 18.9 20 4.8 2.186625121 9.5 4.54671E-05 1 1
0.75 0.5 0.69 0.81 0.63 0.75 5 10.5 2.02258E+11 7312.008314 -1.513685083 2.82 162.5590474 0.056692279 0.6 5.199999809 0.133067151 94.79421005 15.72300017 99.20792011 3.626565493 4 6 5.6 7.8 6.4 15.6 18 4.7 2.018688231 9.5 0.004690208 1 1
0.75 0.5 0.69 0.81 0.63 0.75 5 10.5 2.55017E+11 9069.041757 7.425970496 3.14 157.9448161 4.268585079 1.7 5.199999809 0.138986262 100 10.58680811 99.78332539 3.354026707 4 6 6 7.9 7.1 17.5 17 4.8 1.909757926 9.5 0.000150235 1 1
0.69 0.5 0.69 0.81 0.63 0.75 5 10.5 2.97952E+11 10427.75605 5.293784657 3.11 154.9377943 5.07443252 3.2 5.300000191 0.140462949 100.3691636 11.24594845 100.661092 2.681390308 4 6 6 8 7.5 16.4 5 4.7 1.94 9.5 6.29193E-05 1 1
0.69 0.5 0.69 0.81 0.63 0.75 5 10.5 3.14443E+11 10834.65908 5.473454192 3.04 147.841804 2.829059379 1.7 4.900000095 0.16529799 100.1058325 5.927298365 100.9644134 2.015843113 4 6 6 8 7.5 15.1 6 4.7 1.92 9.5 0.000223747 1 1
0.69 0.5 0.69 0.81 0.63 0.75 5 10.5 3.23343E+11 10973.65594 4.713453716 3.04 142.691994 3.493591567 2.1 4.900000095 0.174524422 100.5891618 3.628205878 100.5497696 1.849146571 4 6 6 8 7.5 7.6 6 4.7 1.89 9.5 0.000545649 1 1
];
fzb=data(:,[1 2 3 7 8 12 15 16 17 21 22 23 27 28 30 31]);%取负指标
zzb=data(:,[4 5 6 9:11 13 14 18:20 24:26 29 32:34]);%取正指标
M=zzb;
x2=fzb;
N = (M - min(M(:)))/(max(M(:))-min(M(:)));%正指标归一化
N2 = ( max(x2(:))-x2)/(max(x2(:))-min(x2(:)));%负指标归一化
x=[N2(:,[1 2 3]),N(:,[1 2 3]),N2(:,[4 5]),N(:,4:6),N2(:,6),N(:,7:8),N2(:,[7 8 9]),N(:,9:11),N2(:,[10 11 12]),N(:,12:14),N2(:,[13 14]),N(:,15),N2(:,[15 16]),N(:,16:18)];
x1=x;
y=[];
[m,n]=size(x1);
for i=1:n
y(:,i)=x1(:,i)/sum([x1(:,i)]) ; % 矩阵标准化
end
for l=1:n
s(1,l)=0;
for j=1:m
if y(j,l)==0;%%%%%%%%“==”表示等于“=”是赋值
p(1,l)=0;
s(1,l)=s(1,l);
else
p(1,l)=y(j,l)*log(y(j,l));
s(1,l)=s(1,l)+p(1,l);
end
end
end
k=(log(m))^(-1);
e=-k*s;
h=ones(1,n)-e;
w=h/sum(h) % 指标权重值
toc
二. 仿真结果
w =
1 至 13 列
0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 -0.0000 0.0001 0.0307 0.0219 0.2730 0.0011 0.0078
14 至 26 列
0.1017 0.0021 0.0007 0.0000 0.0004 0.1246 0.0001 0.0026 0.0000 -0.0000 0.0004 0.0003 0.0025
27 至 34 列
0.0725 0.3573 0.0001 0.0000 -0.0000 0.0000 0.0000 0.0000
时间已过 0.046010 秒。

三. 小结
矩阵熵权法计算的示例,后期可能会用到,这里做个笔记。每天学一个MATLAB小知识,大家一起来学习进步阿!
边栏推荐
- Helix QAC is updated to 2022.1 and will continue to provide high standard compliance coverage
- (原创)自定义Drawable
- (resolved) the following raise notimplementederror occurs when Minet tests
- 正确的理解MySQL的MVCC
- Helix QAC更新至2022.1版本,将持续提供高标准合规覆盖率
- 关联GIS:条条道路通UE5城
- Lvgl usage demo and instructions 2
- Implementation of game hexagon map
- 野風藥業IPO被終止:曾擬募資5.4億 實控人俞蘠曾進行P2P投資
- SIG associé: toutes les routes mènent à ue5
猜你喜欢

Associated GIS: all roads lead to ue5 City

【13. 二进制中1的个数、位运算】

【云原生】2.3 Kubernetes 核心实战(上)

【批处理DOS-CMD命令-汇总和小结】-环境变量、路径变量、搜索文件位置相关指令——set、path、where,cmd命令的路径参数中有空格怎么办

vim 从嫌弃到依赖(20)——global 命令

PayPal账户遭大规模冻结!跨境卖家如何自救?

MySQL索引详解

SIG associé: toutes les routes mènent à ue5

JVM常见的垃圾收集器

After working in a large factory for ten years with an annual salary of 400000 yuan, I was suddenly laid off. If the company wanted to abandon you, it wouldn't leave any kindness
随机推荐
Programming life - what do you think of the 35 year old bottleneck of programmers?
【云原生】2.3 Kubernetes 核心实战(上)
L'enquête en aveugle a montré que les femmes étaient meilleures que les hommes.
直接修改/etc/crontab 文件内容,定时任务不生效
Ue5 magic power - POI solution
[c++ primer notes] Chapter 4 expression
MySQL environment variable configuration tutorial
[batch dos-cmd command - summary and summary] - output / display command - echo
vim 从嫌弃到依赖(19)——替换
oracle怎样将字符串转为多行
【批处理DOS-CMD命令-汇总和小结】-输出/显示命令——echo
Import and export database related tables from the win command line
野風藥業IPO被終止:曾擬募資5.4億 實控人俞蘠曾進行P2P投資
Persistence mechanism of redis
一种太阳能电荷泵供电电路的方案设计
UE5神通--POI解决方案
SQL Sever column name or number of supplied values does not match the table definition
正确的理解MySQL的MVCC
2022.6.26-----leetcode.710
(原创)自定义Drawable