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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    0 m, c4 ]3 S) V5 p1 P5 w% C, x
    # _* A5 |& ^3 `* y* Y
    层次分析法(AHP)—matlab实现
    , ]! l! T( h0 q/ E: X

    7 V- c" c( r6 Z5 \0 T    层次分析法是一种主观的决策方法,可以用来确定一些指标权重,辅助决策依据的一种定性分析方法,层次分析法运用前需要构造层次模型:决策层,中间层(指标层),底层(选择层);形成等级层次;然后构造两两对比矩阵,通过9分位数来进行构造;对对比矩阵进行求最大特征值和特征向量,进行一致性检验;最后得到权重向量。具体实现过程如下Matlab程序:" m1 ^, ?( u8 h3 I7 c6 ?9 t3 ^! y4 {
    clc;
    $ o) p! h' p+ \* r' ^  x9 Sclear;
    $ b' h1 O) J. {$ G8 }. A>> A=[1 1 1 4 1 1/2;  Q2 ^4 p3 Y2 c) Q' V$ D! M
    1 1 2 4 1 1/2;" V1 [' B4 _! u- m. N* @( c6 z7 H
    1 1/2 1 5 3 1/2;8 ^0 |) Y6 t3 _* E5 s- t% d
    1/4 1/4 1/5 1 1/3 1/3;& z# j+ d8 g- D8 {+ A: p2 p8 W4 Y
    1 1 1/3 3 1 1/3;" s/ Q! o7 Z) [# W, W; x( Z( }
    2 2 2 3 3 1]) g1 l; Z& r* M9 }
                               & ]* K0 Q; H. U2 u& m- |1 r) F3 K0 C
                                       %因素对比矩阵A,只需要改变矩阵A
    8 F) e( m6 E0 N9 u[m,n]=size(A);                     %获取指标个数
    ! [- _6 g  O! Z" U% v0 uRI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
    , C9 \, ~2 E. ^' yR=rank(A);                         %求判断矩阵的秩
    5 ?& d8 _7 i+ m$ R' E* w[V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    + e0 L9 j& G$ \% g2 y5 y5 etz=max(D);
    & e; z' h  q* PB=max(tz);                         %最大特征值
    3 I1 D' N- Z& B+ P6 n[row, col]=find(D==B);             %最大特征值所在位置
    / T9 R, l. ?* T7 C3 ]- |C=V(:,col);                        %对应特征向量6 ?% O& B- d# _. Z3 V0 S
    CI=(B-n)/(n-1);                    %计算一致性检验指标CI# g" K# V' W5 E  {# E# k
    CR=CI/RI(1,n);   
    & G6 n( o1 o$ O( Yif CR<0.10/ q/ P1 H: P' `7 o7 _9 G
        disp('CI=');disp(CI);
    , A$ U  B4 i, e; s; g7 [    disp('CR=');disp(CR);
    ; C+ ~! j8 M* F! I1 G    disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');
      O( w& Z( U) ?    Q=zeros(n,1);
    ) X, o2 D: Q4 _# I$ K1 A% j1 y! ^- e    for i=1:n/ x+ m* ]# Z9 {  ]2 q
            Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化
    / K- x: J' k) P4 L0 \    end8 U6 V1 P' {4 x
        Q                              %输出权重向量
    , g1 V3 `, j4 U7 [else, L& r" q& u  C2 [' M
        disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');
    % D! u9 c9 a/ mend
    1 f3 _. F( ]1 ?5 u* m+ H) P
  • 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-7-23 15:19 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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