- 在线时间
- 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在层次分析法中的应用
& A& E* |" |( h基于matlab层次分析法的实现
& L! P! t2 v7 I- U4 o6 l& @7 Y2006年07月28日 星期五 上午 11:04
7 ]5 u/ J2 F3 N, gdisp('请输入判断矩阵A(n阶)');
8 y8 }$ N$ x( _/ @A=input('A=');8 e; c# k% K4 k; i& Y5 {& U
[n,n]=size(A);* x1 b% @5 k6 I3 b
x=ones(n,100);# |- v0 N7 k0 \: V7 Y
y=ones(n,100);8 A3 _. W' V3 A/ t
m=zeros(1,100);
0 q9 V) a. t; G2 _% x z7 Om(1)=max(x(:,1));% w) J! r2 a3 t2 j' ^- u
y(:,1)=x(:,1);
3 p7 p8 S+ C9 u1 dx(:,2)=A*y(:,1);
8 w# ?3 i% v7 _6 C3 g; e: G; Rm(2)=max(x(:,2));
1 H O: g/ Z/ Z4 x# e* F3 N+ Q1 Dy(:,2)=x(:,2)/m(2);2 ^# s2 {' }: v0 X* w0 I0 p9 n
p=0.0001;i=2;k=abs(m(2)-m(1));
4 d& q6 ^7 y( T. Z5 Ewhile k>p
, @9 j/ I4 M7 W i=i+1;' B" n6 {% }4 f7 L; B7 d
x(:,i)=A*y(:,i-1);
2 p3 V0 w) N7 A8 b m(i)=max(x(:,i));
m; l* R) H4 r2 v y(:,i)=x(:,i)/m(i);$ e }6 ^2 Z, Y s0 i
k=abs(m(i)-m(i-1));
1 e# w0 d- `; t: ]" Z# V% G+ Aend' D; T- {8 V$ G/ I7 _
a=sum(y(:,i));, R6 P" {, ~2 V+ h2 k( j9 b
w=y(:,i)/a;3 V* l) l; [/ ~- n: t" X' W1 }/ H
t=m(i);
( @8 \0 _! c p. Wdisp(w);disp(t);9 p$ P- z2 n8 d9 J0 U: j, o
%以下是一致性检验: ?) X: _6 A, `! A
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];0 l2 M* r- C# L; i. Q! s8 k8 T8 c
CR=CI/RI(n);
9 X8 Q6 B9 x8 J1 N0 @& q/ M+ P" ]if CR<0.10
& U$ Z5 p! u* W' Y: q y disp('此矩阵的一致性可以接受!');
7 s+ S0 e/ r, Y$ O4 Y/ t7 h# G- Z2 Q disp('CI=');disp(CI);: R3 U* ?0 Q. X6 s
disp('CR=');disp(CR);3 m) `0 s" C- j7 I2 {* D6 y% e
end |
|