cengci.m

来自「对层次分析法的程序实现」· M 代码 · 共 26 行

M
26
字号
function [weight,eigenvalue,cr,matrix]=cengci(vector)
  n=length(vector);
  m=ceil(sqrt(2*n));
  matrix=ones(m,m);
  for i=2:m
      for j=1:i-1
          matrix(i,j)=vector((i-1)*(i-2)/2+j);
      end
  end
  matrix=matrix+(1./matrix)'-ones(m,m);
  weight=ones(m,1);
  for i=1:m
      weight=weight.*matrix(:,i);
  end
  weight=weight.^(1/m);
  weight=weight/sum(weight);
  eigenvalue=sum(matrix*weight./weight)/m;
  eigcompare=eig(matrix);
  ri=[0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59]';
  if m>2 
      ci=(eigenvalue-m)/(m-1);
      cr=ci/ri(m);
  else
      cr=0;
  end
  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?