急求!用matlab解决此层次分析法问题,题如图所示,结果已给出,求此问题的matlab程序语言过程!

1个回答

  • clc;clear

    format rat

    T=[1 1 2 4; 1 1 3/2 3; 1/2 2/3 1 2;1/4 1/3 1/2 1]

    A1=[1 5/4 5/3 2;4/5 1 1 2;3/5 1 1 3/2;1/21/2 2/3 1]

    %A2……A4

    n=length(T);

    %T的

    disp('##############对矩阵T的运算#########################')

    format short

    [w,r]=eig(T);

    r_T=r(1)

    w_T=w(:,1)/sum(w(:,1))

    format long

    CI_T=(r_T-n)/(n-1)

    RI=0.9;%查表n=4时为0.9

    CR_T=CI_T/RI

    if CR_T<0.1

    disp('通过一致性检验')

    else

    disp('没通过一致性检验')

    end

    %A1的

    disp('##############对矩阵A1的运算#########################')

    format short

    [w,r]=eig(A1);

    r_A1=r(1)

    w_A1=w(:,1)/sum(w(:,1))

    format long

    CI_A1=(r_A1-n)/(n-1)

    RI=0.9;%查表n=4时为0.9

    CR_A1=CI_A1/RI

    if CR_A1<0.1

    disp('通过一致性检验')

    else

    disp('没通过一致性检验')

    end

    %剩下3个矩阵自己写写看,记得先把矩阵输入

    结果(帮你做两个,剩下自己仿照):

    T =

    1 1 2 4

    1 1 3/2 3

    1/2 2/3 1 2

    1/4 1/3 1/2 1

    A1 =

    1 5/4 5/3 2

    4/5 1 1 2

    3/5 1 1 3/2

    1/2 1/2 2/3 1

    ##############对矩阵T的运算#########################

    r_T =

    4.0104

    w_T =

    0.3745

    0.3244

    0.2007

    0.1004

    CI_T =

    0.003454300746967

    CR_T =

    0.003838111941075

    通过一致性检验

    ##############对矩阵A1的运算#########################

    r_A1 =

    4.0166

    w_A1 =

    0.3428

    0.2701

    0.2339

    0.1533

    CI_A1 =

    0.005531181156471

    CR_A1 =

    0.006145756840524

    通过一致性检验

    >>