做毕设时因为恐惧层次分析法的计算量,所以通过程序实现了.

层次分析法计算过程的程序化实现代码

package e_5_28;

/*

* author 曾绍涛

* time 2009-5-29

* function 层次分析法的程序化计算

*/

import java.util.HashMap;

class Caltest1

{

static int n;//矩阵的阶数

double cal[][];//层次比较矩阵,归一化后的

double cal1[][];//层次比较矩阵

static HashMap hm=null;//将12阶的成对比较矩阵的平均随机一致性指标值保存在哈希映射表里

//设置平均随机一致性指标值

public static void setHm()

{

hm=new HashMap();hm.put(1, 0);hm.put(2, 0);

hm.put(3, 0.58);hm.put(4, 0.89);hm.put(5, 1.12);

hm.put(6, 1.24);hm.put(7, 1.32);hm.put(8, 1.41);

hm.put(9, 1.45);hm.put(10, 1.49);hm.put(11, 1.52);

hm.put(12, 1.54);

}

public int getN(){

return n;

}

public void setN(int n){

this.n = n;

}

//原始成对比较矩阵列向量的归一化

public void colvectortoone(double arr[])//列向量的归一化

{

arr=new double[n];

System.out.println("*****************每列求加和开始*****************");

for(int j=0;j

{

for(int i=0;i

{

arr[j]+=cal[i][j];//每列求加和

}

}

System.out.println("*****************每列求加和完毕*****************");

System.out.println("*****************打印行值和进行验证开始*****************");

for(int i=0;i

{

System.out.println(arr[i]);//打印行值和进行验证

}

System.out.println("*****************打印行值和进行验证完毕*****************");

System.out.println("*****************列向量归一化开始*****************");

for(int j=0;j

{

for(int i=0;i

{

cal[i][j]=cal[i][j]/arr[j];//列向量归一化

}

}

System.out.println("*****************列向量归一化完毕*****************");

System.out.println("*****************打印归一化后的数组开始*****************");

for(int j=0;j

{

for(int i=0;i

{

System.out.print(cal[j][i]+"\t");//列向量归一化

}

System.out.println();

}

System.out.println("*****************打印归一化后的数组结束*****************");

}

//得到归一化矩阵各行的行和

public double [] rowsum(double arr1[])//按行求和,并返回求得的数组

{

arr1=new double[n];

for(int j=0;j

{

for(int i=0;i

{

arr1[j]+=cal[j][i];//每行求加和

}

}

System.out.println("*****************行和打印验证开始*****************");

for(int j=0;j

{

System.out.println(arr1[j]);

}

System.out.println("*****************行和打印验证结束*****************");

//以下对arr1[]进行归一化

double sum=0;

for(int i=0;i

{

sum+=arr1[i];

}

System.out.println("*****************向量归一化计算开始*****************");

for(int i=0;i

{

arr1[i]=arr1[i]/sum;

}

System.out.println("*****************向量归一化计算结束*****************");

System.out.println("*****************打印权重开始*****************");

for(int j=0;j

{

System.out.println(arr1[j]);

}

System.out.println("*****************打印权重结束*****************");

return arr1;

}

//求最大特征值

public double getnamda(double arr1[],double arr2[])

{

arr2=new double[n];

for(int j=0;j

{

for(int i=0;i

{

arr2[j]+=cal1[j][i]*arr1[i];//得到A*w

}

}

System.out.println("*****************打印A*w开始*****************");

for(int i=0;i

{

System.out.println(arr2[i]);//打印权重向量

}

System.out.println("*****************打印A*w结束*****************");

double L=0;//5*namda

for(int i=0;i

{

L+=arr2[i]/arr1[i];

}

double namda=L/n;

return namda;

}

层次分析法java_层次分析法java实现相关推荐

  1. 扩展欧几里得算法java_扩展欧几里得算法

    首先.扩展欧几里得定理:对于两个不全为0的整数a.b,必存在一组解x,y,使得ax+by==gcd(a,b); int gcd(int a,intb) {intt,d;if(b==0) { x=1; ...

  2. 怎样计算权重?——层次分析法、熵值法:工具+数据+案例+代码

    1权重系数的计算 计算权重是一种常见的分析方法,在实际研究中,需要结合数据的特征情况进行选择,比如数据之间的波动性是一种信息量,那么可考虑使用CRITIC权重法或信息量权重法:也或者专家打分数据,那么 ...

  3. 基于层次分析法与熵权法的主客观组合赋权模型(原创:小青龙)

    基于层次分析法与熵权法的主客观组合赋权模型 组合赋权大家可以尝试进行改变,一个主观一个客观.(原创:小青龙) 简介 ​ 权重是用来衡量总体中各单位标志值在总体中作用大小的数值, 用来描述单因子在因子集 ...

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

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

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

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

  6. 【论文速递】基于改进层次分析法与熵权法的目标选择模型

    [论文原文]:基于改进层次分析法与熵权法的目标选择模型 作者信息: 张指辉,张毅,李健宁 获取地址:https://kns.cnki.net/kcms2/article/abstract?v=3uoq ...

  7. java 象限分析_四象限分析法

    四象限分析法,也叫矩阵分析法,是指将事物(如产品.服务等)的两个重要属性(指标)作为分析的依据,进行分类关联分析,找出解决问题的一种分析方法. 以属性A为横轴,属性B为纵轴,组成一个坐标系,在两坐标轴 ...

  8. python灰色关联度分析_灰色关联分析法 python

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文2290字,预计阅读需10分钟: 关联分析(association anal ...

  9. 不重不漏的分析方法:MECE分析法

    MECE分析法 麦肯锡的巴巴拉·明托(Barbara Minto)顾问在金字塔原理中提到的一个重要原则就是MECE,那么满足MECE的分析方法就是MECE分析法,全称 Mutually Exclusi ...

最新文章

  1. python装饰器函数-Python函数装饰器指南
  2. 一次 Druid 连接池泄露引发的血案!
  3. TI-BLE协议栈的GAP
  4. java 观察者模式_Java技术干货分享:深入理解观察者模式原理与技术
  5. Kettle连接Hive2的问题解决思路
  6. 56秒看完131年英格兰顶级联赛冠军排行:利物浦时隔30年再夺冠
  7. aes加密 js_吊打SRC的加密传输实现SQLi挖掘
  8. mysql 额外内存池_MySQL探秘(三):InnoDB的内存结构和特性
  9. oracle database version,Oracle Database Version History
  10. xmos驱动_独家!XMOS发表最新Xcore.ai“跨界处理器”
  11. c语言编写打字母游戏代码,求一个用C语言编写的小游戏代码
  12. Springboot专利申请服务平台 毕业设计-附源码260839
  13. patch补丁文件格式
  14. 使用axure RP8 画UI原型图
  15. 为什么总是封板又打开涨停_多次涨停多次被打开,涨停板打开然后封住反复
  16. html中如何使用input表单隐藏域?
  17. Showwindow及参数介绍
  18. 科技爱好者周刊(第 108 期):阵地战与奇袭战
  19. mac 设置网红屏保
  20. app推广:转化率低才是最大的浪费

热门文章

  1. 松下PLC FP-XHC60T 程序 两个PLC通信控制11个轴 程序稳定已批量生产 注释完整 带威纶通触摸屏程序
  2. python opencv 读取视频保存视频片段和图片
  3. DBA平均月薪17000,入职3年感叹这份工作实在是太难了!
  4. linux和华为云计算区别,华为云计算HCIE-Cloud面试宝典(九)
  5. vue2实现海康威视根据海康插件进行监控实时预览和回放功能,全套代码,开箱即用。
  6. JAVA——多线程【线程终止、中断、插队】
  7. 打开回收站提示“回收站已损坏是否清空该驱动器上的回收站“解决方法
  8. [转] COM编程总结
  9. myeclipse下载
  10. Android Context 到底是什么?