层次分析法(AHP)适用于那些难于完全定量分析的问题。运用层次分析建模,大体上可按下面四个步骤进行:

(1)建立递阶层次结构模型;

(2)构造出各层次中的所有判断矩阵;

(3)层次单排序及一致性检验;

(4)层次总排序及一致性检验;

最后,根据总排序权值大小得出决策方案。

MATLAB程序如下:

%层次分析法的matlab程序

disp('请输入判断矩阵A(n阶)');

A=input('A=');

[n,n]=size(A);

x=ones(n,100);

y=ones(n,100);

m=zeros(1,100);

m(1)=max(x(:,1));

y(:,1)=x(:,1);

x(:,2)=A*y(:,1);

m(2)=max(x(:,2));

y(:,2)=x(:,2)/m(2);

p=0.0001;i=2;k=abs(m(2)-m(1));

while k>p

i=i+1;

x(:,i)=A*y(:,i-1);

m(i)=max(x(:,i));

y(:,i)=x(:,i)/m(i);

k=abs(m(i)-m(i-1));

end

a=sum(y(:,i));

w=y(:,i)/a;

t=m(i);

disp(w);disp(t);

%以下是一致性检验

CI=(t-n)/(n-1);RI=[0 0 0.52 0.89 1.12

1.26 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];

CR=CI/RI(n);

if CR<0.10

disp('此矩阵的一致性可以接受!');

disp('CI=');disp(CI);

disp('CR=');disp(CR);

end

输入所构造的矩阵后,可以得出矩阵是否具有较满意的一致性并接受分析结果。(该程序用于层次单排序及一致性检验)

接下来进行层次总排序检验:

在上一程序中可依次得到准则层单排序权值B=[b1 b2......

bn];

方案层单排序权值C1=[c1 c2......,cn];

C2=[m1

m2....,mn];

...........;

Cn=[k1 k2......,kn];

则总排序权值:W1=sum(B.*C1);

W2=sum(B.*C2);

W3=sum(B.*C3);

最后根据总排序权值W的大小来得出决策方案,总排序权值越大,则满意度越大。

matlab层次分析法程序购置设备,[转载]MATLAB实现层次分析程序相关推荐

  1. swot分析法案例_(附数据集)SWOT分析实战案例!

    最近一直在为一件事苦恼,开在市中心的那家西点店的生意越做越好,分店也开了两家,但挣得这点钱还是不够买房子.这不,最近看上了这如火如荼的奶茶市场,想借现有资源开一家奶茶店,但不知道这个想法靠不靠谱,要不 ...

  2. matlab四元一次非线性方程求解,[转载]MATLAB求解非线性方程(转)

    1.解方程 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=i ...

  3. 经验正交函数分析法(EOF)在matlab上的实现

    转载自:https://blog.csdn.net/qq_23860475/article/details/80665289 数据准备 数据集为福建省28个气象站1960-2013年的年际降水量数据, ...

  4. matlab画虫口模型分岔图,[转载]Matlab——混沌分岔图

    经过近期的研究发现,目前对于系统单参数分岔图的计算共有以下的几种方法: 1)最大值法 即对系统微分方程(组)进行求解,对求解的结果用getmax函数进行取点,并绘图. 2)Poincare截面法 对系 ...

  5. matlab保存并关闭excel文件夹,[转载]Matlab批量操作目标文件夹下的Excel文件

    本程序主要使matlab批量操作Excel表,其中用到了parfor并行计算加快处理速度.相同效果,速度上和Excel vba 是有差距的. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...

  6. matlab 为双y轴加标签,[转载]matlab双y轴添加误差棒(转载)

    matlab的双y轴网上有很多方法,但是带置信区间的双y轴就很少了,并且由于网上给的例子一般都是使用红蓝两色,对于只想使用黑色或者灰色的俺们来说太鲜艳啦~ 上图为使用matlab绘制的双y轴带置信区间 ...

  7. 【信号检测】基于matlab自适应滤波法微弱信号检测【含Matlab源码 2308期】

    ⛄一.自适应滤波法微弱信号检测 1 NLMS自适应滤波 1.1 NLMS自适应滤波基本原理 最小均方 (LMS) 误差自适应滤波器[4]是将输入信号x (t) 通过系数可调的加权滤波器后, 与期望的参 ...

  8. matlab的newff函数是用来,[转载]matlab神经网络newff函数的使用

    设[P,T]是训练样本,[X,Y]是测试样本: net=newrb(P,T,err_goal,spread); %建立网络 q=sim(net,p); e=q-T; plot(p,q); %画训练误差 ...

  9. matlab用之前的计算结果递归,[转载]Matlab正则表达式(递归、匹配上下文等)(转载)...

    元字符 描述 .点 匹配任何单个字符.例如正则表达式r.t匹配这些字符串:rat.rut.r t,但是不匹配root. $ 匹配行结束符.例如正则表达式weasel$ 能够匹配字符串"He' ...

最新文章

  1. MDEV Primer
  2. ubuntu12.04中sublime输入中文
  3. netapp更换硬盘
  4. 冒泡排序算法_PHP冒泡排序算法(一)
  5. 树莓派:linux库概念及相关编程(面试重点):以及USB端口号找到不的情况
  6. 如何自动搞定全站图片的alt属性?
  7. C++ 标准库类型 string
  8. 11座城市,58个.NET最新岗位速览,内推直通面试官!
  9. mysql容量性能测试_关于RDS for MySQL的各规格性能测试情况
  10. js 生成二维码_js 生成二维码
  11. c# 中const 和 static readonly 的区别
  12. 推荐系统:参数协同过滤
  13. Ubuntu如何修改用户密码
  14. Java IO 创建文件解决文件名重复问题
  15. MYSQL ALTER命令
  16. c语言直线和圆的方程结论,直线与圆常见公式结论.doc
  17. 华三交换机配置vrrp_H3C S5830V2[S5820V2]系列以太网交换机 典型配置举例-Release 24xx系列-6W100_VRRP典型配置举例-新华三集团-H3C...
  18. Java 截取String类型字符串截掉后两位
  19. 【原创】MacOS 安装 homebrew-cask
  20. Myeclipse安装lombok

热门文章

  1. 【Level 08】U06 Good Feeling L3 Fun-filled concert
  2. 五分钟快速入门 Spring Data JPA
  3. socket套接字TCP API
  4. 关于双向反射率BRDF的定义
  5. Android内存优化(二):一分钟发现内存泄漏
  6. VO(DTO)模式在架构设计中是否需要
  7. win8网络受限官方解决办法
  8. IT-标准化-系列-15.在VPC 2007中构建虚拟网络
  9. java动态数据国际化_基于 AOP 的动态数据国际化框架的设计与实现
  10. 安卓手机端口号怎么查看_微信小程序怎么查看手机便签待办事项?