网站首页 > 技术文章 正文
熵权法是通过寻找数据本身的规律来赋权重的一种方法。之前介绍了基于MATLAB的guide制作的熵权法计算的GUI界面,但是随着MATLAB版本的更新,之后的版本不再支持guide制作的GUI界面,因此我基于MATLAB App Designer将熵权法计算求权重修改成App,这样可以兼容2016之后的版本,也不受最新版本的限制。
基于MATLAB的熵权法求权重App如下:
点击导入数据按键——点击开始计算——出现结果显示加载的数据表、每个指标对应的权重和每个个体的得分表——同时生成对应的数据结果exce文件:得分表.xlsx和指标权重.xlsx。需要基于MATLAB的熵权法求权重App完整程序,可以进行打赏后截图(30元及以上),点击微信公众号云龙派里的“联系掌门”进行联系,或者在公众号云龙派内回复截图,几小时内会回复。App编程不易,还请见谅!
1.基于MATLAB的熵权法求权重App举例
下面是购买轿车的一个决策矩阵,给出了四个方案供我们进行选择,每个方案中均有相同的六个属性(假设均为越大越优型指标),我们需要利用熵值法求出各属性的权重,以及每个方案的综合分数。
油耗 | 功率 | 费用 | 安全性 | 维护性 | 操作性 | |
本田 | 5 | 1.4 | 6 | 3 | 5 | 7 |
奥迪 | 9 | 2 | 30 | 7 | 5 | 9 |
桑塔纳 | 8 | 1.8 | 11 | 5 | 7 | 5 |
别克 | 12 | 2.5 | 18 | 7 | 5 | 5 |
Step1:点击shangquanfaApp.mlappinstall文件,在MATLAB中双击安装APP,点击安装到我的APP。
Step2:在APP 菜单栏中找到我的app中的shangquanfaApp,双击运行出App主界面。
Step3:点击加载数据,选择数据excel文件,并点击确定。
Step4:点击开始计算。
2.App主要程序如下
classdef shangquanfaapp < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
Panel matlab.ui.container.Panel
Panel_2 matlab.ui.container.Panel
Button matlab.ui.control.Button
Panel_3 matlab.ui.container.Panel
Button_2 matlab.ui.control.Button
Button_3 matlab.ui.control.Button
Button_4 matlab.ui.control.Button
Panel_4 matlab.ui.container.Panel
UITable matlab.ui.control.Table
Label matlab.ui.control.Label
UITable_2 matlab.ui.control.Table
Label_2 matlab.ui.control.Label
UITable_3 matlab.ui.control.Table
Label_3 matlab.ui.control.Label
end
% Callbacks that handle component events
methods (Access = private)
% Button pushed function: Button_4
function Button_4Pushed(app, event)
closereq;
end
% Button pushed function: Button_3
function Button_3Pushed(app, event)
app.UITable.Data = [];
app.UITable_2.Data = [];
app.UITable_3.Data = [];
end
% Button pushed function: Button
function ButtonPushed(app, event)
global data
[filename,pathname,filterindex]=uigetfile({'*.xlsx';'*.xls';'*.txt';'*.*'},'打开数据');
if ~filename
return;
end
str1=[pathname,filename];
if (filename==0 & pathname==0)
msgbox('您没有选择文件,请重新选择!','打开文件出错','error');
else
data=xlsread (strcat([pathname filename])); %strcat是组成路径的,记不得是不是这么写了。
msgbox('打开及读取数据完毕!','确认','warn');
end
end
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
猜你喜欢
- 2024-11-07 论文写作思路:关于公司财务风险预警研究
- 2024-11-07 配电网自愈控制领域,设备故障概率和电网运行风险的差异控制方法
- 2024-11-07 面板模型进行熵值法分析 面板数据中三种模型如何选择
- 2024-11-07 基于熵权法对TOPSIS模型的修正 熵权法和topsis结合
- 2024-11-07 电网技术领域,电力专变客户电价响应度确定方法及终端设备
- 2024-11-07 数学建模——抢险救援问题 数学建模消防员救火
- 2024-11-07 31个省份共同富裕指数原始数据 计算结果(2005-2022
- 2024-11-07 安玲学记(191)——精读期刊论文基于BWM和信息熵的混合权重模型
- 2024-11-07 基于MATLAB的熵权法求权重App#MATLAB
- 2024-11-07 权重计算相关方法总结 权重算法是什么意思
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)