一、层次分析法
%Matlab常用符号说明
% disp('我是小白,大家好呀,记得投币关注哦')
% stract('字符串1','字符串2')
% ['字符串1','字符串2']
% num2str(c)
%层次分析法
%%输入判断矩阵
clear;clc
disp('请输入判断矩阵A: ')
A=input('判断矩阵A=')
%mablab矩阵有了两种写法,可以直接写到一行:
%[1 1 4 1/3 3;1 1 4 1/3 3 ;1/4 1/4 1 1/3 1/2;3 3 3 1 3;1/3 1/3 2 1/3 1]
%也可以写成多行
[1 1 4 1/3 3;
1 1 4 1/3 3;
1/4 1/4 1 1/3 1/2;
3 3 3 1 3;
1/3 1/3 2 1/3 1]
%两行之间以分号结尾(最后一行的分号可加可不加,同行元素之间以空格或者逗号隔开)
%%方法1,算术平均法求权重
%第一步:将判断矩阵按照列归一化(每一个元素都除以所在列的和)
Sum_A = sum(A);
n=size(A,1);
SUM_A=repmat(Sum_A,n,1);
Stand_A=A./SUM_A;
%第二步,将归一化的各列相加\按行求和
sum(Stand_A,2);
%第三步,将相加后得到的额向量中每个元素除以n得到权重向量/例如景色
disp('算术平均法求权重的结果为:')
disp(sum(Stand_A,2)/n)
%%方法2,几何平均法
%第一步,将A的元素按行相乘得到一个新的列向量
%第二部,将新的向量的每个分量开n次方
%第三步,对该列向量进行归一化得到权重向量
Product_A=prod(A,2);
%prod函数与