% % V       原始评价指标矩
% % v_ij 第i个地区第j个指标的初始值
% % r_ij 第i个地区第j个指标的标准化值
% % R 标准化后的评价矩阵
% % m 统计地区总个数
% % n 已给指标个数
% % Y^+ 正理想解
% % Y^- 负理想解
% % D_j^+ 第i个指标与y_i^+的距离
% % D_j^- 第i个指标与y_i^-的距离
% % H_i 信息熵
% % f_ij 指标的特征比重
% % w_i 权值表
% % Y 加权规范化评价矩阵
% % T_j 第j项经济指标接近最优值的程度 %% 第一步:把数据复制到工作区,并将这个矩阵命名为X
clear;clc
load jingjizhibiao.mat; [n,m] = size(V);
disp(['共有' num2str(n) '个地区, ' num2str(m) '个经济指标']) ;
R = V./ repmat(sum(V.*V) .^ 0.5, n, );
disp('R的值为 R = ')
R %% 第二步:熵权法赋权
%%计算第j个指标下,第i个样本占该指标的比重p(i,j)
for i=:n
for j=:m
p(i,j)=R(i,j)/sum(R(:,j));
end
end
%%计算第j个指标的熵值e(j)
k=/log(n);
for j=:m
e(j)=-k*sum(p(:,j).*log(p(:,j)));
end
H=ones(,m)-e; %计算信息熵冗余度
w=H./sum(H); %求权值w
disp('最后的权重为 ; w =')
w
Y=V.* repmat(w,n,);%%每个元数据乘以对应指标的熵权值, disp('加入熵权的矩阵 Y = ');
disp(Y); clear i j;%%释放无关变量
% % Z = B ./ repmat(sum(B.*B) .^ 0.5, n, );
% % disp('标准化矩阵 Z = ')
% % disp(Z) %% 第三步 计算与最大值的距离和最小值的距离,并算出得分,(topsis分析) Dist_max = sum([(Y - repmat(max(Y),n,)) .^ ],) .^ 0.5; % D+ 与最大值的距离向量
Dist_min = sum([(Y - repmat(min(Y),n,)) .^ ],) .^ 0.5; % D- 与最小值的距离向量
disp('D + 为')
Dist_max disp('D - 为')
Dist_min T = Dist_min ./ (Dist_max+Dist_min); % 未归一化的得分
disp('最后的得分为:')
stand_S = T / sum(T)
[sorted_S,index] = sort(stand_S ,'descend')


MATLAB2/02019.12.1   19.26

MATLAB代码v2.0的更多相关文章

  1. jquery实现可展开收缩的首页大图广告展示方式 泰山压顶代码 V2.0

    把代码做成js网站进行统一调用 if (typeof jQuery == 'undefined') { document.writeln('<script type="text/jav ...

  2. Win7旗舰版中的IIS配置asp.net 完美通过版,附代码 以及出现的 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d

    先解决问题:“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\8d57d 图: 其他的解决方案 ...

  3. 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)

    前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...

  4. 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

     因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1.    前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...

  5. 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github

    4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...

  6. [python]爬代理ip v2.0(未完待续)

    爬代理ip 所有的代码都放到了我的github上面, HTTP代理常识 HTTP代理按匿名度可分为透明代理.匿名代理和高度匿名代理. 特别感谢:勤奋的小孩 在评论中指出我文章中的错误. REMOTE_ ...

  7. 如何加速MATLAB代码运行

    学习笔记 V1.0 2015/4/17 如何加速MATLAB代码运行 概述 本文源于LDPCC的MATLAB代码,即<CCSDS标准的LDPC编译码仿真>.由于代码的问题,在信息位长度很长 ...

  8. 多分类问题中,实现不同分类区域颜色填充的MATLAB代码(demo:Random Forest)

    之前建立了一个SVM-based Ordinal regression模型,一种特殊的多分类模型,就想通过可视化的方式展示模型分类的效果,对各个分类区域用不同颜色表示.可是,也看了很多代码,但基本都是 ...

  9. 迅影QQ视频查看v2.0 源码

    骗了1200多位朋友,实在惭愧,现在公开我自己的源码实现.本人新人,代码很烂,请凑合看吧O(∩_∩)O~ Form1.cs using System; using System.Text.Regula ...

随机推荐

  1. IntelliJ IDEA 2019.3 安装+永久破解[Windows]

    IntelliJ IDEA 2019的最后一个版本发布了,听说大幅优化了运行速度,本人实测启动速度确实比以前快不少,所以赶紧安排上新版本IDEA的破解教程 系统环境:Win10 LTSC(1809) ...

  2. python day01练习和作业

    习题:1.简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型编译型语言:优点:执行速度快 缺点:维护成本高,跨平台性差解释型语言:优点:维护成本低,跨平台性好 缺点:执 ...

  3. mysql常用语句及实题训练

    基本语句操作 创建数据库: create database database-name 1 删除数据库: drop database database-name 1 修改数据名: RENAME DAT ...

  4. 严重 [RMI TCP Connection(3)-127.0.0.1]

    学习Servlet时碰到的一个bug. Connected to server [2017-01-08 04:40:33,100] Artifact jspRun:war exploded: Arti ...

  5. HDU_5456_数位dp

    http://acm.hdu.edu.cn/showproblem.php?pid=5456 转化成a=b+c,dp[i][a][b][c]表示剩余i木棒,a是否有进位,b是否首尾,c是否首位,注意每 ...

  6. Java集合中removeIf的使用

    在JDK1.8中,Collection以及其子类新加入了removeIf方法,作用是按照一定规则过滤集合中的元素.这里给读者展示removeIf的用法.首先设想一个场景,你是公司某个岗位的HR,收到了 ...

  7. JFrame的getContentPane

    我们可以在 JFrame 对象中添加 AWT 或者 Swing 组件.但是,虽然它有 add 方法,却不能直接用于添加组件,否则会抛出异常.造成这个现象的原因只有一个解释:JFrame 不是一个容器, ...

  8. 前端jQuery日历控件报错 $("#datepicker").datepicker is not a function

    使用日历控件时,前端产生错误: $("#datepicker").datepicker is not a function 问题原因 前端在同一个页面,jQuery引入了两次. 解 ...

  9. Method Resolve Order (MRO) - 类对象属性的解析顺序

    Method Resolve Order (MRO) - 类对象属性的解析顺序 Python 支持多重继承, 此时就需要解决按照何种顺序来解析属性的问题.类的继承关系在一个特殊的类属性中指定(__mr ...

  10. golang的timer一些坑

    本文代码部分基于dive-to-gosync-workshop的代码 Golang 的NewTimer方法调用后,生成的timer会放入最小堆,一个后台goroutine会扫描这个堆,将到时的time ...