Topsis算法核心思想是逼近理想解的排序方法。正理想解,各指标都达到各候选方案的最好值,负理想解,各指标都达到各候选方案的最差值。基于有限个评价对象与理想化目标的接近程度进行排序,在现有的对象中进行相对优劣的评价。

 

算法步骤:

1.构造决策矩阵vij,i为各方案,j为各指标

2.对决策矩阵进行规范化处理

3.构建权重wj,可通过熵权法、FAHP、相关性等方法确定权重

4.计算加权决策矩阵

5.计算正负理想解

6.计算各方案与正负理想解间的距离

7.计算各方案与正理想解的相对贴近度

(*算法步骤参考了NHASMJ公众号*)

Topsis算法基本思想:基于归一化后的原始数据矩阵,找出有限方案中的最优方案和最劣方案(分别用最优向量和最劣向量表示),然后分别计算各评价对象与最优方案和最劣方案间的距离,获得各评价对象与最优方案的相对接近程度,以此作为评价优劣的依据。

 代码实现:

x=[
21584   76.7    7.3  1.01    78.3    97.5
24372   86.3    7.4  0.80    91.1    98.0
22041   81.8    7.3  0.62    91.1    97.3
21115   84.5    6.9  0.60    90.2    97.7
24633   90.3    6.9  0.25    95.5    97.9];
%矩阵
[n,m]=size(x);
%将3,4的低优指标去倒数转化为高优指标并且把所有指标换成接近的大小
x(:,1)=x(:,1)/100;
x(:,3)=(1./x(:,3))*100;
x(:,4)=(1./x(:,4))*100;
zh=zeros(1,m);
d1=zeros(1,n); %最小值矩阵
d2=zeros(1,n); %最大值矩阵
c=zeros(1,n);  %接近程度
%归一化
for i=1:mfor j=1:nzh(i)=zh(i)+x(j,i)^2;end
end
for i=1:mfor j=1:nx(j,i)=x(j,i)/sqrt( zh(i));end
end
%计算距离
xx=min(x);
dd=max(x);
for i=1:nfor j=1:md1(i)=d1(i)+(x(i,j)-xx(j))^2;endd1(i)=sqrt(d1(i));
end
for i=1:nfor j=1:md2(i)=d2(i)+(x(i,j)-dd(j))^2;endd2(i)=sqrt(d2(i));
end
%计算接近程度
for i=1:nc(i)=d1(i)/(d2(i)+d1(i));
end

数学建模-Topsis综合评价(评价模型)相关推荐

  1. 数学建模——TOPSIS综合评价模型Python代码

    数学建模--TOPSIS综合评价模型Python代码 正常代码 import numpy as np # 导入numpy包并将其命名为np ##定义正向化的函数 def positivization( ...

  2. dna序列分类数学建模matlab,数学建模DNA序列分类模型(终稿).doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp高等教育&nbsp>&nbsp生物学 数学建模DNA序列分类模型(终稿).doc32页 本文 ...

  3. 【Python数学建模】SEIR传染病模型模型延伸-SEIDR模型(一),加入疫苗接种、政府管控、病毒变异等因素的影响

    目录 一. SEIR传染病模型 二. SEIR模型的延伸--SEIDR模型 三. 模型延伸--影响因素1:疫苗接种 四. 模型延伸--影响因素2:政府管控 五. 模型延伸--影响因素3:病毒变异 写在 ...

  4. 数学建模学习记录——数学规划模型

    数学建模学习记录--数学规划模型 一.线性规划问题 MatLab中线性规划的标准型 MatLab中求解线性规划的命令 二.整数线性规划问题 三.非线性规划问题 MatLab中非线性规划的标准型 Mat ...

  5. Python小白的数学建模课-09.微分方程模型

    小白往往听到微分方程就觉得害怕,其实数学建模中的微分方程模型不仅没那么复杂,而且很容易写出高水平的数模论文. 本文介绍微分方程模型的建模与求解,通过常微分方程.常微分方程组.高阶常微分方程 3个案例手 ...

  6. 数学建模-Topsis模型(Matlab)

    注意:代码文件仅供参考,一定不要直接用于自己的数模论文中 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭 如何修改代码避免查重的方法:https://www.bilibili.com/video/ ...

  7. 2023美赛数学建模ABCDEF题思路模型代码

    占个位置吧,开始在本帖实时更新赛题思路代码,文章末尾获取! 下面一些题目是简单分析 A题:受干旱破坏的植物群落 A题是一个植物群落的环境问题,涉及到预测.评估分析,该题难度较大,我们可以考虑通过微分方 ...

  8. 数学建模美赛常见模型

    数学模型的分类按数学方法分类: 几何模型.图论模型.微分方程模型.概率模型.最优控制模型.规划论模型.马氏链模型等. 按特征分类: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性 ...

  9. 2023电工杯数学建模B题思路模型

    文章目录 0 赛题思路 1 竞赛信息 2 竞赛时间 3 组织机构 4 建模常见问题类型 4.1 分类问题 4.2 优化问题 4.3 预测问题 4.4 评价问题 0 赛题思路 (赛题出来以后第一时间在C ...

最新文章

  1. 所引用的程序集没有强命名解决方法
  2. spring四种依赖注入方式
  3. 知乎500w关注:转行数据分析的真实案例!
  4. 如何使用敏捷开发来赢得太阳能竞速赛
  5. 为什么负数的补码是取反加一
  6. 李彦宏开年内部信:2018营收破千亿,做出好产品的百度已归来
  7. 在Linux下安装和使用MySQL
  8. 关于 java jdk 环境变量的配置
  9. 浅谈网络游戏的设计——服务器端编程 (2)
  10. 分享常见的视频加密算法原理及其优缺点
  11. 留学Essay挂科后如何进行补救?
  12. 彻底理解vue的钩子函数,vue的生命周期理解,什么是vue的生命周期,钩子函数
  13. 情人节情侣表空间白网页源码 html 简单易改 祝福你们幸福安康、地久天长!
  14. YOLO train.txt创建
  15. Android R上展讯平台CameraAPP的Settings设置项管理
  16. 画漫画软件有哪些?这几款绘画软件必不可少!
  17. python系列3(list tupe dict )
  18. MAC下oracle默认超级管理员账户密码docker作为容器权限不足问题
  19. 天津理工大学 信息论与编码实验4 离散信道编码-线性分组码
  20. 前端通用下载文件方法(兼容IE10及以上)

热门文章

  1. 计算机大一(上)期末总结
  2. 【机器学习小常识】“parameters(参数)” 与 “hyperparameters(超参数)”的概念及区别详解
  3. C++ 读取图片 EXIF 信息
  4. 15套高级程序设计----程序设计题(含12年--17年期末题)
  5. 国企,私企与外企利弊通观--关键时刻给应届毕业生及时点拨(一)
  6. 数字签名算法类别及用途
  7. 智慧充电桩系统由什么组成?
  8. 8、16、32位单片机概念与寻址空间
  9. 线性代数学习笔记6-3:行列式的计算、代数余子式
  10. C# WebForm 屏蔽输入框的验证