前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

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

qiguaw 2024-10-01 15:10:47 资源文章 20 ℃ 0 评论

灰色关联分析方法是按照因素之间发展趋势的相似或相异程度(灰色关联度),衡量因素间关联程度的一种方法,可以用于定量分析因素的相关程度,也可以作为一种评价方法。之前介绍了基于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:点击关闭,可以回到主界面。

Step9:点击关闭,可以关闭App。


2.App部分程序如下

classdef huiseguanlianApp < matlab.apps.AppBase


    % Properties that correspond to app components
    properties (Access = public)
        AppUIFigure           matlab.ui.Figure
        TabGroup              matlab.ui.container.TabGroup
        MainTab               matlab.ui.container.Tab
        AppPanel              matlab.ui.container.Panel
        Button_3              matlab.ui.control.Button
        Button_2              matlab.ui.control.Button
        Button                matlab.ui.control.Button
        huiseguanlianGUI1Tab  matlab.ui.container.Tab
        AppPanel_2            matlab.ui.container.Panel
        Panel_3               matlab.ui.container.Panel
        Label_2               matlab.ui.control.Label
        Label                 matlab.ui.control.Label
        UITable2              matlab.ui.control.Table
        UITable               matlab.ui.control.Table
        UIAxes                matlab.ui.control.UIAxes
        Panel_2               matlab.ui.container.Panel
        Button_7              matlab.ui.control.Button
        Button_6              matlab.ui.control.Button
        Button_5              matlab.ui.control.Button
        Panel                 matlab.ui.container.Panel
        EditField_2           matlab.ui.control.EditField
        Label_6               matlab.ui.control.Label
        EditField             matlab.ui.control.NumericEditField
        EditFieldLabel        matlab.ui.control.Label
        aEditField            matlab.ui.control.NumericEditField
        aEditFieldLabel       matlab.ui.control.Label
        Button_4              matlab.ui.control.Button
        huiseguanlianGUI2Tab  matlab.ui.container.Tab
        AppPanel_3            matlab.ui.container.Panel
        Panel_6               matlab.ui.container.Panel
        Label_5               matlab.ui.control.Label
        Label_4               matlab.ui.control.Label
        UITable4              matlab.ui.control.Table
        UITable3              matlab.ui.control.Table
        Panel_5               matlab.ui.container.Panel
        Button_11             matlab.ui.control.Button
        Button_10             matlab.ui.control.Button
        Button_9              matlab.ui.control.Button
        Panel_4               matlab.ui.container.Panel
        aEditField_2          matlab.ui.control.NumericEditField
        aEditField_2Label     matlab.ui.control.Label
        Button_8              matlab.ui.control.Button
    end


    % Callbacks that handle component events
    methods (Access = private)


        % Button pushed function: Button_3
        function Button_3Pushed(app, event)
            closereq;
        end


        % Button pushed function: Button
        function ButtonPushed(app, event)
            app.TabGroup.SelectedTab = app.huiseguanlianGUI1Tab;
        end


        % Button pushed function: Button_2
        function Button_2Pushed(app, event)
            app.TabGroup.SelectedTab = app.huiseguanlianGUI2Tab;
        end


        % Button pushed function: Button_7
        function Button_7Pushed(app, event)
            app.TabGroup.SelectedTab = app.MainTab;
        end


        % Button pushed function: Button_11
        function Button_11Pushed(app, event)
            app.TabGroup.SelectedTab = app.MainTab;
        end

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


作 者 | 郭志龙

编 辑 | 郭志龙
校 对 | 郭志龙

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表