0 \- {3 e& m4 U0 y计算的 Matlab 程序如下: 9 {4 _* W6 F3 T7 ~3 I 6 ]: M) N$ p: C# Mclc,clear / U1 m, w/ L4 n) b0 Lfid=fopen('txt3.txt','r'); % E* p# D& |, n0 p6 u6 u4 s; Zn1=6;n2=3; " g x" y4 e* @# G% f! b; ]- Z; E1 C; E" ^a=[]; ! n$ s+ F( `: F5 z- |for i=1:n1 8 c' {+ x( W' Q, \; e' K tmp=str2num(fgetl(fid)); * J* L' ~" G* k3 N/ z! q
a=[a;tmp]; %读准则层判断矩阵 $ u( P& X( i* L: S9 G& c
end 6 q- |( p& Z$ Yfor i=1:n1 0 Z+ I6 v) T/ k: M str1=char(['b',int2str(i),'=[];']); ; X# ]! L3 S* N3 F2 h/ _( \1 g5 ?' F str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']); , Z* T) @6 U1 T* }2 E" P eval(str1); 7 x% G: ]: b7 T9 v for j=1:n2 8 I. R0 N/ V7 b% O" W9 [ tmp=str2num(fgetl(fid)); 6 e& U- A( L9 E6 l eval(str2); %读方案层的判断矩阵 4 j3 K8 X; v% F. `. N
end 8 W% z! w9 l$ N/ T
end ' @& L3 _0 M# j; c% _6 r1 K( X
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标 , R$ x* y1 O5 I* U# c[x,y]=eig(a); / v C& s4 X3 |# h* {lamda=max(diag(y)); 8 Y# K) W' e9 P T* |5 I* `9 m( ]num=find(diag(y)==lamda); * C: V2 A+ r- Z9 G5 K; y
w0=x(:,num)/sum(x(:,num)); 8 u- A+ U- [- G: C, l
cr0=(lamda-n1)/(n1-1)/ri(n1) 0 m+ O# k7 E3 Q$ ]5 Y
for i=1:n1 - [0 A9 {6 B8 d8 f( v
[x,y]=eig(eval(char(['b',int2str(i)]))); $ t! L3 k7 d' K4 A. M( b) @ lamda=max(diag(y)); $ I9 p% b0 p! Q. x& o
num=find(diag(y)==lamda); % L* \: [2 v! O* o3 D. E
w1(:,i)=x(:,num)/sum(x(:,num)); , x, s9 s# |/ @4 _ cr1(i)=(lamda-n2)/(n2-1)/ri(n2); 3 ~+ V' a/ R/ ~( v( G$ T( Y
end 3 Q, C8 W0 Q7 x+ V8 F; F. {, y3 A8 h6 _cr1, ts=w1*w0, cr=cr1*w0 ( ]+ c4 H' \8 ]. G9 T q
c$ }0 L' Q& [# E2 Z. W _9 F7 E; _/ z8 G, L 习 题 3 Z5 Y6 D/ J7 G) O0 |$ Q ; Y5 \; H, e3 x# e
0 {" o5 Z4 _5 K4 K+ C. s/ |* Q* k: }/ N( y7 n5 X+ K
0 p. v9 A. t* H+ k0 p' S H
. r! y' I2 _' l( e) v$ e
———————————————— 0 i' w" {9 f1 \- u- _) ~, ~3 S版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。) i% r" U, w" F8 s U8 V
原文链接:https://blog.csdn.net/qq_29831163/article/details/89452567% i" F3 q, q$ f, a3 G
/ l5 ?$ L1 Z- X8 w& J( C 6 ? a" y1 I# m7 b6 ?, J( X