码迷,mamicode.com
首页 > 其他好文 > 详细

Topsis优劣解距离法 mlx代码

时间:2020-07-04 22:34:34      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:tla   load   技术   sdn   距离   lang   分数   article   https   

请参考https://blog.csdn.net/qq_36384657/article/details/98188769

技术图片

mlx代码

topsis 优劣解距离法
参数说明:
分数、获奖次数、价值等 属于极大型指标(效益型)
不及格次数、被批评次数、成本等 属于极小型指标(成本型)
clc;clear;
judge1 = [89 60 74 99]‘; % 分数
judge2 = [89 60 74 99; 2 0 1 3]‘; % 分数 和 被批评次数
算法核心:
一个指标的情况:
(排序不就行了???)
多个指标的情况:
https://blog.csdn.net/qq_36384657/article/details/98188769
% 1.将指标【转化为极大型】 x = max - x;
judge2(:,2) = max(judge2(:,2)) - judge2(:,2);

% 2.【标准化】处理 [每个元素除以其所在列各元素平方和的开方]
judge2 = judge2 ./ sqrt( sum(judge2 .^ 2)  );

% 3.【找出距离】 找出与最大最小值的距离
% 这里的最大(小)值 (max1,max2,max3,...)为各列的最大(小)值
nmax = max(judge2);
nmin = min(judge2);

distanceMax =  sqrt(sum((judge2 - nmax) .^ 2 ,2)); % 减去最大值,平方,按照行求和,开根号
distanceMin =  sqrt(sum((judge2 - nmin) .^ 2 ,2)); % 减去最小值,平方,按照行求和,开根号

% 4.【计算分值】 (x - min) / (max - min)
score = distanceMin ./ (distanceMax + distanceMin);

% 5.【归一化】
score = score ./ sum(score);
end
% 显示名次
[~,I] = sort(score);
disp(‘最终排名:‘);
disp([score I])

Topsis优劣解距离法 mlx代码

标签:tla   load   技术   sdn   距离   lang   分数   article   https   

原文地址:https://www.cnblogs.com/aminor/p/13236765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!