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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    ( _) c0 {# ^& n9 U; @

    3 _: j; E( _& ~5 r层次分析法(AHP)—matlab实现

    . R% z1 ~2 |1 S# r: `- w
    2 w; A0 f* V" i% c. L8 M+ N; P1 @    层次分析法是一种主观的决策方法,可以用来确定一些指标权重,辅助决策依据的一种定性分析方法,层次分析法运用前需要构造层次模型:决策层,中间层(指标层),底层(选择层);形成等级层次;然后构造两两对比矩阵,通过9分位数来进行构造;对对比矩阵进行求最大特征值和特征向量,进行一致性检验;最后得到权重向量。具体实现过程如下Matlab程序:0 }- h8 u- W2 {6 `6 y( |. G4 S
    clc;
    * D. X' h# r: N: P4 e. c  Hclear;! g/ s+ I$ ?6 }; o7 \
    >> A=[1 1 1 4 1 1/2;
    # m2 O" h+ _! l, [  L1 1 2 4 1 1/2;
    # q% k0 A/ t4 i4 K" b8 W1 1/2 1 5 3 1/2;7 s0 c$ T( A0 S0 h- Q
    1/4 1/4 1/5 1 1/3 1/3;
    ; N/ R/ I( O+ p" B8 Q+ J6 I1 1 1/3 3 1 1/3;
    ' j3 F0 j5 j$ s, }% J  R- q* u2 2 2 3 3 1]& O; a, t( V1 A7 c9 ?
                               
    1 q' Q' ~* l6 Y% i3 n# S) }                                   %因素对比矩阵A,只需要改变矩阵A
    ! N( H1 j  ^5 ]8 q[m,n]=size(A);                     %获取指标个数& s0 u+ |2 w) J% u" T0 l8 n5 m
    RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];3 F( L8 ]) L! l
    R=rank(A);                         %求判断矩阵的秩" Y; e  R- z9 U
    [V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    6 X+ h5 X1 a! a4 ^1 k5 h7 ptz=max(D);
    5 }" f0 Q# D- p4 T! _B=max(tz);                         %最大特征值' a! h4 X7 W! ^/ \7 }
    [row, col]=find(D==B);             %最大特征值所在位置
    5 C5 M- R. N3 Q/ o+ ]C=V(:,col);                        %对应特征向量
    & C+ x& W' W5 _0 `CI=(B-n)/(n-1);                    %计算一致性检验指标CI
    1 l( e& p5 v+ ^8 S  a/ LCR=CI/RI(1,n);   
    6 }# M2 F) n+ |- L- N, uif CR<0.10" e) {1 R4 ?- g
        disp('CI=');disp(CI);
    ; @) |2 A4 k9 W7 {4 B. M    disp('CR=');disp(CR);
    ; g6 L# X9 b- ~7 B% g9 @    disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');7 U% E$ u$ |$ W6 O. g; p! ?8 A
        Q=zeros(n,1);
    / b) H1 R6 r1 k7 N  r; j% g+ B$ J9 t    for i=1:n
    2 r2 r6 O. V% i+ i4 N        Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化
    5 {1 }: N' `; _+ O& L    end. p- l8 l5 b9 }1 B4 [4 Q6 g. I6 A
        Q                              %输出权重向量9 G% |0 k$ G9 g
    else
    6 a" _. [7 t$ h4 u; M- i, H    disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');1 f/ ^" \: j- A) }$ ~
    end
    ( C5 f, ]0 n; M6 W) h$ M! S
  • 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-6-25 15:56 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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