matlab层次分析法程序购置设备,[转载]MATLAB实现层次分析程序
层次分析法(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实现层次分析程序相关推荐
- swot分析法案例_(附数据集)SWOT分析实战案例!
最近一直在为一件事苦恼,开在市中心的那家西点店的生意越做越好,分店也开了两家,但挣得这点钱还是不够买房子.这不,最近看上了这如火如荼的奶茶市场,想借现有资源开一家奶茶店,但不知道这个想法靠不靠谱,要不 ...
- matlab四元一次非线性方程求解,[转载]MATLAB求解非线性方程(转)
1.解方程 最近有多人问如何用matlab解方程组的问题,其实在matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法: (1)x=i ...
- 经验正交函数分析法(EOF)在matlab上的实现
转载自:https://blog.csdn.net/qq_23860475/article/details/80665289 数据准备 数据集为福建省28个气象站1960-2013年的年际降水量数据, ...
- matlab画虫口模型分岔图,[转载]Matlab——混沌分岔图
经过近期的研究发现,目前对于系统单参数分岔图的计算共有以下的几种方法: 1)最大值法 即对系统微分方程(组)进行求解,对求解的结果用getmax函数进行取点,并绘图. 2)Poincare截面法 对系 ...
- matlab保存并关闭excel文件夹,[转载]Matlab批量操作目标文件夹下的Excel文件
本程序主要使matlab批量操作Excel表,其中用到了parfor并行计算加快处理速度.相同效果,速度上和Excel vba 是有差距的. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% ...
- matlab 为双y轴加标签,[转载]matlab双y轴添加误差棒(转载)
matlab的双y轴网上有很多方法,但是带置信区间的双y轴就很少了,并且由于网上给的例子一般都是使用红蓝两色,对于只想使用黑色或者灰色的俺们来说太鲜艳啦~ 上图为使用matlab绘制的双y轴带置信区间 ...
- 【信号检测】基于matlab自适应滤波法微弱信号检测【含Matlab源码 2308期】
⛄一.自适应滤波法微弱信号检测 1 NLMS自适应滤波 1.1 NLMS自适应滤波基本原理 最小均方 (LMS) 误差自适应滤波器[4]是将输入信号x (t) 通过系数可调的加权滤波器后, 与期望的参 ...
- 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); %画训练误差 ...
- matlab用之前的计算结果递归,[转载]Matlab正则表达式(递归、匹配上下文等)(转载)...
元字符 描述 .点 匹配任何单个字符.例如正则表达式r.t匹配这些字符串:rat.rut.r t,但是不匹配root. $ 匹配行结束符.例如正则表达式weasel$ 能够匹配字符串"He' ...
最新文章
- MDEV Primer
- ubuntu12.04中sublime输入中文
- netapp更换硬盘
- 冒泡排序算法_PHP冒泡排序算法(一)
- 树莓派:linux库概念及相关编程(面试重点):以及USB端口号找到不的情况
- 如何自动搞定全站图片的alt属性?
- C++ 标准库类型 string
- 11座城市,58个.NET最新岗位速览,内推直通面试官!
- mysql容量性能测试_关于RDS for MySQL的各规格性能测试情况
- js 生成二维码_js 生成二维码
- c# 中const 和 static readonly 的区别
- 推荐系统:参数协同过滤
- Ubuntu如何修改用户密码
- Java IO 创建文件解决文件名重复问题
- MYSQL ALTER命令
- c语言直线和圆的方程结论,直线与圆常见公式结论.doc
- 华三交换机配置vrrp_H3C S5830V2[S5820V2]系列以太网交换机 典型配置举例-Release 24xx系列-6W100_VRRP典型配置举例-新华三集团-H3C...
- Java 截取String类型字符串截掉后两位
- 【原创】MacOS 安装 homebrew-cask
- Myeclipse安装lombok