层次分析法

本文详细介绍了层次分析法的概念、步骤及实际应用,帮助读者理解如何在决策过程中运用这一方法进行复杂问题的解决。
摘要由CSDN通过智能技术生成

一、层次分析法

%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函数与
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值