当前位置: 华文世界 > 科技

基于MATLAB的灰色关联分析法计算App

2024-03-26科技

灰色关联分析方法是按照因素之间发展趋势的相似或相异程度(灰色关联度),衡量因素间关联程度的一种方法,可以用于定量分析因素的相关程度,也可以作为一种评价方法。之前介绍了基于MATLAB的guide制作的灰色关联分析法GUI计算界面,但是随着MATLAB版本的更新,之后的版本不再支持guide制作的GUI界面,因此我基于MATLAB App Designer将灰色关联分析法修改成App,这样可以兼容2016之后的版本,也不受最新版本的限制。

基于MATLAB的guide将灰色关联分析法制作成App。

App界面如下:

点击选择灰色关联度分析因素相关程序——点击导入数据——输入分辨率、以及相应的比较因素指标的下标——点击开始计算——即可获得比较指标和参考指标之间的灰色关联度,并生成对不同对象的比较指标的灰色关联度计算结果图。

点击选择灰色关联度发综合评价——点击导入数据——输入分辨率、——点击开始计算——即对评价对象的评分。需要完整App安装包的,可以进行打赏后截图(60元及以上),点击微信公众号云龙派的「联系掌门」按键进行联系,或者在公众号内回复截图,几小时内会回复。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: 点击HuisheguanlianApp.mlappinstall文件,在MATLAB中双击安装APP,点击安装到我的APP。

Step2: 在APP 菜单栏中找到我的app中的HuisheguanlianApp,双击运行出App主界面。

Step3: 运行主程序,点击灰色关联分析因素相关程度,进入灰色关联分析因素相关程度计算App。

Step4: 点击导入数据,确定加载数据完成,并输入分辨系数a和参考指标下标、其他指标下标向量。

Step5: 点击开始计算,计算出其他指标和参考指标之间的灰色关联度,以及对评价对象的指标关联度结果图。

Step6: 点击开始关闭,回到主界面,点击灰色关联法综合评价。

Step7: 同样的方式加载数据,并输入分辨系数a,点击开始计算,即可获得对评价对象的评分。

Step8: 点击关闭,可以回到主界面。

2.App部分程序如下

classdef huiseguanlianApp < matlab.apps.AppBase% Properties that correspond to app componentsproperties (Access = public)AppUIFigure matlab.ui.FigureTabGroup matlab.ui.container.TabGroupMainTab matlab.ui.container.TabAppPanel matlab.ui.container.PanelButton_3 matlab.ui.control.ButtonButton_2 matlab.ui.control.ButtonButton matlab.ui.control.ButtonhuiseguanlianGUI1Tab matlab.ui.container.TabAppPanel_2 matlab.ui.container.PanelPanel_3 matlab.ui.container.PanelLabel_2 matlab.ui.control.LabelLabel matlab.ui.control.LabelUITable2 matlab.ui.control.TableUITable matlab.ui.control.TableUIAxes matlab.ui.control.UIAxesPanel_2 matlab.ui.container.PanelButton_7 matlab.ui.control.ButtonButton_6 matlab.ui.control.ButtonButton_5 matlab.ui.control.ButtonPanel matlab.ui.container.PanelEditField_2 matlab.ui.control.EditFieldLabel_6 matlab.ui.control.LabelEditField matlab.ui.control.NumericEditFieldEditFieldLabel matlab.ui.control.LabelaEditField matlab.ui.control.NumericEditFieldaEditFieldLabel matlab.ui.control.LabelButton_4 matlab.ui.control.ButtonhuiseguanlianGUI2Tab matlab.ui.container.TabAppPanel_3 matlab.ui.container.PanelPanel_6 matlab.ui.container.PanelLabel_5 matlab.ui.control.LabelLabel_4 matlab.ui.control.LabelUITable4 matlab.ui.control.TableUITable3 matlab.ui.control.TablePanel_5 matlab.ui.container.PanelButton_11 matlab.ui.control.ButtonButton_10 matlab.ui.control.ButtonButton_9 matlab.ui.control.ButtonPanel_4 matlab.ui.container.PanelaEditField_2 matlab.ui.control.NumericEditFieldaEditField_2Label matlab.ui.control.LabelButton_8 matlab.ui.control.Buttonend% Callbacks that handle component eventsmethods (Access = private)% Button pushed function: Button_3function Button_3Pushed(app, event)closereq;end% Button pushed function: Buttonfunction ButtonPushed(app, event)app.TabGroup.SelectedTab = app.huiseguanlianGUI1Tab;end% Button pushed function: Button_2function Button_2Pushed(app, event)app.TabGroup.SelectedTab = app.huiseguanlianGUI2Tab;end% Button pushed function: Button_7function Button_7Pushed(app, event)app.TabGroup.SelectedTab = app.MainTab;end% Button pushed function: Button_11function Button_11Pushed(app, event)app.TabGroup.SelectedTab = app.MainTab;end

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙