数学建模层次分析法源程序.docVIP

  • 22
  • 0
  • 约1.38千字
  • 约 3页
  • 2019-07-10 发布于江西
  • 举报
A=[1 3/2 3/7 3/9 2/3 1 4/7 4/9 7/3 7/4 1 7/9 9/3 9/4 9/7 1]; [x,y]=eig(A); eigenvalue=diag(y); m=max(eigenvalue); lamda=m n=find(m==eigenvalue); y_lamda=x(:,n); s=sum(y_lamda); W2=y_lamda./s B1=[1 5/6 5/4; 6/5 1 6/4; 4/5 4/6 1]; [x1,y1]=eig(B1); eigenvalue1=diag(y1); m1=max(eigenvalue1);  lamda1=m1 n1=find(m1==eigenvalue1); y1_lamda1=x1(:,n1); s1=sum(y1_lamda1); W13=y1_lamda1./s1 B2=[1 4/2 4/3; 2/4 1 2/3; 3/4 3/2 1]; [x2,y2]=eig(B2); eigenvalue2=diag(y2); m2=max(eigenvalue2);  lamda2=m2 n2=find(m2==eigenvalue2); y2_lamda2=x2(:,n2); s2=sum(y2_lamda2); W23=y2_lamda2./s2 B3=[1 6/7 6/7; 7/6 1 1; 7/6 1 1]; [x3,y3]=eig(B3); eigenvalue3=diag(y3); m3=max(eigenvalue3);   lamda3=m3 n3=find(m3==eigenvalue3); y3_lamda3=x3(:,n3); s3=sum(y3_lamda3); W33=y3_lamda3./s3 B4=[1 7/6 7/5; 6/7 1 6/5; 5/7 5/6 1]; [x4,y4]=eig(B4); eigenvalue4=diag(y4); m4=max(eigenvalue4); lamda4=m4 n4=find(m4==eigenvalue4); y4_lamda4=x4(:,n4); s4=sum(y4_lamda4); W43=y4_lamda4./s4 %层次总排序 W3=[W13 W23 W33 W43]; W=W3*W2 %判断矩阵的一致性 N=size(A,1); CI=(lamda-N)/(N-1); if(N==1) RI=0.00 elseif(N==2) RI=0.00 elseif(N==3) RI=0.58 elseif(N==4) N==4 RI=0.90 elseif(N==5) RI=1.12 elseif(N==6) RI=1.24 elseif(N==7) RI=1.32 elseif(N==8) RI=1.41 elseif(N==9) RI=1.45 elseif(N==10) RI=1.49 elseif(N==11) RI=1.51 end CR=CI/RI

文档评论(0)

1亿VIP精品文档

相关文档