层次分析法解释matlab代码(简单已改)
层次分析法(详解)
第六章层次分析法决策是人们选择或进行判断的一种思维活动,在人们的实践活动中,常常要对某些系统的重要性作出恰当的评价,以便列出它们的轻重缓急,从而集中解决重要的问题。
有些决策是简单易断的,而有些决策则是复杂困难的,因此常常先把复杂问题分解成因素,然后把这些因素按支配关系分组形成有序的递阶层次结构,并衡量各方面的影响,最后综合人的判断,以决定决策诸因素相对重要性的先后优劣次序,这就是层次分析法的基本思路。
层次分析法的(Analytic Hierarchy Process 简记为AHP)是美国著名的运筹学家T.L.Saaty 教授于70年代初首先提出的一种定性与定量分析相结合的多准则决策方法。
该方法是社会、经济系统决策的有效工具,目前在工程计划、资源分配、方案排序、政策制定、冲突问题、性能评价等方面都有广泛的应用。
6.1 层次分析法的基本原理层次分析法的核心问题是排序,包括递阶层次结构原理、测度原理和排序原理。
下面分别予以介绍。
1.递阶层次结构原理。
一个复杂的结构问题可分解为它的组成部分或因素,即目标、准则、方案等。
每一个因素称为元素。
按照属性的不同把这些元素分组形成互不相交的层次,上一层次的元素对相邻的下一层次的全部或部分元素起支配作用,形成按层次自上而下的逐层支配关系。
具有这种性质的层次称为递阶层次。
例如,选拔队员参加数学建模比赛的层次结构如下图6.1所示:图6.1 队员参赛的层次结构图其中Y1:接受能力;Y2:反映能力;Y3:自愿程度;Y4:计算机应用能力;Y5:写作能力;Y11:掌握新知识的能力;Y12:建模能力;Y21:想象能力;Y22:洞察能力;Y31:建模兴趣;Y32:主动程度;Y33:对建模的认识Y41:使用数学软件的能力;Y41:计算机语言编程能力;Y51:中文写作能力;Y52:英文表达能力至于复杂系统的层次结构图,请参看有关的文献。
2.测度原理。
决策就是要从一组已知方案中选择理想的方案,而理想方案一般是在一定的准则下通过使效用函数极大化而产生的。
MatLab层次分析法代码
>>d=eig(A)%求全部特征值所组成的向量
e=max(eig(A));%最大特征值
v=null(A-e*eye(length(A)));%e对应特征向量
>>e
>>A=[13365957;1/31134746;1/31134746;1/61/31/311/241/22;1/51/41/421412;1/91/71/71/41/411/31/2;1/51/41/421312;1/71/61/61/21/221/21];
e=max(eig(A));%最大特征值
v=null(A-e*eye(length(A)));%e对应特征向量
>>e
e=
8.4243
>>v
v=
-0.7427
-0.3893
-0.2579
-0.0985
-0.2588
-0.0519
-0.3352
-0.1966
>>A=[13365957;1/31134746;1/31134746;1/61/31/311/241/22;1/51/41/421412;1/91/71/71/41/411/31/2;1/51/41/421312;1/71/61/61/21/221/21];
0.2579-0.0614+0.3195i-0.0614-0.3195i-0.0739-0.0916i-0.0739+0.0916i-0.1506-0.0176i-0.1506+0.0176i
层次分析法判断矩阵求权值以及一致性检验程序
function [w,CR]=mycom(A,m,RI)[x,lumda]=eig(A);r=abs(sum(lumda));n=find(r==max(r));max_lumda_A=lumda(n,n);max_x_A=x(:,n);w=A/sum(A);CR=(max_lumda_A-m)/(m-1)/RI;end本matlab程序用于层次分析法中计算判断矩阵给出的权值已经进行一致性检验。
其中A为判断矩阵,不同的标度和评定A将不同。
m为A的维数RI为判断矩阵的平均随机一致性指标:根据m的不同值不同。
当CR<0.1时符合一致性检验,判断矩阵构造合理。
下面是层次分析法的简介,以及判断矩阵构造方法。
一.层次分析法的含义层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。
它是一种定性和定量相结合的、系统化、层次化的分析方法。
由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。
它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。
二.层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。
(1)层次分析法的原理层次分析法是将决策问题按总目标、各层子目标、评价准则直至具体的备投方案的顺序分解为不同的层次结构,然后得用求解判断矩阵特征向量的办法,求得每一层次的各元素对上一层次某元素的优先权重,最后再加权和的方法递阶归并各备择方案对总目标的最终权重,此最终权重最大者即为最优方案。
这里所谓“优先权重”是一种相对的量度,它表明各备择方案在某一特点的评价准则或子目标,标下优越程度的相对量度,以及各子目标对上一层目标而言重要程度的相对量度。
层次分析法比较适合于具有分层交错评价指标的目标系统,而且目标值又难于定量描述的决策问题。
matlab计算AHP层次分析法
matlab计算AHP层次分析法第一篇:matlab计算AHP层次分析法用matlab解决层次分析法AHP1、求矩阵最大特征值及特征向量用matlab求:输入:A=[1 1/2 2 1/4;2 1 1 1/3;1/2 1 1 1/3;4 3 3 1][x,y]=eig(A)得出:特征向量x=[0.2688 0.3334 0.2373 0.8720]最大特征值λmax=4.19642、一致性检验CI=(λmax-n)/(n-1)=(4.1964-4)/(4-1)=0.0655 CR=CI/RI=0.0655/0.9=0.0727(注:维数为4时,RI=0.9)CR=0.0727<0.1,矩阵一致性通过检验3、对最大特征值进行归一化处理,即可得到各指标权重(归一化:分项/分项之和)W=[0.157 0.195 0.139 0.510]第二篇:AHP层次分析法层次分析法层次分析法(The analytic hierarchy process,简称AHP),也称层级分析法什么是层次分析法层次分析法(The analytic hierarchy process)简称AHP,在20世纪70年代中期由美国运筹学家托马斯·塞蒂(T.L.Saaty)正式提出。
它是一种定性和定量相结合的、系统化、层次化的分析方法。
由于它在处理复杂的决策问题上的实用性和有效性,很快在世界范围得到重视。
它的应用已遍及经济计划和管理、能源政策和分配、行为科学、军事指挥、运输、农业、教育、人才、医疗和环境等领域。
层次分析法的基本思路与人对一个复杂的决策问题的思维、判断过程大体上是一样的。
不妨用假期旅游为例:假如有3个旅游胜地A、B、C供你选择,你会根据诸如景色、费用和居住、饮食、旅途条件等一些准则去反复比较这3个候选地点.首先,你会确定这些准则在你的心目中各占多大比重,如果你经济宽绰、醉心旅游,自然分别看重景色条件,而平素俭朴或手头拮据的人则会优先考虑费用,中老年旅游者还会对居住、饮食等条件寄以较大关注。
使用Matlab程序实现层次分析法(AHP)的简捷算法
使用Matlab程序实现层次分析法(AHP)的简捷算法作者:于晶来源:《科技风》2016年第16期摘要:层次分析法简便易懂,可操作性和实用性强,但是构造判断矩阵往往不容易,计算判断矩阵的特征值特别繁琐且易出错,得到的一致性检验不易调整,这些都给使用层次分析法带来困难,以往使用办公软件电子表格(Excel)的方法计算单层次排序和总层次排序,这种方法使得计算和一致性检验变得容易,文本使用Matlab程序使得计算变得更容易,也使得层次分析法在多个领域得到推广和应用。
关键词:层次分析法;Excel;matlab1 层次分析法(AHP法)的原理和解决思路层次分析法是对定性问题进行定量分析的一种简便、灵活而又实用的多准则决策方法。
它的原理是模拟人的决策过程,具有思路清晰、方法简便、适用面广、系统性强等特点。
是解决多目标、多准则、多层次复杂问题决策或者大型工程风险分析的有力工具。
层次分析法解决问题的思路就是用下一次因素的相对排序求得上一次因素的相对排序。
按照因素之间的相互影响和隶属关系将各层次因素聚类组合,形成一个递进有序的层次结构模型。
2 层次分析法的应用难点2.1合适的判断矩阵构造不易模型确定后,按照模型层次结构和模型的各因素的相对重要性,综合专家群体咨询意见,采用标度法[ 1 ],从数字1/9一9中选取恰当值,构造各层的判断矩阵,并使之尽量符合一致性检验,这一步成为问题的关键。
但实际上系统越复杂,判定矩阵的阶数就会越高,计算就会越困难。
2.2计算量大,步骤繁琐层次分析法首先要求的就是判断矩阵的最大特征值?姿max,及其正规化的特征向量w,向量w的分量wi是相应因素的单层次权值,这部分计算理论上基于线性代数知识,不用计算机也可以将其计算出来。
但实际上,当矩阵的阶数高于4阶时,人工计算就变得相当困难且易出错,如使用计算机计算,就容易得多,常用的方法有Basic语言,电子表格Excel等方法。
但计算量都有待改进。
层次分析法
层次分析法(AnalCtic HierarchC Process, AHP )数学用于研究自然与社会现象的方法主要有:● 机理分析——用经典的数学工具分析现象的因果关系;● 统计分析——以随机数学为工具,通过大量观测数据寻求统计规律.近年来发展起来的第三种方法称为系统分析,层次分析是系统分析的工具之一,它是美国运筹学教授Saaty 于70年代初期提出来的. 它把人的思维过程层次化、数量化,并用数学方法为分析、决策、预报或控制提供定量的依据. 这是一种定性与定量相结合的方法. 步骤:1) 将问题条理化、层次化,构造出一个有层次的结构模型. 层次分为三层:目标层、准则层和方案层.………… …2) 比较同一层次元素对上一层次同一目标的影响,从而确定题目在目标中所占的比重. 采用两两比较的方法,求出它们对于同一个目标的重要性的比例标度,标度等级为1, 2, …, 9, 1/2, 1/3, …, 1/9. 得到两两比较判断矩阵. 1—9标度的含义为:1—两个元素同等重要(相等) 3—前者稍重要(较强) 5—前者明显重要(强) 7—前者强烈重要(很强) 9—前者极端重要(绝对强) 2,4,6,8为上述判断的中间值.3) 确定各准则对于目标的权重,及各方案对于每一准则的权重. (在单一准则下计算元素相对排序权重,以及判断矩阵一致性检验.) 4) 计算方案层中元素对于目标层的总排序权重,从而确定首选方案.(将方案层对准则层的权重及准则层对目标层的权重进行综合,最终确定方案层对目标层的权重.)成对比较法,正互反阵和一致阵设要比较的n 个因素C ={C 1, …, C n }对目标O 的影响,确定它们在O 中的比重. 每次取两个因素C i 和C j ,用a ij 表示对C i 和C j 对O 的影响之比:a ij >0, a ji =1ija (i , j =1, 2, …, n ) (1) A=(a ij )称为成对比较阵或判断矩阵. 满足(1)的矩阵称为正互反阵. 成对比较阵是正互反阵.例如:考虑旅游问题. 设有三个地点供选择:桂林P 1、黄山P 2、北戴河P 3. 问如何在三个目的地中按照:费用C 1,景色C 2,居住C 3,饮食C 4,交通C 5这五个因素进行选择.设某人用成对比较法得到的成对比较阵为127551/214331/71/411/21/31/51/32111/51/3311A ⎛⎫⎪⎪⎪ ⎪⎪ ⎪⎝⎭= (2)其中a 12表示费用C 1与景色C 2对选择旅游地这个目标O 的重要性之比为2:1, a 13表示费用C 1与居住条件C 3之比为7:1, a 23表示景色C 2与居住条件C 3之比为4:1,可以看出此人在选择旅游地时,费用因素最重,景色次之,居住条件再次. 怎样由成对比较阵确定诸因素C 1,C 2,…,C n 对上层因素O 的权重呢? 分析:(2)式给出的成对比较阵A 中,C 1与C 2之比为2:1, C 2与居住条件C 3之比为4:1,那么C 1与C 3之比应为8:1, 但C 1与C 3之比为7:1,这种情况称为这三个因素成对比较不一致. (即a 12·a 23=2·4≠7= a 13)全部一致的要求太苛刻,因此Saaty 等人给出了在成对比较不一致的情况下计算各因素C 1,C 2,…,C n 对上层因素O 的权重的方法.设想把一块单位重量的大石头O 砸成n 块小石头C 1,C 2,…,C n ,如果精确地称出它们的重量为12,,,n w w w ,在作成对比较时有a ij =ijw w ,则得到111122221212n n n n n n w w w w w w w w w A w w w w w w ⎛⎫⎪ ⎪ ⎪⎪ ⎪ ⎪⎪⎪⎪⎝⎭= (3) 这些比较显然是一致的. n 块小石头对大石头的权重(即在大石头中的重量之比)可用向量12(,,,)Tn w w w =w 表示,且11ni i w ==∑. 显然A 的各个列向量与w 仅相差一个比例因子.一致阵:如果一个正互反阵A 满足a ij ·a jk =a ik (i , j , k =1, 2, …, n ) (4)则称A 为一致阵.例如矩阵1261/2131/61/31A ⎛⎫⎪⎪ ⎪⎝⎭= (5) 是一致阵.可以验证:若A 为n 阶一致矩阵,则有 A n =w wn 阶一致阵A 有下列性质: (1)A 的秩为1;(2)A 的最大特征根为max n λ=,其余特征根均为零 (3)n 阶正互反阵是一致阵⇔max n λ=.例如 (5)中矩阵为一致阵,则max 3λ=.权向量:max λ的标准化特征向量: (1) 一致阵的权向量:例如(5)中矩阵1261/2131/61/31A ⎛⎫⎪⎪ ⎪⎝⎭=为一致矩阵,则max 3λ=,权向量为max λ的标准化特征向量:(0.6,0.3,0.1)T =w(2) 不一致阵的权向量:例如 1261/2141/61/41A ⎛⎫⎪⎪ ⎪⎝⎭=,max 3.01λ=,(0.588,0.322,0.09)T =w max λ比n 大得越多,A 不一致的程度就越严重,用w 表示C 1,C 2,…,C n 在O 中所占比重时的偏差就越大.附:求特征值特征向量的matlab 程序 >>A=[1 2 6; 1/2 1 4; 1/6 1/4 1];>>[x,D]=eig(A) %x 为特征向量,D 的主对角线元素为特征值一致性指标衡量不一致程度的数量指标叫做一致性指标. Saaty 将他定义为max 1n CI n λ-=-对于一致阵,一致性指标CI =0.CI 越大,A 的不一致性程度越严重.为了找出衡量一致性指标CI 的标准,Saaty 提出一种方法. 对固定的n ,随机地构造正互反阵A ,其中ij a ()i j <随机地从1/9,,1/2,1,2,,9 当中取出一数,由于其随机性,这样的A是非常不一致的,它的CI 相当大. 如此构造相当多的A,用它们的CI 的平均值作为随机一致性指标. Saaty 对于不同的n ,用100~500个样本A算出最大特征值的平均值max λ ,定义随机性指标为 max 1n RI n λ-=- 得到RI 的数值如下表所示表:随机性指标RI 的值(计算RI 的过程:对于固定的n ,随机的构造正互反矩阵A ’(它的元素a ij ’(i<j )从1~9,1~1/9中随机取值),然后计算A ’ 的一致性指标CI . 可以想到,A ’是非常不一致的,它的CI 相当大. 如此构造相当多的A ’,用它们的CI 的平均值作为随机一致性指标. Saaty 对于不同的n ,用100~500个样本A ’ 算出的随机一致性指标RI 的数值如上表所示)当C I <0.1RI时,认为A 的不一致性仍可接受. 称 CICR RI=为一致性比率指标,当CR <0.1时,认为判断矩阵的一致性是可以接受的.下面介绍计算最大特征值max λ和特征向量w 的一种近似方法(和法),步骤如下:a. 将A 的各个列向量归一化得1ˆijijij ni a a w==∑;b. 对ˆij w按行求和得1ˆˆni ij i w w ==∑; c. 将ˆi w 归一化1ˆˆii i ni ww w ==∑,12(,,,)T n w w w w = 即为近似特征向量;d. 计算1max ˆ()1ˆˆn i i iA n λ==∑w w,作为最大特征根的近似值.这个方法实际上是将A 的列向量归一化后取平均值,作为A 的特征向量. 因为当A 为一致阵时它的每一列向量都是特征向量,所以若A 的不一致性不严重,则取A 的列向量(归一化后)的平均值作为近似特征向量是合理的.例如:1261/2141/61/41A ⎛⎫⎪⎪ ⎪⎝⎭= 列向量归一化0.60.6150.5450.30.3080.3640.10.0770.091⎛⎫ ⎪⎪ ⎪ ⎪⎝⎭按行求和1.7600.9720.268⎛⎫ ⎪⎪ ⎪⎝⎭ 归一化0.5870.3240.089w ⎛⎫ ⎪ ⎪ ⎪⎝⎭=,Aw =1.7690.9740.268⎛⎫⎪⎪ ⎪⎝⎭max 11.7690.9740.268 3.00930.5870.3240.089ˆλ⎛⎫ ⎪ ⎪⎝⎭=++= 精确计算给出()0.5880.3220.090Tw =, 3.010λ=. 二者相比相差甚微.max 3.00930.00450.10.582ˆ1n CI n λ-==<⨯-=-3n =时,RI =0.58,0.1CIRI< ∴ 认为A 的不一致性是可以接受的. 课堂练习:判断矩阵W=136115311165⎛⎫ ⎪ ⎪⎪ ⎪ ⎪ ⎪⎝⎭的一致性是否可以接受. 回到旅游问题(1)先确定准则层关于目标层的比重 准则层关于目标层的成对比较阵为127551/214331/71/411/21/31/51/32111/51/3311A ⎛⎫⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭=列向量归一化0.48950.51060.41180.47620.48390.24480.25530.23530.28570.29030.06990.06380.05880.04760.03230.09790.08510.11760.09520.09680.09790.08520.17650.09530.0967A ⎛⎫⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭=按行求和 2.37201.31140.27240.49260.5516⎛⎫⎪⎪⎪ ⎪⎪⎪⎝⎭ 归一化0.47440.26230.05450.09850.1103⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭=ˆw ˆ(2.4245,1.3439,0.2739,0.5001,0.5546)T A =wm a x ˆλ1 2.42451.34390.27390.50010.5546() 5.072950.47440.26230.05450.09850.1103=++++= m a x 0.07290.01824ˆ1n CI n λ==-=- 5n =时,RI =1.12,0.1CIRI<故A 的不一致性可以接受A .()C w =ˆw =0.47440.26230.05450.09850.1103⎛⎫ ⎪ ⎪⎪ ⎪ ⎪ ⎪ ⎪⎝⎭代表C 1,C 2,C 3,C 4,C 5在O 中分别所占比重,即准则层关于目标层的比重已确定.(2)再确定方案层关于准则层的比重设123{,,}P P P P =对i C 的成对比较阵为:1111381313831B ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎪ ⎪⎝⎭= 212511211152B ⎛⎫⎪ ⎪⎪⎪ ⎪ ⎪ ⎪⎝⎭= 113113311133B ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭= 413411131114B ⎛⎫⎪ ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭= 511141114441B ⎛⎫ ⎪ ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭=由于3n =, 0.58RI =,故()/0.1i RI CI <(1,2,...,5)i =,所以51B B 的不一致性都可以接受.最终目的是要得到123,,P P P 在O 中所占的比重. (3)确定方案层关于目标层的比重123()((),(),())P w P w P w P =w11()()()C C P P =w w w0.0820.460.5950.260.4=⨯+⨯+⨯ 0.6330.10.1660.13+⨯+⨯0.299= 22()()()0.245C C P P ==w w w 33()()()0.456C C P P ==w w w()(0.299,0.2450.456),T P =w3P 为第一选择.总结:AHP 的计算步骤1) 建立系统的层次结构,一般分为三层:目标层、准则层和方案层 2) 给出方案之间、准则之间的两两比较矩阵; 3) 计算每个矩阵的特征向量; 4) 计算每个矩阵的最大特征值; 5) 一致性检验; 6) 方案的总排序.附录方阵的特征值与特征向量定义1 设A 是n 阶方阵,如果存在λ和n 维非零列向量x ,使得λ=Ax x ,则称数λ为的A 特征值,并称非零列向量x 为A 的属于λ的特征向量.例如:对1221A ⎛⎫ ⎪ ⎪⎝⎭=,有λ=3及向量11x ⎛⎫ ⎪ ⎪⎝⎭=,使得1221⎛⎫ ⎪ ⎪⎝⎭31111⎛⎫⎛⎫= ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭,这说明λ=3是A 的特征值,11x ⎛⎫ ⎪ ⎪⎝⎭=是A 对应于λ=3的特征向量. 对于这个定义我们应注意到:特征向量≠0x . 否则由于对任何数λ,都有λ=00A ,从而任何数都是A 的特征值,这样的定义显然是不合理的。
一、MATLAB之基础入门代码
⼀、MATLAB之基础⼊门代码序⾔本篇旨在列出matlab⼊门及在科研中必须掌握的⼀些基础代码,主要内容包括:matkab矩阵运算、绘图、函数流程控制、⽂件、图像、函数等基本操作,以便于随查随⽤,⾄于常⽤的算法本篇鲜有涉及。
%% matlab总述% matlab中基本数据结构是矩阵,即使单独⼀个数也视为⼀个1*1的矩阵%%%% 矩阵创建&赋值操作a=5;b=[1 2 3];c=[1;2;3];d=[1 2 3;4 5 6;7 8 9];x=[0:0.5:2]; % 0.5是步长x=zeros(4); % 4*4零矩阵x=zeros(2,3);% 2*3零矩阵x=ones(5,5); % 1矩阵x=eye(5); % 5阶单位阵,与Octave语法完全⼀致[r,c]=size(x); % 返回x矩阵的⼤⼩x=linspace(0,3,5); % 0到3间均匀⽣成5个点,⽣成函数的采样点[x,y,z]=meshgrid([],[],[]); % ⽤以⽣成函数的采样点%%%% matlab中的保留字piInf % ⽆穷⼤NaN % 未定式,0/0%%%% 数组计算a=a+b;a=a-b;% 数组加减a=b*c;a=b*inv(x)% 数组乘除 inversea=b.*c; % 对应位操作./ .* .^a=a';a=a(:);% 数组拉直%%%% 数组索引与操作% 括号是索引符号,如([],[])x=a(2,2);x=a(5);x=a(1:2,3:4); %([],[])x(x>72)=x(x>72)-72 % 数组的逻辑索引,x>72⾃⾝就是⼀个0/1⼆维数组,x(x>72)就是访问对应为1位置处的值% 数组赋值/改值a(2,2)=0a(5)=9a(1:2,3:4)=ones(2,2)a(1:2,[3,4,7,11])=ones(2,2) % matlab中[1:9],1:9是基本数据类型%%%% 数组的⽐较和逻辑运算,符合条件的同⼀位置为1,不符合则为0x=[1 2 3 4 5 6 7];y=[1 2 4 5 5 6 8];eq=(x==y); %上⾯说过了,x==y⾃⾝也是⼀个0/1⼆维数组eq=(x>2)&(y<5); % 与 &两边既可以是标量也可以是向量 VS. &&两边只能是标量eq=(x>2)|(y<5); % 或eq=xor(x>4,y<5); % 异或x(x<3)=-1; % (x<3)是⼀个0/1数组,x(x<3)就是把(x<3)数组中1对应位置的位置访问,再将访问到的位置赋值1,⽐较和逻辑运算与数组索引结合xy=[x,y]; xy=[x;y]; % ⽤已有数组构建新数组,数组融合img=cat(3,R,G,B); % ⾼级数组融合xy(:,xy(1,:)<4)=0 %逻辑运算结果矩阵也可以⽤来数组索引%%%% 数组操作函数x=[1 2 3;4 5 6;7 8 9];x=flipud(x);%上下转x=fliplr(x);%左右转x=rot90(x);%逆时针旋转90度x=pinv(x);%数组求(伪)逆sum(x,1); % x每列求和sum(x,2); % x每⾏求和sum(x(:)); % 求全和,:表⽰将数组拉直maxn=max(x);% 返回每列最⼤值maxn=max(x);% 返回每列最⼤值maxn=max(x(:)); % 返回全局最⼤值min(); % ⽤法同max()%%%% 常⽤数学函数% 注意matlab中矩阵是基本数据结构,因此所有函数都是对矩阵中每个x_i操作y=sin(x);y=abs(x);%绝对值y=sqrt(x);%开⽅y=ceil(x);%向上取整y=floor(x);%向上取整y=round(x);%四舍五⼊取整y=rand(r,c);%⽣成随机矩阵b=sum(a,idm);%求和函数,dim=1 表⽰对每⼀列求和,dim=2 表⽰对每⼀⾏求和tabulate(detect_result)% detect_result是⼀个列向量,该函数⽤以频数、频率统计%%%% MATLAB函数基本语句for i=1:2:100 %endwhile 1if a<1breakendendfunction [output1,]=functionname(input1,) % 函数定义command1command2output1=%%%% 基本绘图%plotx=0:0.001*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,'-ob','LineWidth',1.5) % 标出数据点的折线图hold onplot(x,z,'rs') % 散点图drawnow % 动画图xlabel('x')ylabel('y')title('图')axis equal % 两轴单位长度相等axis([-2,2,-2,2]) % 控制坐标轴范围set(gca,'XTick',0:pi/2:4*pi); % 设置坐标轴刻度间距,⼀般与下⼀⾏命令搭配set(gca,'XTickLabel',{'0','0.5*pi','pi','1.5*pi','2*pi','2.5*pi','3*pi','3.5*pi','4*pi'})% 设置坐标轴刻度标号xlim([-2,2]) % 控制坐标轴范围text(0,0,'(0,0)') % 在数据曲线上点(x,y)处,标出'(3,5)'legend('cos(x)','sin(x)','sin(x)-cos(x)') % 依照绘图的顺序依次标注图例saveas(gcf,strcat('ch',num2str(i),'.emf')) % 保存plot图⽚,gcf是plot的句柄plot(X)%绘制⼆维矩阵,以⾏号为横坐标,各列为纵坐标plot(X);% plot制作动图for k=1:10plot (fft(eye(k+10))) % eye()单位阵,fft()傅⾥叶变换,plot()绘制矩阵axis equalM(k)=getframe; % 截取当前窗⼝作为影⽚帧endmovie(M,50) %播放多帧图⽚,M 50次%极坐标plar(theta,r,LineSpec)t=0:0.1:3*pi;polar(t,abs(cos(5*t)));% 快速⽅程绘图fplot('x-cos(x^2)',[-4,4]);% 绘制y=x-cos(x^2)ezplot('y-f(x),[-6 6 -8 8]');% ezplot('⽅程式',[xmin xmax ymin ymax])ezplot('cos(3*t)','sin(3*t)',[0:2*pi]);% ezplot('x参数式','y参数式',[tmin,tmax])%%%% 参数⽅程作图(可以画出很有趣的⾮函数图像)t=0:pi/50:2*pi;x=sin(t);y=cos(t);plot(x,y)axis([-1.1,1.1,-1.1,1.1])axis equal%%%%x=sin(t)y=cos(t)z=tplot3(x,y,z) % 三维曲线参数⽅程作图grid on % 开⽹格%%%%三维曲⾯[x,y]=meshgrid(-pi:0.1:pi); % 画函数采样点z=sin(x).*cos(y);mesh(x,y,z) % 画三维曲⾯figure() % 开新画板surf(x,y,z) % 画中间插值的三维曲⾯(有渲染效果)%%%% ⽂件数据读取% .txt纯数据⽂件⽂件data=load('c:\desktop\score.txt')% .txt⽂本⽂件fid=fopen('score.txt','r')line1=fgetl(fid)%数据按分割%数据类型转换line2=fgetl(fid)fclose(fid);fid=fopen('score.txt','w')fprintf(fid,'会当凌绝顶’)fprintf(fid,'%d⽉⼯资 %6.1f\n',[1,2,3,4;20000,19999,20010,25000,23000])fclose(fid);% excel⽂件data=xlsread('filename.xls','Sheet1','A3:C6');data(isnan(data))=0;%空位补零xlswrite('filename.xls',{'t','w'},'Sheet1','B1:C1')%图⽚⽂件img=imread('leave.jpg')% 图⽚读取image(img) % 图⽚显⽰lip(234:435,112:300,:)%图⽚切⽚imshow(lip) % 图⽚显⽰imwrite(img,'c:\\desktop\\figure.emf')% UI交互式导⼊图⽚[FileName PathName FilterIndex]=uigetfile({'*.jpg','*.bmf'},'请导⼊图⽚','*.jpg','MultiSelect','on') if ~ FilterIndexreturnend%视频⽂件data=VideoReader('sport.avi')% data是⼀结构体frame=read(data,25)% 读取视屏中的某⼀帧,即图⽚imshow(frame)% 对视频处理就是循环处理每⼀帧%%%% 线性⽅程求解、拟合、回归x=A\B%⼀元线性拟合x=[2.410 2.468 2.529 2.571 2.618 2.662 2.715 2.747 2.907 2.959 2.997];y=[0 0.800 1.695 2.290 2.965 3.595 4.365 4.810 7.125 7.890 8.425];a=polyfit(x,y,1)%⼀阶拟合 y=a1 x+ a2y=polyval(a,x) % 获得拟合表达式%⾃定义拟合p=fittype('a*x+b*sin(x)+c');% 指定拟合模型f=fit(x,y,p)% 获得拟合函数,x和y必须为列向量plot(f,x,y)% 画出拟合图%差值 x=[1:10] y=[1:10],线性回归求xi对应的yiyi=interp1(x,y,xi,'linear');%线性回归 y=f(x1,x2,x3)%%%%微分⽅程求解%解析解syms y(x);ode=diff(y,x)-y==0;init=y(0)==1;dsolve(ode,init)%dsolve('D2y+4*Dy+24*y=0','y(0)=0,Dy(0)=15','x')%尤克—库塔数值解%%% 符号对象的创建,matlab中之前都是数值计算,这⾥是符号运算a=sym([1/2 sqrt(5)]);y=sym('2*sin(x)*cos(x)');y=simple(y);syms x y;z=cos(x)*sin(y);% 符号表达式及函数的创建, matlab默认是数值运算,符号运算需要提前声明。
学习matlab程序-简单示例
Matlab 编程示例.程序结构及函数作用在软件Matlab 中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab 种自带程序实现。
下面主要主要介绍利用Matlab 的矩阵计算功能编程实现主成分分析。
1程序结构主函数子函数2函数作用Cwstd.m ——用总和标准化法标准化矩阵Cwfac.m ——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷Cwscore.m ——计算各主成分得分、综合得分并排序Cwprint.m ——读入数据文件;调用以上三个函数并输出结果3.源程序3.1 cwstd.m 总和标准化法标准化矩阵%cwstd.m,用总和标准化法标准化矩阵function std=cwstd(vector)cwsum=sum(vector,1); %对列求和[a,b]=size(vector); %矩阵大小,a 为行数,b 为列数for i=1:afor j=1:bCwprint.m Cwstd.m Cwfac.m Cwscore.mstd(i,j)= vector(i,j)/cwsum(j);endend3.2 cwfac.m计算相关系数矩阵%cwfac.mfunction result=cwfac(vector);fprintf('相关系数矩阵:\n')std=CORRCOEF(vector) %计算相关系数矩阵fprintf('特征向量(vec)及特征值(val):\n')[vec,val]=eig(std) %求特征值(val)及特征向量(vec)newval=diag(val) ;[y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引fprintf('特征根排序:\n')for z=1:length(y)newy(z)=y(length(y)+1-z);endfprintf('%g\n',newy)rate=y/sum(y);fprintf('\n贡献率:\n')newrate=newy/sum(newy)sumrate=0;newi=[];for k=length(y):-1:1sumrate=sumrate+rate(k);newi(length(y)+1-k)=i(k);if sumrate>0.85 break;endend %记下累积贡献率大85%的特征值的序号放入newi中fprintf('主成分数:%g\n\n',length(newi));fprintf('主成分载荷:\n')for p=1:length(newi)for q=1:length(y)result(q,p)=sqrt(newval(newi(p)))*vec(q,newi(p));endend %计算载荷disp(result)3.3 cwscore.m%cwscore.m,计算得分function score=cwscore(vector1,vector2);sco=vector1*vector2;csum=sum(sco,2);[newcsum,i]=sort(-1*csum);[newi,j]=sort(i);fprintf('计算得分:\n')score=[sco,csum,j]%得分矩阵:sco为各主成分得分;csum为综合得分;j为排序结果3.4 cwprint.m%cwprint.mfunction print=cwprint(filename,a,b);%filename为文本文件文件名,a为矩阵行数(样本数),b为矩阵列数(变量指标数)fid=fopen(filename,'r')vector=fscanf(fid,'%g',[a b]);fprintf('标准化结果如下:\n')v1=cwstd(vector)result=cwfac(v1);cwscore(v1,result);4.程序测试例题4.1原始数据中国大陆35个大城市某年的10项社会经济统计指标数据见下表。
层次分析matlab代码(全)
9.0 8.2 8.0 7.8 9.0 9.5 5;
9.6 9.1 8.1 9.9 8.7 9.7 6;
9.5 9.6 8.3 8.1 9.0 9.3 7;
8.6 8.3 8.2 8.1 9.0 9.0 5;
A=[1 2 3 4 5 6 7;
1/2 1 2 3 4 5 6;
1/3 1/2 1 2 3 4 5;
1/4 1/3 1/2 1 2 3 4;
1/5 1/4 1/3 1/2 1 2 3;
1/6 1/5 1/4 1/3 1/2 1 2;
1/7 1/6 1/5 1/4 1/3 1/2 1;];
Evalues4=diag(Eigenvalues4);
Evalues5=diag(Eigenvalues5);
Evalues6=diag(Eigenvalues6);
Evalues7=diag(Eigenvalues7);
%最大特征值lamdaMax,及其一次性指标ci和一次性检验cr
[maxEvalue1,point1]=max(Evalues1);lamdaMax1=maxEvalue1;
for i=1:20
for j=1:20
p6(i,j)=B(i,6)/B(j,6);
end
end
p6;
for i=1:20
for j=1:20
p7(i,j)=B(i,7)/B(j,7);
end
end
p7;
%特征值矩阵Eigenvalues 特征向量Eigenvector
%判断矩阵阶数 n
n=size(A,1)
MATLAB 层次聚类
MATLAB 层次聚类应用简述MATLAB的统计工具箱中的多元统计分析中提供了聚类分析的两种方法:1.层次聚类hierarchical clustering2.k-means聚类这里用最简单的实例说明以下层次聚类原理和应用发法。
层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。
层次聚类的过程可以分这么几步:(1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征对象之间差异的距离,例如最简单的平面上点的聚类中,最经常使用的就是欧几里得距离。
这在MATLAB中可以通过Y=pdist(X)实现,例如>> X=randn(6,2)X =-0.4326 1.1892-1.6656 -0.03760.1253 0.32730.2877 0.1746-1.1465 -0.18671.1909 0.7258>> plot(X(:,1),X(:,2),'bo') %给个图,将来对照聚类结果把~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~图1~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>> Y=pdist(X)Y =Columns 1 through 141.7394 1.0267 1.2442 1.5501 1.6883 1.8277 1.9648 0.54012.9568 0.2228 1.3717 1.1377 1.4790 1.0581Column 152.5092例子中X数据集可以看作包含6个平面数据点,pdist之后的Y是一个行向量,15个元素分别代表X的第1点与2-6点、第2点与3-6点,......这样的距离。
那么对于M个点的数据集X,pdist之后的Y将是具有M*(M-1)/2个元素的行向量。
Y这样的显示虽然节省了内存空间,但对用户来说不是很易懂,如果需要对这些距离进行特定操作的话,也不太好索引。
Matlab求解层次分析法程序代码【求解步骤代码】
性判断矩阵, 每一列归一化后近似其相应的权重, 在对这 n 个列向量求取算术平均值作为最
后的权重。具体的公式是:
a 1 n
ij
Wi
a n j 1 n kl
k1
需要注意的是,在层层排序中,要对判断矩阵进行一致性检验。 在特殊情况下, 判断矩阵可以具有传递性和一致性。 一般情况下, 并不要求判断矩阵 严格满足这一性质。 但从人类认识规律看, 一个正确的判断矩阵重要性排序是有一定逻辑规 律的,例如若 A 比 B 重要, B 又比 C重要,则从逻辑上讲, A 应该比 C 明显重要,若两两比 较时出现 A 比 C 重要的结果,则该判断矩阵违反了一致性准则,在逻辑上是不合理的。 因此在实际中要求判断矩阵满足大体上的一致性, 需进行一致性检验。 只有通过检验, 才能说明判断矩阵在逻辑上是合理的,才能继续对结果进行分析。
层排序, 其排序权重记为 b1 j , b2 j , ,bmj j 1,2, , n ,则方案层 P 中第 i 个方案 Pi 的总
n
排序权重为
a jbij ,见下表:
j1层Leabharlann CC1C2Cn
层次 P
a1
a2
an
P1
b11
b12
b1n
P2
b21
b22
b2n
P 层总排序权重
n
a j b1 j
j1
n
a jb2 j
设填写后的判断矩阵为 A=(aij ) n×n,判断矩阵具有如下性质:
网络
(1) a ij 〉0
(2) a ji =1/ a ji
(3) a ii =1
根据上面性质,判断矩阵具有对称性,因此在填写时,通常先填写
aii =1 部分,然后
MATLAB层次分析法
C11
C1
0
桥梁 D1
隧道 D2
渡船 D3
(1)过河效益层次结构
例3 横渡江 河、海峡方 案的抉择
经济代价 B1
过河的代价 A
社会代价 B2
环境代价 B3
投 操 冲冲 交 居 汽 对 对
入 作 击击 通 民 车 水 生
资 维 渡生 拥 搬 排 的 态
金 护 船活 挤 迁 放 污 的
C1 C2 业 方 C5 C6 物 染 破
关
献
入
展
誉
系
对外 贸易
位 置
供选择的岗位
例3 横渡江 河、海峡方 案的抉择
经济效益 B1
过河的效益 A
社会效益 B2
节 收岸 当 建安 交 自
省 入间 地 筑全 往 豪
时 C2 商 商 就 可 沟 感
间
业 业 业 靠 通 C8
C1
C3 C4 C5 C6 C7
环境效益 B3
舒进 美
适出 化
C9
方 便
Ci : C j aij
A
(aij )nn , aij
0,
a ji
1 aij
选 择
1 1/ 2 4 3 3
2
1
7
5
5
A~成对比较阵
旅 A 1/ 4 1/ 7
游 地
1/ 3
1/ 5
1/ 3 1/ 5
1 2
1/ 2 1
1/ 3
1
A是正互反阵
3 1 1
要由A确定C1,…, Cn对O的权向量
2
n
min
wi ( i1,,n ) i1
n j1 ln aij
ln wi wj
Matlab建模教程层次分析法
第八章 层次分析法层次分析法(Analytic Hierarchy Process ,简称AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。
它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。
§1 层次分析法的基本原理与步骤人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。
层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。
运用层次分析法建模,大体上可按下面四个步骤进行:(i )建立递阶层次结构模型;(ii )构造出各层次中的所有判断矩阵;(iii )层次单排序及一致性检验;(iv )层次总排序及一致性检验。
下面分别说明这四个步骤的实现过程。
1.1 递阶层次结构的建立与特点应用AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。
在这个模型下,复杂问题被分解为元素的组成部分。
这些元素又按其属性及关系形成若干层次。
上一层次的元素作为准则对下一层次有关元素起支配作用。
这些层次可以分为三类:(i )最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。
(ii )中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。
(iii )最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。
递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。
每一层次中各元素所支配的元素一般不要超过9个。
这是因为支配的元素过多会给两两比较判断带来困难。
下面结合一个实例来说明递阶层次结构的建立。
例1 假期旅游有1P 、2P 、3P 3个旅游胜地供你选择,试确定一个最佳地点。
层次分析法——精选推荐
层次分析法title: 层次分析法date: 2020-02-25 19:14:41categories: 数学建模tags: [MATLAB, 评价模型]mathjax: true定义层次分析法(The Analytic Hierarchy Process即AHP)是由美国运筹学家、 匹兹堡⼤学教授T . L. Saaty于20世纪70年代创⽴的⼀种系统分析与决策的综合 评价⽅法,是在充分研究了⼈类思维过程的基础上提出来的,它较合理地解 决了定性问题定量化的处理过程。
AHP的主要特点是通过建⽴递阶层次结构,把⼈类的判断转化到若⼲因 素两两之间重要度的⽐较上,从⽽把难于量化的定性判断转化为可操作的重 要度的⽐较上⾯。
在许多情况下,决策者可以直接使⽤AHP进⾏决策,极⼤ 地提⾼了决策的有效性、可靠性和可⾏性,但其本质是⼀种思维⽅式,它把 复杂问题分解成多个组成因素,⼜将这些因素按⽀配关系分别形成递阶层次 结构,通过两两⽐较的⽅法确定决策⽅案相对重要度的总排序。
整个过程体 现了⼈类决策思维的基本特征,即分解、判断、综合,克服了其他⽅法回避 决策者主观判断的缺点。
步骤第⼀步递阶层次结构分析系统中各因素之间的关系,建⽴系统的递阶层次结构。
第⼆步构造判断矩阵{1,2,3,...,9}:代表重要程度,逐渐递增得到⼀个⽅阵,我们记为A,对应的元素为a ij.(1)a ij表⽰的意义是,与指标j相⽐,i的重要程度。
(2)当i=j时,两个指标相同,因此同等重要记为1,这就解释了主对⾓线元素为1。
(3)a ij>0且满⾜a ij∗a ji=1(我们称满⾜这⼀条件的矩阵为正互反矩阵)第三步⼀致性检验判断矩阵各⾏(各列)之间成倍数关系a ij>0且满⾜a ij∗a ji=1(我们称满⾜这⼀条件的矩阵为正互反矩阵)在层次分析法中,我们构造的判断矩阵均是正互反矩阵若正互反矩阵满⾜a ij∗a jk=a ik,则我们称其为⼀致矩阵注意:在使⽤判断矩阵求权重之前,必须对其进⾏⼀致性检验。
(完整版)层次分析法计算权重在matlab中的实现
信息系统分析与设计作业层次分析法确定绩效评价权重在matlab中的实现小组成员:孙高茹、王靖、李春梅、郭荣1 程序简要概述编写程序一步实现评价指标特征值lam、特征向量w以及一致性比率CR的求解。
具体的操作步骤是:首先构造评价指标,用专家评定法对指标两两打分,构建比较矩阵,继而运用编写程序实现层次分析法在MATLAB中的应用。
通过编写MATLAB程序一步实现问题求解,可以简化权重计算方法与步骤,减少工作量,从而提高人力资源管理中绩效考核的科学化电算化。
2 程序在matlab中实现的具体步骤function [w,lam,CR] = ccfx(A)%A为成对比较矩阵,返回值w为近似特征向量% lam为近似最大特征值λmax,CR为一致性比率n=length(A(:,1));a=sum(A);B=A %用B代替A做计算for j=1:n %将A的列向量归一化B(:,j)=B(:,j)./a(j);ends=B(:,1);for j=2:ns=s+B(:,j);endc=sum(s);%计算近似最大特征值λmaxw=s./c;d=A*wlam=1/n*sum((d./w));CI=(lam-n)/(n-1);%一致性指标RI=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45,1.49,1.51];%RI为随机一致性指标CR=CI/RI(n);%求一致性比率if CR>0.1disp('没有通过一致性检验');else disp('通过一致性检验');endend3 案例应用我们拟构建公司员工绩效评价分析权重,完整操作步骤如下:3.1构建的评价指标体系我们将影响员工绩效评定的指标因素分为:打卡、业绩、创新、态度与品德。
3.2专家打分,构建两两比较矩阵A =1.0000 0.5000 3.0000 4.00002.0000 1.0000 5.00003.00000.3333 0.2000 1.0000 2.00000.2500 0.3333 0.5000 1.00003.3在MATLAB中运用编写好的程序实现直接在MATLAB命令窗口中输入[w,lam,CR]=ccfx(A)继而直接得出d =1.30352.00000.51450.3926w =0.31020.46910.12420.0966lam =4.1687CR =0.0625,通过一致性检验3.4解读程序结果根据程序求解中得出的特征向量,可以得出打卡、业绩、创新以及态度品德在员工绩效评价中所占的权重分别为:0.3102、0.4691、0.1242、0.0966。
基于Matlab的层次分析法及其运用浅析
度 )具体标度 方法如表 1所示。 ,
表 1 T..a t LS ay教授 的 1 9标度方法 -
底层 指 标 相 对 于 准 则 层 的 权 重 系数 , 而 有助 于 选 择 最 优 方案 , 序 从 程 流程如图 1 所示 , 其中的平行 四边形表示输入数据 , 菱形表示判断 , 根据 判 断结 果 的不 同 出现 2个 分 支 。 程 序 中 , 于 生成 判 断矩 阵 的部 分 程 序 如 下 : 用
表 2 平均 随机一致性指标 ,
在当前信息化 、 全球化 的大背景下 , 传统的手工计 算已不能满足 素, 因此在判断矩 阵不能通过一致性检 验时, 需要对 各指标问相互重 人们高效 率、 高准确度 的决策需求。 因此计算机辅助决策当仁不让地 要性程度重新进行赋值 , 直至其通过矩阵一致性检验。 其最大特征值 成为 了管理决策 的新工具、 方法。基于 此, 新 本文在充分发挥计算机 对应 的特征 向量 即为该指标相对于上一级指标的重要性排序。 强大运算功能的基础上 ,选用美国 Mah rs公司的集成数学建 tWok
基于 Malb的层次分析 法及 其运 用浅析 t a
郭 东硕 程 正敏 彭茜 ( 西南大学 经济管理学院)
满足同一层 次中各指标对 所有的下级指标均产生影响 的假定条件下 ,实现 了层次分析法的分析运算。 本程序允许 用户自由设定指标层次结构内的层次数以及各层次 内的指标数 , 通过程序的循环 , 用户只需输入 判断矩 阵的部 分数据 , 程序可依据层 次分析 法的计算流程 进行计算并作 出判断。 本程序可以方便地处理层 次分析法下较 大的运算量 , 解决层次分析法的效率问题 , 提高计算机辅助决策的时效性。 关键词 : t b层 次分析法 判断矩阵 决策 Mal a
关于层次分析法的例题与解
关于层次分析法的例题与解旅游发展水平评价摘要为了研究和比较两个旅游城市的旅游发展水平,建立了层次分析法[数学模型,对两个旅游城市的旅游发展水平进行了评价.首先,通过对本课题中图1和表1的分析和讨论,按照层次分析法,建立了四个层次:目标层a、准则层b、子准则层c和方案层d,通过比较同一层目标之间的重要度,得到判断矩阵,每个判断矩阵用MATLAB[1]编程求解。
其次,利用MATLAB软件计算决策组合向量,然后比较决策组合向量的大小。
以“最大决策组合向量”为目标,Y市的决策组合向量为0.4325,Q市的决策组合向量为0.5675。
最后,通过比较q市和y市旅游发展水平的决策组合向量,得出q市旅游发展水平较高的结论。
层次分析法MATLAB旅游发展水平;决策组合向量11.问题重述本文要求对Y和Q两个旅游城市的旅游发展水平进行分析,并对两个城市的各种因素进行比较,如城市规模和密度、经济条件、交通条件、生态环境条件、宣传监督、旅游规格、空气质量、城市规模、人口密度、人均国内生产总值、人均住房面积、第三产业增加值占国内生产总值的比重、税收国内生产总值、对外贸易依存度、城市内外交通、人均绿地等。
污水集中处理率、环境噪声、国内外游客数量、索赔金额、立案数量、甲级景区数量、旅行社数量、星级酒店数量。
建立数学模型来解决这个问题。
2.问题分析本文要求对Y、Q旅游城市的旅游业发展水平进行分析。
在对Y和Q 旅游城市的分析中,发现有许多因素需要考虑。
首先,城市规模和密度,包括城市规模和人口密度。
第二,经济条件,包括对外贸易依存度,人均国内生产总值,人均住房面积,第三产业增加值占国内生产总值的比重,税收占国内生产总值的比重。
第三,运输条件,包括内部运输和外部运输。
第四,生态环境条件包括空气质量、人均绿地面积、污水处理能力和环境噪声。
第五,宣传和监督,包括国内外游客人数,以及游客投诉的数量。
第六,旅游指标,包括甲类景区的数量、旅行社的数量、星级酒店的数量,用层次分析法来估计各指标的权重,并对最优方案进行评价。
层次分析法及matlab程序
层次分析法建模层次分析法(AHP-Analytic Hierachy process)---- 多目标决策方法70 年代由美国运筹学家T·L·Satty提出的,是一种定性与定量分析相结合的多目标决策分析方法论。
吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,採用此方法较为实用,是一种系统科学中,常用的一种系统分析方法,因而成为系统分析的数学工具之一。
传统的常用的研究自然科学和社会科学的方法有:机理分析方法:利用经典的数学工具分析观察的因果关系;统计分析方法:利用大量观测数据寻求统计规律,用随机数学方法描述(自然现象、社会现象)现象的规律。
基本内容:(1)多目标决策问题举例AHP建模方法(2)AHP建模方法基本步骤(3)AHP建模方法基本算法(3)AHP建模方法理论算法应用的若干问题。
参考书: 1、姜启源,数学模型(第二版,第9章;第三版,第8章),高等教育出版社2、程理民等,运筹学模型与方法教程,(第10章),清华大学出版社3、《运筹学》编写组,运筹学(修订版),第11章,第7节,清华大学出版社一、问题举例:A.大学毕业生就业选择问题获得大学毕业学位的毕业生,“双向选择”时,用人单位与毕业生都有各自的选择标准和要求。
就毕业生来说选择单位的标准和要求是多方面的,例如:①能发挥自己的才干为国家作出较好贡献(即工作岗位适合发挥专长);②工作收入较好(待遇好);③生活环境好(大城市、气候等工作条件等);④单位名声好(声誉-Reputation);⑤工作环境好(人际关系和谐等)⑥发展晋升(promote, promotion)机会多(如新单位或单位发展有后劲)等。
问题:现在有多个用人单位可供他选择,因此,他面临多种选择和决策,问题是他将如何作出决策和选择——或者说他将用什么方法将可供选择的工作单位排序B.假期旅游地点选择暑假有3个旅游胜地可供选择。