📄 ahpmakemat.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -