找回密码
 注册
关于网站域名变更的通知
查看: 401|回复: 1
打印 上一主题 下一主题

层次分析法(AHP)—matlab实现

[复制链接]
  • TA的每日心情
    开心
    2019-11-20 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-5-7 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x

    0 H; @5 V. ]# I1 K- A/ x# e1 U2 v

    : f4 M: v, }+ ^) L' k层次分析法(AHP)—matlab实现

    8 h0 A& S* P* I1 R! b* m9 |- h) D5 ^" i$ |2 ?
        层次分析法是一种主观的决策方法,可以用来确定一些指标权重,辅助决策依据的一种定性分析方法,层次分析法运用前需要构造层次模型:决策层,中间层(指标层),底层(选择层);形成等级层次;然后构造两两对比矩阵,通过9分位数来进行构造;对对比矩阵进行求最大特征值和特征向量,进行一致性检验;最后得到权重向量。具体实现过程如下Matlab程序:
    2 I2 U4 M' }1 O6 L9 z- m4 j% sclc;
    7 o4 o6 M6 B+ i$ ^clear;
    $ Y6 x+ |# j4 Z& v, u: x>> A=[1 1 1 4 1 1/2;4 y/ ?1 }- U8 J0 x" R
    1 1 2 4 1 1/2;
    : J2 m5 T: L) s( F1 1/2 1 5 3 1/2;
    9 }  p$ p& v# C, ^; S5 |9 |1/4 1/4 1/5 1 1/3 1/3;
    , J4 i# j' S9 K1 1 1/3 3 1 1/3;8 G# ]" ~+ d1 w, {" t3 R( j, w% \
    2 2 2 3 3 1]
    2 o/ G$ q# I, q* w6 V                           6 H+ N3 u# d) U/ c) j! P
                                       %因素对比矩阵A,只需要改变矩阵A  S# \% c+ f6 R  _" R! S8 [6 ?8 u3 M
    [m,n]=size(A);                     %获取指标个数) i; g5 ]# i7 I! }( J, X! ]. }( w; n
    RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
    5 ~4 B0 b0 B* B: S: s% O( QR=rank(A);                         %求判断矩阵的秩
    7 i' f/ b; I/ X5 U: h0 {[V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;/ L4 M8 U8 Q9 J$ A4 I
    tz=max(D);- C) |1 C4 l& \1 n$ j! F* ^6 g
    B=max(tz);                         %最大特征值5 p4 F$ x/ G/ d- V) a9 d" @
    [row, col]=find(D==B);             %最大特征值所在位置
    ! I4 {8 l1 Y2 IC=V(:,col);                        %对应特征向量4 _2 P' T; m3 A
    CI=(B-n)/(n-1);                    %计算一致性检验指标CI
    - D) H" v  [# [: q3 o; E5 vCR=CI/RI(1,n);   
    # i% c. t4 N" S7 _if CR<0.10
    & G3 H! {+ q' e" Q    disp('CI=');disp(CI);' i  L& W; _! I; j; _2 P
        disp('CR=');disp(CR);
    - z7 j/ ?- r5 i    disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');
    3 S. l, Q2 h' ^( i; v    Q=zeros(n,1);3 w+ P+ u* f" H- P( j! N+ p
        for i=1:n
    % Y# H- S& O/ O1 D        Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化3 ]$ U9 O# v8 T; H/ @  I% G
        end1 O- u# O+ }9 R% g  O
        Q                              %输出权重向量" @( l& P' R9 d, Z9 c
    else
    * v8 D4 N& ~* d0 l- O# Z3 m$ j  d    disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');) X' P7 s$ m3 w2 T* C/ ~: L
    end9 L  R+ P0 c1 }5 U! X
  • TA的每日心情
    开心
    2019-11-29 15:38
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    2#
    发表于 2020-5-7 15:21 | 只看该作者
    层次分析法(AHP)很多地方都能用到。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 07:17 , Processed in 0.140625 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表