层次分析之算术平均法、几何计算法、特征值法计算权重 matlab实现
1.算术平均法计算权重的公式如下:
最里面的求和公式将矩阵按列求和,再用每一个aij除以所在列的和进行归一化。
最外面的求和公式将矩阵按行求和,再除以n数,得到的向量即为所需的权重值。
代码如下:
%1.算术平均法计算权重
%输入样例:
% A =[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]
A = input('判断矩阵A='); %输入判断矩阵
ASum = sum(A,1); %将判断矩阵每列求和
[n,n] = size(A); %获取A的行和列,用于对ASum复制,对应位相除归一化
Ar = repmat(ASum,n,1); %复制Asum n行1列为Ar矩阵
Stand_A = A./Ar; %归一化
ASumr = sum(Stand_A,2); %各列相加到同一行
disp(ASumr/n); %将相加后得到的向量每个元素除以n可以得到权重向量
2.几何法计算权重公式如下:
代码如下:
%2.几何平均法求权重
clc;
A = input('判断矩阵A=');
[n,n] = size(A);
prod_A = prod(A,2); %将A中每一行元素相乘得到一列向量
prod_n_A = prod_A.^(1/n); %将新的向量的每个分量开n次方等价求1/n次方
re_prod_A = prod_n_A./sum(prod_n_A);%归一化处理
disp(re_prod_A); %展示权重结果
3.特征值法计算权重
对应代码如下:
clc;
A = input('判断矩阵A=');
[n,n] = size(A);
%求出最大特征值以及对应的特征向量
[V,D] = eig(A); %V是特征向量 D是特征值构成的对角矩阵
Max_eig = max(max(D)); %先求出每一列的最大值,再求最大值中的最大值
[r,c] = find(Max_eig == D,1);%使用find()函数找出最大特征值对应的特征向量
%对特征向量进行归一化得到所需权重
disp(V(:,c)./sum(V(:,c)));
使用输入样例,采样三种求权重的方法得到的权重值分别如下:
算术平均法 | 几何计算法 | 特征值计算法 |
---|---|---|
0.2145 | 0.2184 | 0.2121 |
0.2145 | 0.2184 | 0.2121 |
0.0703 | 0.0664 | 0.0679 |
0.4006 | 0.3985 | 0.4114 |
0.1001 | 0.0983 | 0.0965 |
层次分析之算术平均法、几何计算法、特征值法计算权重 matlab实现相关推荐
- [MATLAB]层次分析法计算权重
[MATLAB]关于层次分析法计算权重值 %层次分析法权重函数 function [w,CR] = cengci(A)[~, n] = size(A); x = ones(n,100); y = on ...
- 数学建模竞赛知识点汇总(一)——层次分析法
文章目录 简介 步骤 建立层次结构模型 构造判断矩阵 计算权重 算术平均值法 几何平均值法 特征值法 一致性检验 合并排序 层次分析法的局限性 后续 简介 层次分析法(AHP)这是一种定性和定量相 ...
- 层次分析法(AHP)算法简介
一·.模型介绍 层次分析法(AHP)是美国运筹学家萨蒂于上世纪70年代初,为美国国防部研究"根据各个工业部门对国家福利的贡献大小而进行电力分配"课题时,应用网络系统理论和多目标综 ...
- Matlab:如何利用层次分析法(升级版)计算具有多重指标的判断矩阵的一致性检验和权重
02 论文提供的太阳镜的评价体系 03 建立目标层和准则层的判断矩阵 (论文提供) 04 首先需要对判断矩阵进行一致性检验 4.1 一致性检验的一般步骤 4.2 对应上方步骤的变量和代码 05 一致性 ...
- 数学建模——层次分析法Python代码
数学建模--层次分析法Python代码 import numpy as np class AHP: """ 相关信息的传入和准备 """ d ...
- 评价类模型:1.层次分析法
评价类问题 举例 高考结束,小明在华中科技大学和武汉大学之间做选择 首先,选择打分指标及其所占权重: 学习氛围,就业前景,男女比例,校园景色 随后,根据查资料或者其他途径对两所校园的各个指标进行打分 ...
- 层次分析法(参考:清风)
1 背景和应用场景 层次分析法(The Analytic Hierarchy Process即 AHP)是由美国运筹学家. 匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与 ...
- 层次分析法——确定指标权重、解决评价类问题
"评价类问题可以用打分解决." 譬如我们想对A.B.C三个景点进行评分,若题目没给数据可查阅文献(显得专业)得到关于景点评分的几个指标,显然,不同指标对景点的评价高低影响程度不同, ...
- 学习笔记----层次分析法
层次分析法(MATLAB实现) 定义 例题 步骤 细节补充 应用实例 定义 层次分析法是指将一个复杂的多目标决策问题作为一个系统,将目标分解为多个目标或准则,进而分解为多指标(或准则.约束)的若干 ...
- 评价类模型——层次分析法
评价类模型--层次分析法 注:以下故事纯属虚构,部分背景及人物姓名设定借用<你好,旧时光>这部剧,但与原剧基本无关,如有情节雷同,纯属巧合. Q:余周周同学遇到三位追求者,这三位候选人分别 ...
最新文章
- 存储过程IN参数疑难问题解决方法【真正解决】
- Eclipse导入GitHub项目两处报错处理
- 【渝粤教育】国家开放大学2018年春季 0508-21T影视特技及后期合成 参考试题
- 类的带参方法有哪几部分构成?
- 好文!研究生高效阅读的五大原则
- 关于类的入门例子(1): 继承窗体
- Jenkins与Docker的自动化CI/CD实战
- UNIX高手的10个习惯之一
- 从Spring代理的bean中获取代理对象
- ntpdate 时间同步
- python脚本调度程序_python任务调度实例分析
- JS库之Highlight.js高亮代码
- Jboss的下载和安装
- java中this和super的用法区别
- Tableau——备注
- 关于屏幕分辨率适配的教程
- java7java8 集合中对象的某一个字段分组
- Linux查看目录大小文件大小内存大小硬盘大小
- Map集合中的常用函数(java)
- 一图掌握PEST分析模型及案例
热门文章
- lambda表达式(Shawn),android物联网开发配套代码
- 不管你信不信,这就是程序员996的真实内幕!
- idea创建web项目的时候报错:Error reading file E:/workspaces/**/pom.xml
- 未来5年大机遇:做贩卖多巴胺的超级玩家
- fms安装教程 linux_linux通过fms搭建流媒体服务器Flash Media Server
- Excel如何导出高清图片
- 求三阶行列式--学解析几何的朋友计算外积和混合积可以用这个啦--
- 计算机网络原理 读书笔记
- SQL学习笔记04 极客时间 SQL必知必会50讲
- 极客空间-MySQL实战45天-第一天