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
j=1;
while j<=n
disp('請輸入判斷矩陣b(n階)');
b=input('b=');
[n1,n1]=size(b);
w=;x=ones(n1,100);
y=ones(n1,100);
m=zeros(1,100);
m(1)=max(x(:,1));
y(:,1)=x(:,1);
x(:,2)=b*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)=b*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(j,:)=y(:,i)/a;
t=m(i);
disp(w(j,:));
%以下是一致性檢驗
% ci=(t-n1)/(n1-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(n1);
% if cr<0.10
% disp('此矩陣的一致性可以接受');
% disp('ci=');disp(ci);
% disp('cr=');disp(cr);
% end
j=j+1
end%求解--看最後是哪個選項的分數最高
disp('最後結果');
u=1;
z=zeros(1,15);
while u<=n1
for t=1:n
z(1,u)=w(t)*w(t,u)+z(1,u);
endu=u+1;
enddisp(z);
matlab AHP層次分析法
建立層次結構模型 將決策的目標 考慮的因素 決策準則 和決策物件按它們之間的相互關係分為最高層 中間層和最低層,繪出層次結構圖。構造判斷矩陣 在確定各層次各因素之間的權重時,如果只是定性的結果,則常常不容易被別人接受,因而saaty等人提出 一致矩陣法,即 不把所有因素放在一起比較,而是兩兩相互比較...
層次分析法
ahp分析方法,其基本步驟可歸納為 1 建立遞階層次結構 建立遞階層次結構是ahp法中關鍵一步,如圖所示。首先,把複雜問題中所包含的因素分解為不同層次。同一層次的因素作為準則對下一層次的某些因素起支配作用,同時,它又受上乙個層次因素的支配。這種從上到下的支配關係形成了乙個遞階層次結構,處於最上層的是...
層次分析法
此方法的步驟 1.建立有目標層 準則層 方案層等構成的層次結構 2.構造下層各元素對上層每一元素的成對比較矩陣 3.計算各個成對比較矩陣的特徵根和特徵向量,做一致性檢驗,通過後將特徵向量取做權向量 4.用分層加權和法計算最下層元素對最上層元素的權重 即逐層矩陣相乘 關於一致性檢驗,n階成對比較矩陣的...