ahpmakemat.m

来自「阿瑟玩儿玩儿温热温热我认为而我热热特特让他人味儿我说的撒发生地方的是发生地方反思」· M 代码 · 共 41 行

M
41
字号
function m=ahpmakemat(a)
%AHPMAKEMAT    Turn a vector of comparisons into an AHP matrix.
%   M=AHPMAKEMAT(A) returns an AHP matrix M from an input vector A.
%   A must be a triangular number to correctly populate M.
%   The entries of A appear in M as follows:
%
%             M=[1  A(1)  A(2)  ...   A(Q)
%                    1   A(Q+1) ...
%                             ...       
%                                  1  A(N)  
%                                      1  ]
sz=size(a);
numrows=sz(1);
if (numrows > 1)
 a = a';
 sz=size(a);
 numrows=sz(1);
end
if (numrows >1)
 disp('Sorry, this only works for vectors right now.')
 disp('Exiting.');
 return;
end
numcols=sz(2);
n=0.5*(1+sqrt(1+8*numcols));
if (n-round(n) ~= 0)
 disp('The input array must have a column count that is a triangular number.');
 disp('Exiting.');
 return;
end
m=eye(n);
vecindex=1;
for i=1:(n-1)
 for j=(i+1):n
  m(i,j)=a(vecindex);
  vecindex=vecindex+1;
  m(j,i)=1/m(i,j);
 end
end

⌨️ 快捷键说明

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