層次分析法MATLAB

2022-08-03 06:18:12 字數 1204 閱讀 6774

輸入成對比較矩陣,輸出權重值和一致性檢驗結果。

disp('請輸入判斷矩陣a(n階)');

a=input('a=');

[n,n]=size(a);

x=ones(n,100);

y=ones(n,100);

m=zeros(1,100);

m(1)=max(x(:,1));

y(:,1)=x(:,1);

x(:,2)=a*y(:,1);

m(2)=max(x(:,2));

y(:,2)=x(:,2)/m(2);

p=0.0001;i=2;k=abs(m(2)-m(1));

while k>p

i=i+1;

x(:,i)=a*y(:,i-1);

m(i)=max(x(:,i));

y(:,i)=x(:,i)/m(i);

k=abs(m(i)-m(i-1));

enda=sum(y(:,i));

w=y(:,i)/a;

t=m(i);

disp(w);

%以下是一致性檢驗

ci=(t-n)/(n-1);ri=[0 0 0.52 0.89 1.12 1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];

cr=ci/ri(n);

if cr<0.10

disp('此矩陣的一致性可以接受!');

disp('ci=');disp(ci);

disp('cr=');disp(cr);

end

矩陣例子:

[1, 1/2, 4, 3, 3;

2, 1, 7, 5, 5;

1/4, 1/7, 1, 1/2, 1/3;

1/3, 1/5, 2, 1, 1;

1/3, 1/5, 3, 1, 1;]

[1,2,5;

1/2,1,2;

1/5,1/2,1;]

[1,1/3,1/8;

3,1,1/3;

8,3,1;]

[1,1,3;

1,1,3;

1/3,1/3,1;]

[1,3,4;

1/3,1,1;

1/4,1,1;]

[1,1,1/4;

1,1,1/4;

4,4,1;]

層次分析法(Matlab實現)

基本步驟 1.建立層次分析結構模型。常見的有目標層 準則層 方案層模型。2.構造成對比較矩陣。常用的有1 9尺度。尺度大小取決於下層的元素個數。3.計算權向量並作一致性檢驗。引入一致性指標ci,ci越大,不一致越嚴重。引入隨機一致性指標ri。定義一致性比率cr ci ri。cr 0.1時,通過一致性...

MATLAB學習 層次分析法(AHP)

matlab實現 層次分析法 ahp disp 請輸入判斷矩陣a n階 a input a n,n size a x ones n,100 y ones n,100 m zeros 1,100 m 1 max x 1 y 1 x 1 x 2 a y 1 m 2 max x 2 y 2 x 2 m 2...

層次分析法

ahp分析方法,其基本步驟可歸納為 1 建立遞階層次結構 建立遞階層次結構是ahp法中關鍵一步,如圖所示。首先,把複雜問題中所包含的因素分解為不同層次。同一層次的因素作為準則對下一層次的某些因素起支配作用,同時,它又受上乙個層次因素的支配。這種從上到下的支配關係形成了乙個遞階層次結構,處於最上層的是...