- 在线时间
- 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在层次分析法中的应用 1 Z& u* W6 A; ]4 Q) @$ E" ?
基于matlab层次分析法的实现
3 s3 x w! z+ ^: \8 X5 N# N2 b2006年07月28日 星期五 上午 11:04- `' w8 y2 Y: h- z
disp('请输入判断矩阵A(n阶)');
+ [% U" q3 C) Z8 a E5 eA=input('A=');+ J i9 h" m* H; z% @% _
[n,n]=size(A);5 _+ |2 v& V7 g( U
x=ones(n,100);
1 v9 k; U& p' h4 l, qy=ones(n,100); J$ S* o+ T+ F! P: x4 Y
m=zeros(1,100);
, C0 b! A, O6 U G; h6 Vm(1)=max(x(:,1));
* H' ^- \' y! p. J6 \y(:,1)=x(:,1);4 |9 j( X* H. o; s6 ^3 y' M: g3 ^
x(:,2)=A*y(:,1);
& W& P, d4 {7 x7 X. ]8 V; V9 tm(2)=max(x(:,2));2 l6 Q `* c0 j% H% ]) U
y(:,2)=x(:,2)/m(2);
$ ?4 x1 m- T4 W3 {) z$ sp=0.0001;i=2;k=abs(m(2)-m(1));
, X2 i7 `2 R$ E+ m- g6 D2 bwhile k>p
5 F7 N8 c; N6 u- n i=i+1;
$ D3 U& [% L9 V6 I4 l! f3 C x(:,i)=A*y(:,i-1);5 ~2 R. _0 U( C& o6 b
m(i)=max(x(:,i));: J$ Z, @9 Q2 b8 X( o# q
y(:,i)=x(:,i)/m(i);
; _( e9 J6 m+ y k=abs(m(i)-m(i-1));0 K2 j+ X; a6 a, }
end
1 E, e% r- a0 c) N: \; ?5 ja=sum(y(:,i));8 f- P+ l- K7 D7 U3 C- W0 }$ a
w=y(:,i)/a;
B, l& b7 K4 \5 s- {" E+ ct=m(i);
7 h( [% }- W: I- b2 Ldisp(w);disp(t);) i7 ?! M7 D! Q0 n" R( O6 u4 e! n3 O
%以下是一致性检验
1 E3 P8 w% V8 Q& y. Z* YCI=(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];+ w, }' ~5 M' v
CR=CI/RI(n);* o: d* p- B. `4 U
if CR<0.10
, ?* B3 s6 g1 K. Z/ A! _9 y disp('此矩阵的一致性可以接受!');
3 s9 k7 @* V$ E T disp('CI=');disp(CI);
& e' H; m, C' j) H6 M disp('CR=');disp(CR);. J( Q4 v) ^! v7 V3 S
end |
|