- 在线时间
- 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在层次分析法中的应用 # j8 W. s3 N" d( U! k. t
基于matlab层次分析法的实现$ s; e( c4 U7 {, r
2006年07月28日 星期五 上午 11:04
. W, O( w$ F) ]3 r! K1 bdisp('请输入判断矩阵A(n阶)');# m! C: }& B( y0 R) s& V# `* V% Q+ r
A=input('A=');" t8 d/ _; h7 w# B; ^
[n,n]=size(A);
0 c a5 R8 E! B% ^- R( W. ?x=ones(n,100);1 G/ j9 x: L, b: ?+ Z" d
y=ones(n,100);% c0 w |& I' z
m=zeros(1,100);
$ Q5 |4 l8 C# wm(1)=max(x(:,1));
$ Z. p7 J6 {+ p; {. J+ I# v3 dy(:,1)=x(:,1);3 j+ v. v0 M# `6 O8 _4 @
x(:,2)=A*y(:,1);# z7 J" B* n' p9 p
m(2)=max(x(:,2));
/ ^: i! v+ `9 U6 By(:,2)=x(:,2)/m(2);
5 b" q( U+ B0 X2 j, p2 ?" S) fp=0.0001;i=2;k=abs(m(2)-m(1));
/ G( [, z4 r/ O" c9 t# K0 |: c1 Twhile k>p9 ]( b- @& s' ?; M, M; l; B: |' v
i=i+1;5 u0 O% m$ w# C, z, Y0 C
x(:,i)=A*y(:,i-1);
! W+ ]9 s* T) u& g: O m(i)=max(x(:,i));
( b/ Q- ~$ l# W h3 n" d y(:,i)=x(:,i)/m(i);
2 g2 B' D! d* i4 s k=abs(m(i)-m(i-1)); Z/ }# P' V# j# R( u1 r, Z
end2 c/ R3 v; J! m1 D5 C
a=sum(y(:,i));$ `- j4 J; h' Z7 X/ u9 R
w=y(:,i)/a;
Y' p, O5 v! U: ut=m(i);9 O8 k8 _% v" ~" Z% g. O1 h
disp(w);disp(t);. e1 F, P1 U9 X7 p
%以下是一致性检验5 { {. t. Z9 g/ K$ o/ f$ w. Y
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];8 W, H' P9 P5 V# t( m `! p: t( X: b; j
CR=CI/RI(n);0 C7 g1 K8 _- d& P* }
if CR<0.10
: `- K7 {) k) w' I disp('此矩阵的一致性可以接受!');
# O7 w: y; M9 h) V/ E disp('CI=');disp(CI);
, c2 Y% C. K n: ] B: x1 O disp('CR=');disp(CR);+ {% L r+ M+ M
end |
|