TOPSIS的MATLAB实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Topsis法(Techniquefororderpreferencebysimilaritytoidealsolution)是有限方案多目标决策分析的一种常用方法,可用于效益评价、卫生决策和卫生事业管理等多个领域。本法对资料无特殊要求,使用灵活简便,应用广泛。本法的基本思想是:基于归一化后的原始数据矩阵,采用余弦法找出有限方案中的最优方案和最劣方案(分别用最优向量和最劣向量表示),然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。步骤1.设有n个评价对象,m个评价指标2.指标属性趋同化处理3.趋同化数据的归一化4.确定最优方案和最劣方案5.计算每一个评价对象与最右方案和最劣方案的距离6.计算各评价对象与最优方案的接近程度。中性指标低优指标高优指标MxMMxxxijijijij1')原低优指标或中性指标原高优指标)()(()(12''12niijijniijijijxxxxZ表明评价对象越优。,1,10iiiiiiCCDDDC7.按Ci大小排序,给出评价结果。Matlab程序如下:x=[2158476.77.31.0178.397.52.02437286.37.40.8091.198.02.02204181.87.30.6291.197.33.22111584.56.90.6090.297.72.92463390.36.90.2595.597.93.6];%矩阵[n,m]=size(x);%将3,4,7的低优指标去倒数转化为高优指标并且把所有指标换成接近的大小¡x(:,1)=x(:,1)/100;x(:,3)=(1./x(:,3))*100;x(:,4)=(1./x(:,4))*100;x(:,7)=(1./x(:,7))*100;zh=zeros(1,m);d1=zeros(1,n);%最小值矩阵d2=zeros(1,n);%最大值矩阵c=zeros(1,n);%接近程度%归一化fori=1:mforj=1:nzh(i)=zh(i)+x(j,i)^2;endendfori=1:mforj=1:nx(j,i)=x(j,i)/sqrt(zh(i));endend%计算距离xx=min(x);dd=max(x);fori=1:nforj=1:md1(i)=d1(i)+(x(i,j)-xx(j))^2;endd1(i)=sqrt(d1(i));endfori=1:nforj=1:md2(i)=d2(i)+(x(i,j)-dd(j))^2;endd2(i)=sqrt(d2(i));end%计算接近程度fori=1:nc(i)=d1(i)/(d2(i)+d1(i));endc

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功