急求!用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

通过一致性检验

>>