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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    1 X2 i/ J& \0 ?5 J. w
    # _+ U1 Z6 O6 Y% [! h
    层次分析法(AHP)—matlab实现
    . A+ L& a5 [/ K' t6 H: T
    8 H$ J9 b0 w& X# m: k5 v. q
        层次分析法是一种主观的决策方法,可以用来确定一些指标权重,辅助决策依据的一种定性分析方法,层次分析法运用前需要构造层次模型:决策层,中间层(指标层),底层(选择层);形成等级层次;然后构造两两对比矩阵,通过9分位数来进行构造;对对比矩阵进行求最大特征值和特征向量,进行一致性检验;最后得到权重向量。具体实现过程如下Matlab程序:( a1 F% s& T! S/ A, s0 ^
    clc;
    3 Q6 X8 n+ n( D7 g; l4 Z0 p, @, Bclear;* h1 _% k8 z/ X6 t% o3 T+ q* W6 y
    >> A=[1 1 1 4 1 1/2;9 }, L# {" u! `) ?
    1 1 2 4 1 1/2;$ {' y8 X" y, d* {8 V3 o  x0 l
    1 1/2 1 5 3 1/2;. D" C% k6 u  Z
    1/4 1/4 1/5 1 1/3 1/3;  y# O; t4 d2 e- F
    1 1 1/3 3 1 1/3;
    & L2 A3 Y9 ~% n# ~3 S, m2 2 2 3 3 1]
    ; I7 Y$ h, q6 Y, m( D% F2 B. k  x% Y                           
    8 ]5 _' N: G% G; a6 `5 J1 k                                   %因素对比矩阵A,只需要改变矩阵A! K! ~( ~% u' X% F! o' A4 h4 X7 J
    [m,n]=size(A);                     %获取指标个数
    2 ~, Y" a3 V, R$ y9 n& x- KRI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51];
    " x: @2 A" [' b/ ~) b+ xR=rank(A);                         %求判断矩阵的秩
    7 W; H% W/ o# {[V,D]=eig(A);                      %求判断矩阵的特征值和特征向量,V特征值,D特征向量;
    1 C: ~# |" u1 \0 ltz=max(D);
    ( v7 w) a, U& c) t+ Q" UB=max(tz);                         %最大特征值: Y" |2 {3 E0 m+ K
    [row, col]=find(D==B);             %最大特征值所在位置7 b. ~% n: I( l3 ?( L
    C=V(:,col);                        %对应特征向量
    2 [9 G$ _3 C/ s7 h  ?: k% x' }CI=(B-n)/(n-1);                    %计算一致性检验指标CI/ n8 J( h' C1 K& x
    CR=CI/RI(1,n);   / r8 O, _& d7 ~# W, C0 L: D+ U
    if CR<0.10
    4 t. H8 F) [+ _5 ]    disp('CI=');disp(CI);
    8 ~! R( \+ x5 B# E    disp('CR=');disp(CR);/ Z! `  e% }/ m. ?
        disp('对比矩阵A通过一致性检验,各向量权重向量Q为:');
    . v3 u$ m. Z1 ~. Y    Q=zeros(n,1);  W7 K/ O# x9 ~
        for i=1:n
    4 U) b+ d1 J* n, H* d% \  ?  {5 p        Q(i,1)=C(i,1)/sum(C(:,1)); %特征向量标准化
    $ M6 D, ^9 A5 n6 h4 [    end
    9 f9 e; h/ \+ t9 n' I    Q                              %输出权重向量
    ( K2 }4 g1 v  h; }' c8 o* Lelse3 X/ l3 x  u1 G5 c! P5 t
        disp('对比矩阵A未通过一致性检验,需对对比矩阵A重新构造');
    / M. [/ m7 e& Vend
    * W2 u( v5 v4 q4 Q  U! F
  • 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 04:30 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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