数学建模·层次分析法

层次分析法 LAF

  • 定义

在这里插入图片描述

  • 具体用途

    • 评价体系的优劣影响,计算评价指标的权重
  • 主要步骤

    • 关键在于一致性检验和求权值 请添加图片描述

权重的计算

  • 注意权重之和为1,需要归一化
  • 算数平均法 请添加图片描述

  • 特征值法

请添加图片描述

矩阵的一致性检验

  • 为什么要检验?:简单来说就是比例不匹配,存在矛盾事实
    -例如桂林:北戴河!=桂林:苏杭 * 苏杭:北戴河
    在这里插入图片描述
  • 定义如下:总结而言就是aij*ajk=aik
    请添加图片描述

矩阵的一致性检验

  • 判断矩阵的一致性检验:

    请添加图片描述
  • 判断矩阵一致性的代码

%% 获取判断矩阵
disp("请输入判断矩阵")
A=input('A=');%这里还有参数
[n,n]=size(A);
%% 1.算术平均法求权重
sum_ColA=sum(A);
sum_A=repmat(sum_ColA,n,1);%A一定是方阵
Weight_A=A./sum_A;

disp("算数平均法所求权重为");
w1=sum(Weight_A,2)./n;
disp(w1);
%% 2.特征值法求权重
[X,D]=eig(A);
max_eig=max(max(D));%max函数也是默认先列后行求最大值
[r,c]=find(D==max_eig,1);%找到值等于max_eig的前n个元素

disp("所求特征值为:");
disp(max_eig);

w2=X(:,c)./sum(X(:,c));
disp("特征值所求权重为");
disp(w2);
%% 3.平均权重
disp("平均权重为");
w3=(w1+w2)/2;
disp(w3);
%% 计算一致性指标CI=lambda-n/n-1和一致性比例CR
CI=(max_eig-n)/(n-1);

RI=[0,0,0.52,0.89,1.12,1.26,1.36,1.41,1.46,1.49];%1~10的RI

CR=CI/RI(n);

disp("一致性指标CI为");disp(CI);
disp("一致性指标RI为");disp(RI(n));
disp("一致性指标CR为");disp(CR);

if CR<0.10
    disp("CR<0.10,这个判断矩阵一致性可以接受")
else 
    disp("CR>=0.10,这个矩阵一致性不可以接受")
end %if和end搭配
%% 层次总排序
%代码部分放在excel表格中
  • 总层序一致性检验:往往通过excel表格实现

    在这里插入图片描述

相关推荐

  1. 数学--灰色关联分析

    2024-07-10 21:26:05       4 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 21:26:05       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 21:26:05       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 21:26:05       4 阅读
  4. Python语言-面向对象

    2024-07-10 21:26:05       7 阅读

热门阅读

  1. 贪吃蛇代码python实现

    2024-07-10 21:26:05       12 阅读
  2. iOS开发语言基础与Xcode工具初探

    2024-07-10 21:26:05       11 阅读
  3. 【面试题】Reactor模型

    2024-07-10 21:26:05       9 阅读
  4. nvm安装node一直没有npm

    2024-07-10 21:26:05       11 阅读
  5. 深入理解model.eval()与torch.no_grad()

    2024-07-10 21:26:05       9 阅读
  6. gusture

    2024-07-10 21:26:05       8 阅读
  7. python的抽象基类

    2024-07-10 21:26:05       10 阅读
  8. 软设之桥接模式

    2024-07-10 21:26:05       12 阅读