【數學建模】層次分析演算法
阿新 • • 發佈:2021-08-20
演算法思路(AHP):
一、層次分析結構及思路
層次分析結構分為三部分:目標層、準則層、方案層
目標層:所求解問題
準則層:影響目標層的因素
方案層:所比較的幾個方案
二、層次分析實現步驟
建立層次結構模型
構造判斷
層次單排序
層次總排序
三、程式實現:
disp('請輸入準則層判斷矩陣A(n階)'); A=input('A='); [n,n]=size(A); [V,D]=eig(A);%求得特徵向量和特徵值 %求出最大特徵值和它所對應的特徵向量 tempNum=D(1,1); pos=1; forh=1:n if D(h,h)>tempNum tempNum=D(h,h); pos=h; end end w=abs(V(:,pos)); w=w/sum(w); t=D(pos,pos); disp('準則層特徵向量w=');disp(w);disp('準則層最大特徵根t=');disp(t); %以下是一致性檢驗 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 1.60 1.61 1.615 1.621.63]; CR=CI/RI(n); if CR<0.10 disp('此矩陣的一致性可以接受!'); disp('CI=');disp(CI); disp('CR=');disp(CR); else disp('此矩陣的一致性驗證失敗,請重新進行評分!'); end disp('請輸入方案層各因素對準則層各因素權重的成對比較陣'); for i=1:n disp('請輸入第');disp(i);disp('個準則層因素的判斷矩陣B');disp(i);
作者:TangBao~
-------------------------------------------
個性簽名:啦啦啦~這是個勤快的作者呢~(っ•̀ω•́)っ✎⁾⁾!