TOPSIS(Technique for Order Preference by Similarity to an Ideal Solution,逼近理想解排序法/优劣解距离法),是一种综合评价的方法,能充分利用原始数据的信息,其结果能精确地反映各评价方案之间的差距。
1、现将原始数据矩阵统一指标类型(一般正向化处理),得到正向化矩阵:
(max为所有已知数据中的最大值,min为所有已知数据中的最小值,x为某一个数据的值)
成绩是越高越好,这样的指标被称为极大型指标(效益型指标)
与他人争吵的次数越小越好,这样的指标被称为极小型指标(成本型指标)
区间型指标->极大型指标
2、在对正向化的矩阵的矩阵进行标准化处理以消除各指标量纲的影响:
3、分别计算各评价对象与最优方案(最大值)和最劣方案(最小值)间的距离,获得各评价对象与最优方案的相对接近程度:
(wj为每个指标的权重,可以用层次分析法确定权重)
代码新点提示:
1、如何将excel的数据用matlab代码导入:(1)在工作区右键,点击新建(Ctrl+N),输入变量名称为X;
(2)在Excel中复制数据,再回到matlab中以EXCEL形式打开变量,右键点击粘贴excel数据;
(3)关掉这个窗口,点击X变量,右键另存为,保存为mat文件(下次就不用复制粘贴了,只需要使用load命令即可加载数据)
(4)注意,保存路径要和代码在同一个目录下,且matlab的工作文件夹也要在这个目录下;
完成上述四步即可用load data_water_quality.mat导入变量数据矩阵
2、sort函数:sort(A,1)默认对各列升序排序,sort(A,2)默认对各行升序排序,sort(A,‘descend’)默认对各列降序排序,【sA,index】=sort(A,'descend')中sA是排序好的向量,index是向量sA中对A的索引。
3、for i=1:size(Position,2)
.......
end
4、自己定义函数Positivization:
(1)单独放在一个.m文件里,
(2)function [输出变量]=函数名称(输入变量)
(3)函数最后要用end结尾