private static $_RI = array(

'1' => 0,

'2' => 0,

'3' => 0.51,

'4' => 0.89,

'5' => 1.12,

'6' => 1.25,

'7' => 1.35,

'8' => 1.42,

'9' => 1.46,

'10' => 1.49,

'11' => 1.52,

'12' => 1.54

);

/**

* 层次分析法

* @param $indexScore ---> 专家对每项指标所打的评分

* @return $guiyi ---> 各指标的权重

*/

public static function AHP($indexScore)

{

$arr_A = [];//矩阵A

$n = count($indexScore);

if ($n <= 1) {

return false;

}

foreach ($indexScore as $key => $val) {

$arr_A[$key] = [];

foreach ($indexScore as $v) {

$arr_A[$key][] = $val / $v;

}

}

$weight = [];

foreach ($arr_A as $val) {

$product = 1;

foreach ($val as $v) {

$product *= $v;

}

$weight[] = pow($product, 1 / $n);

}

$sum = array_sum($weight);

$guiyi = [];//特征向量 ---> 指标权重

if ($sum) {

foreach ($weight as $val) {

$guiyi[] = $val / $sum;

}

}

//$eigenvalue ---> 最大特征根

$eigenvalue = static::getEigenvalue($arr_A, $guiyi);

$_RI = static::$_RI[$n];

$_CI = ($eigenvalue - $n) / ($n - 1);

$_CR = $_CI / $_RI;

if ($_CR < 0.1) {

return $guiyi;

} else {

return '打分不合理';

}

}

/*求最大的特征值*/

public static function getEigenvalue($data1, $data2)

{

$eigenvalue = [];

foreach ($data1 as $key => $val) {

$sum = 0;

foreach ($val as $k => $v) {

$sum += $v * $data2[$k];

}

$eigenvalue[] = $sum;

}

return array_sum($eigenvalue);

}

层次分析法php,使用层次分析法,需要求矩阵的最大特征根入max相关推荐

  1. ahp层次分析法_基于层次分析法(AHP)的店铺选址应用研究

    导读 在连锁行业,店铺选址是其中很重要的一个方面.影响店铺选址的指标(因素)很多,决策中经常需要对店铺影响各指标进行量化分析.本文应用层级分析法(AHP),对影响店铺选址的指标(因素)权重进行量化分析 ...

  2. ahp层次分析法软件_层次分析法在历史街区研究中的应用简析

    摘要 AHP (Analytic Hierarchy Process)层次分析法通常被运用于解决多目标.多标准.多要素.多层次的非结构化的复杂决策性问题,特别是战略决策性问题,在建筑.规划.风景园林等 ...

  3. 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...

    两类层次分析法的转换及在应用中的比较-计算机工程与应用 114 2012 ,48 (9) Computer Engineering and Applications 计算机工程与应用 两类层次分析法的 ...

  4. MATLAB实现层次分析法AHP及案例分析

    层次分析法(Analytic Hierarchy Process, AHP) 1 模型背景 美国运筹学家匹兹堡大学教授Saaty在20世纪70年代初提出的一种层次权重决策分析方法. 层次分析法(Ana ...

  5. 熵权法EW与层次分析法AHP之数学原理及实例

    1.概述 对于多指标或多目标决策问题,由于涉及到多个指标或属性,在对实测数据进行评价时,需要确定这些指标之间的相互权重,各指标权重的客观性与合理性也会大大影响到最终的评价结果.目前对于指标权重确定的方 ...

  6. 综合评价分析法:熵权法matlab实现+层次分析法matlab实现

    综合评价分析法:熵权法matlab实现+层次分析法matlab实现 层次分析法matlab实现 clc;clear%层次分析法matlab实现A=[1 1/9 1/2 1/4 1/6 9 1 6 5 ...

  7. 产品需求分析与市场分析方法汇总(SWOT+PDCA+波士顿矩阵BCG+5W2H分析法+STAR关键事件分析法+目标管理SMART+时间管理紧急重要矩阵+WBS任务分解法)

    产品需求分析与市场分析方法汇总(SWOT+PDCA+波士顿矩阵BCG+5W2H分析法+STAR关键事件分析法+目标管理SMART+时间管理紧急重要矩阵+WBS任务分解法) 产品需求分析与市场分析方法汇 ...

  8. R语言时间序列(time series)分析实战:简单指数平滑法预测

    R语言时间序列(time series)分析实战:简单指数平滑法预测 目录

  9. 【编译原理笔记06】语法分析,移入-归约分析:自底向上的分析,LR(0)分析法,LR(0)分析表的构建(基于自动机)

    本次笔记内容: 4-8 自底向上的分析概述 4-9 LR分析法概述 4-10 LR0分析 4-11 LR0分析表构造 本节课幻灯片,见于我的 GitHub 仓库:第6讲 语法分析_3.pdf 本节课介 ...

  10. 图像二值化方法及适用场景分析(OTSU Trangle 自适应阈值分割)

    图像二值化 应用场景 二值图像定义 阈值获取的方法 手动阈值法 自动阈值法 灰度均值法 基于直方图均值法 OTSU Triangle 自适应均值阈值分割方法 总结 参考文献 应用场景 二值图像处理与分 ...

最新文章

  1. 优秀的数据分析师应该具备哪些技能和特质?
  2. C/S架构应用程序开发培训笔记
  3. Java并发编程(5):volatile变量修饰符—意料之外的问题(含代码)
  4. 自动增益(AGC)算法FPGA实现
  5. Linux系列-Red Hat5平台下的Postfix邮件服务搭建(二)
  6. 保驾护航金三银四,内容太过真实
  7. 不用空格怎么打两个空格_韩语空格怎么空?90%的韩语初学者都会出错!
  8. 杭电2066--一个人的旅行(Floyd)
  9. CSS 命名 BEM 。线上样式不对。已经更新。El-input__suffix偏上。字体样式 苹方-简 PingFangSC-Regular。echarts字体。
  10. SQLSERVER 2000清除挂起
  11. 安卓内存监控悬浮窗,6年菜鸟开发面试字节跳动安卓研发岗,面试建议
  12. J2EE / TOMCAT / TOMCAT系列教材 (一)- 教程
  13. 408考研经验分享(待更
  14. 数字通信系统的性能及可靠性
  15. 用计算机就行DNA翻译的程序,南邮通达科技英语原文翻译Lession 2 CTEXT
  16. vue.js基础 之 过滤器分类及使用
  17. 计算机串口通信的作用,串口通信的具体用途是什么
  18. html flv jquery 插件,基于js与flash实现的网站flv视频播放插件代码
  19. macOS Big Sur 11.7.1 (20G918) 正式版 ISO、PKG、DMG、IPSW 下载
  20. 60种生活小窍门,分享

热门文章

  1. cf英文名字格式好看的_cf好看的英语名字格式,有你想要的!
  2. VS不能使用回车键和删除键及其他键问题
  3. 马斯克被曝曾骚扰机上空乘 SpaceX支付25万美元和解
  4. HDS VSP/VM高端存储更换硬盘
  5. IOS8 keyboardWillShow 在UIKeyboardWillShowNotification 调用两次 问题解决
  6. 医疗知识图谱_寻医问药
  7. 如何寻找“真爱”型合伙人
  8. 软件架构设计–五视图法
  9. [英语语法]句法之句子成分和种类
  10. 从5点来分析搜索引擎算法