- 在线时间
- 0 小时
- 最后登录
- 2009-9-19
- 注册时间
- 2009-7-28
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 25 点
- 威望
- 0 点
- 阅读权限
- 20
- 积分
- 17
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 19
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 0
升级   12.63% 该用户从未签到
|
MATLAB在层次分析法中的应用 $ j2 w* C. z- z% k: L+ d
基于matlab层次分析法的实现
% ^: m; [7 n2 _$ s, R3 Z( Q2006年07月28日 星期五 上午 11:04; @. S5 y9 y/ |0 G$ L
disp('请输入判断矩阵A(n阶)');- k9 x$ T/ C, z$ T' Z# i
A=input('A=');0 e1 C" E, ~6 E; a7 n
[n,n]=size(A);; j# Y4 v$ h& G) W
x=ones(n,100);! ^/ }& A5 X, y/ d8 i3 q* _8 d
y=ones(n,100);
6 w/ U/ A# V, K' C0 I* E2 rm=zeros(1,100);
. U) U7 Y9 T# a# V9 qm(1)=max(x(:,1));
( U- s' O7 R6 v) D* Ly(:,1)=x(:,1);9 H& U5 h' a% T% A% O4 d
x(:,2)=A*y(:,1);4 O k9 v4 g. }- M6 I4 l
m(2)=max(x(:,2));
: j' s# O; U9 L$ G! l q1 ny(:,2)=x(:,2)/m(2);
- ^' t, v' _0 Lp=0.0001;i=2;k=abs(m(2)-m(1));
9 u4 ], ]- \: |$ nwhile k>p
: `" U( Q2 B1 \# S9 @( @1 n' P i=i+1;6 P* m# \7 w% v2 g( {( ]6 c
x(:,i)=A*y(:,i-1);
3 l4 q. u- r P- k m(i)=max(x(:,i));2 u2 [' T0 D: p& J
y(:,i)=x(:,i)/m(i);: H* i" H2 J, q7 k
k=abs(m(i)-m(i-1));5 a7 Y7 P7 T. J8 O% a$ ]- o, L
end7 ^' d4 Q. ^+ i& d$ x
a=sum(y(:,i));3 S+ w; p/ M0 |8 C) i
w=y(:,i)/a;" f" Q0 O" \! S# I* f7 ^8 c' G1 p
t=m(i);8 A- O' B7 b3 g
disp(w);disp(t);9 g, p, p7 U% u! }0 I- L
%以下是一致性检验
! `$ B& M+ L2 l+ [3 ~/ dCI=(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];8 X, W+ ^! W# k0 A2 W! d; [) Q
CR=CI/RI(n);
& d. X: a- b; ^if CR<0.106 X$ }; G* y( w' r1 Q4 Y9 z' U9 @
disp('此矩阵的一致性可以接受!');
! R+ E" r2 Y! A) }2 w- R disp('CI=');disp(CI);/ W$ t! `! }! }( o( `- \
disp('CR=');disp(CR);
3 D% _4 I7 m) N2 jend |
|