当前位置:   article > 正文

熵权法用matlab怎么,熵权法求权重原理详细步骤附matlab代码

matlap熵值法代码

clc;clear;

% 实现用熵值法求各指标(列)的权重及各数据行的得分

% x为原始数据矩阵, 一行代表一个样本, 每列对应一个指标

% s返回各行得分, w返回各列权重

load('data_water_quality.mat')%载入数据

x=X; %X为工作表中的样本数据

%% 数据的正向化处理

[n,m]=size(x); % X中有n个样本, m个指标

disp(['共有' num2str(n) '个评价对象, ' num2str(m) '个评价指标'])

Judge = input(['这' num2str(m) '个指标是否需要经过正向化处理,需要请输入1 ,不需要输入0: ']);

if Judge == 1

Position = input('请输入需要正向化处理的指标所在的列,例如第2、3、6三列需要处理,那么你需要输入[2,3,6]: '); %[2,3,4]

disp('请输入需要处理的这些列的指标类型(1:极小型, 2:中间型, 3:区间型) ')

Type = input('例如:第2列是极小型,第3列是区间型,第6列是中间型,就输入[1,3,2]: '); %[2,1,3]

% 注意,Position和Type是两个同维度的行向量

for i = 1 : size(Position,2) %这里需要对这些列分别处理,因此我们需要知道一共要处理的次数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/70067
推荐阅读
相关标签
  

闽ICP备14008679号