- 在线时间
- 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在层次分析法中的应用
. ?; @: o1 v9 G0 N z, J, ?基于matlab层次分析法的实现
9 l% _+ E2 ]7 z/ n+ ?% G2006年07月28日 星期五 上午 11:04$ V4 I4 ]; _6 F9 \3 u( G
disp('请输入判断矩阵A(n阶)');. g7 v6 l3 F8 t4 E
A=input('A=');! f! i( ?1 ]$ q: X. E
[n,n]=size(A);! b) t+ r5 {# z( p; X5 R9 W
x=ones(n,100);
, F0 o$ T: ^9 d: Iy=ones(n,100);8 J. b7 B" V9 e" C8 T/ _ m4 A
m=zeros(1,100);; h- p$ S* E9 q; D3 j# W* Q( [
m(1)=max(x(:,1));
8 Y8 _: O$ g: iy(:,1)=x(:,1);
/ H. U: G G9 T% W e) \- Jx(:,2)=A*y(:,1); `& m3 q2 O- o% R' H0 i
m(2)=max(x(:,2));
- n9 k2 n$ I# `# T3 N2 c% F8 Ny(:,2)=x(:,2)/m(2);% S9 U' ]7 v. ^) W( k. K
p=0.0001;i=2;k=abs(m(2)-m(1));' w. M3 q, k: s0 h
while k>p
) @( p9 i9 [8 H$ u' q: u9 X7 @ i=i+1;
3 O6 b( l5 B$ m1 u$ _. U4 l x(:,i)=A*y(:,i-1);( [" v! c/ c. a; L2 B7 u
m(i)=max(x(:,i));
1 t7 ~% Z% q/ J" `0 P y(:,i)=x(:,i)/m(i);5 C! s% L+ \0 I
k=abs(m(i)-m(i-1));
9 `/ |' s5 u! B7 }0 n& u: d( kend
. O! W. G) d, ]7 l1 v6 j% @a=sum(y(:,i));/ N5 g q, v2 O# n9 V
w=y(:,i)/a;; T" I. c5 Y+ w1 H* G; n
t=m(i);8 q3 n* k) ?6 I& {
disp(w);disp(t);+ B4 v4 c$ ~5 p
%以下是一致性检验
9 N' G+ N6 ~6 g0 A. u1 T4 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];0 l- k {* L' r. n4 X1 y4 E& w) \
CR=CI/RI(n);
+ t+ s9 a4 \8 h$ ?/ V% C2 Fif CR<0.101 N' j/ J, \6 o4 ^
disp('此矩阵的一致性可以接受!');
; d7 z1 l# f1 N7 v disp('CI=');disp(CI);# X' L4 v9 `1 y5 Y9 s# J
disp('CR=');disp(CR);3 @ X$ B8 q# m+ P6 N
end |
|