数值分析及其matlab实现_【Matlab】案例讲解层次分析法的Matlab实现

bd0726e864bedc6b2a9b0ad70d66a6a5.png

我写过层次分析法的Matlab实现:

张敬信:【评价算法】层次分析法​zhuanlan.zhihu.com
4c9428d61d8a1faaab38506f799dbf29.png

其中的ahp函数是来自《吴鹏. Matlab高效编程技巧与应用:25个案例分析》,我只是增加或改写了注释说明。但是该函数对大家使用不太友好,非常复杂难用,倒不是函数定义的不好,只是因为它是将整个多层次的层次结构模型,一次代入该函数,一次完成全部的计算,所以就变得很复杂和难用。

这次重写一个简单易用的,一次只解决一个层次结构的层次分析法计算,多个结构多用几次就好了。层次分析法原理见上篇文章,这里不再赘述。

以么焕民老师在智慧树平台的数学建模课程中的,层次分析法案例为基础,来具体阐述。

问题描述:某人要出去旅游,有 3 个备选景点,需要从景色、费用、居住条件、饮食、旅途共5 个因素来考量。

一. 构建层次结构

2ca8ff28331a5092f3390f1a2547e5e0.png

二. 构造成对比较矩阵

5个因素分别记为X1,X2,X3,X4,X5

某人根据自己的考量,给出的成对比较矩阵:

7e1a129354008ddc6d0b3698fc3d4cb3.png

equation?tex=a_%7B21%7D+%3D+2 为例,表示在某人看来费用比景色的相对重要程度是
equation?tex=2 ,即认为费用是景色的
equation?tex=2 倍重要,其它矩阵元素的解释类似。
A = [ 1  1/2 4  3   3;
      2   1  7  5   5;
     1/4 1/7 1 1/2 1/3;
     1/3 1/5 2  1   1;
     1/3 1/5 3  1   1];

三. 计算权向量及一致性检验

么老师是用方根法近似计算的,实际上完全没有必要,直接用eig()函数算精确的就行了。两种方法我都实现一下。

  1. 方根法近似计算

d8ec828407a58266a81d6fa9d931479d.png

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值