模糊层次分析法的Matlab实现
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
利用Matlab进行模糊评价和决策
利用Matlab进行模糊评价和决策在现实生活中,我们经常需要面对各种复杂的问题,而这些问题往往没有明确的答案。
在这种情况下,我们需要一种能够模拟人类语言判断过程的方法来进行评价和决策。
模糊评价和决策是一种基于模糊数学理论的方法,可以帮助我们处理这些复杂的问题。
而Matlab作为一种强大的科学计算软件,提供了一系列的工具和函数,可以方便地进行模糊评价和决策。
一、模糊评价模糊评价是指通过模糊数学理论来对事物的属性进行评价。
在进行模糊评价之前,我们首先需要对事物的属性进行模糊化处理,将其转化为模糊数。
在Matlab 中,可以使用fuzzify函数将实数或者离散变量转化为模糊数。
例如,我们对“温度”这个属性进行模糊化处理,可以定义三个模糊集合“低温”、“中温”和“高温”,并分别赋予它们在某个属性域上的隶属度。
使用fuzzify函数可以将具体的温度值转化为模糊数。
接着,我们可以通过模糊集合的运算来对多个属性进行组合和评价。
在Matlab中,可以使用fuzzyand、fuzzyor和fuzzynot等函数进行模糊集合的交、并和非操作。
最后,可以使用defuzzify函数将模糊评价结果还原为实数的形式。
通过这样的过程,我们可以得到一个具有一定模糊性的评价结果。
二、模糊决策模糊决策是指根据模糊评价结果来进行决策的过程。
在进行模糊决策之前,我们需要设定一些决策规则,规定在不同评价条件下采取哪些行动。
例如,我们可以制定一些规则,如“如果温度较低且湿度较高,则开启加湿器”。
在Matlab中,可以使用addrule函数来添加这样的决策规则。
接着,我们可以使用evalfis函数来根据评价结果进行决策。
这个函数会根据设定的决策规则和评价结果,给出最终的决策结果。
通过这样的过程,我们可以在面对复杂的问题时,根据评价结果来做出相应的决策。
三、模糊评价和决策的应用模糊评价和决策方法在各个领域都有广泛的应用。
其中一个典型的应用是在人工智能领域的专家系统中。
模糊控制的MATLAB实现具体过程(强势吐血推荐)
1 2,2(1):1
6、计算模糊推理输出结果函数evalfis 格式:y=evalfis(U,FIS)
说明:参数U是输入数据,FIS是模糊推理矩阵。 U的每一行是一个特定的输入向量,Y的每一行是 一个特定的输出向量。
如果输入U是M*N矩阵,则系统是N输入的, 返回的Y是M*L矩阵,L是系统的输出的数目。
min prod (乘积法)
3. 输出的合成计算Aggregation(模糊规则综合采用的方法) max prober(a,b)=a+b-ab Aggregation sum(求和法) prober (概率法)
4. 逆模糊化计算(Defuzzification)
centroid(重心法) bisector(面积平分法) lom(最大隶属度函数中的取最大值法) som(最大隶属度函数中的取最小值法)
mom(平均最大隶属度法)
⑵ 在命令窗口键 入mfedit可激活隶 属度函数编辑器
MATLAB的FIS结构和存储 1、FIS(模糊推理系统)结构 模糊推理系统是以一种FIS的结构来表示和存储的 ①GUI工具 访问方法 ②函数 ③结构名.成员名 2、存储( .fis文件) 访问 readfis-读 writefis-写
命令函数
1、隶属度函数 ①函数trimf(表示triangular membership function) 功能:建立三角形隶属度函数。 格式:y=trimf(x,[a b c])
其中:参数x指定变量论域范围,参数a,b和c指定三角形 函数的形状,该函数在b点处取最大值1,a,c点为0。 例:建立三角形隶属度函数并绘制曲线。
centroid(重心法:系统默认) lom(最大隶属度函数中的取最大值法) bisector(面积平分法) mom(平均最大隶属度法) som(最大隶属度函数中的取最小值法)
使用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等方法。
但计算量都有待改进。
层次分析法及matlab程序
层次分析法及Matlab程序一、层次分析法简介层次分析法(Analytic Hierarchy Process,简称AHP)是一种用于决策分析的工具,由美国数学家托马斯·L·萨蒂(Thomas L. Saaty)在1970年代创立。
AHP通过将决策问题划分为多个层次和多个因素,将主要因素和次要因素划分归纳,以定量化的方法分析各因素间优先级的关系,从而对决策方案进行综合评价。
AHP的基本原理是通过构造判断矩阵、计算判断矩阵的特征向量、确定权重,最终得到决策方案的优先级,从而找到最终的最优决策方案。
其主要优点是可定量化、简单易行,适用于大部分决策问题。
二、层次分析法的步骤AHP的具体步骤如下:1.确定决策目标;2.确定影响决策的因素,并将它们分成若干类别,即形成层次结构;3.为每个因素构建判断矩阵,评估每个因素的重要程度(用1~9的数字表示);4.将各判断矩阵进行一致性检验,并计算其权重;5.对计算得到的权重进行优先级排序,选出最优决策方案。
三、Matlab程序实现AHP计算在Matlab中,可以通过编写程序实现AHP的计算。
以下是一份简单的Matlab 程序,用于计算AHP的权重:% 输入判断矩阵A = [1 4 5;1/4 1 2;1/5 1/2 1];% 计算特征向量[V, D] = eig(A);[m, idx] = max(max(D));w = V(:,idx)';w = w/sum(w);% 一致性检验RI = [0 0 0.58 0.9 1.12 1.24 1.32 1.41 1.45 1.49];CR = (max(D) - 3)/2/RI(length(A));CI = sum(CR)/length(A);if CI < 0.1disp('一致性较好,权重为:');disp(w);elsedisp('一致性差,需重新评估判断矩阵!');end该程序用于计算一个3x3的判断矩阵的权重,并输出一致性检验的结果。
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 部分,然后
模糊层次分析法讲解
0
c d
u
模糊之科学美
3.三角模糊函数
荷兰学者F.J.M.Van Laarhoven和 W.Pedrycz提出
定义:设论域R上的模糊数为M,如果M的隶属度函数μM使得R
l 1 x m x ml u 1 x M ( x) mu m u 0 x [l , m] x [ m, u ]
太绝对, 不科学!
选择评价中, 更加科学!
模糊是科学,也是一种美
模糊之科学美
模糊数简介
1, x A 明确集合A:元素x不是属于A就是不属于A,即 A(x ) 0, x A
论域 :用U表示,它指将所讨论的对象限 制在一定范围内,并称所 讨论的对象的 模糊集合A:在论域U内,对任意 x ∈U,x常以某个程度 μ(μ ∈[0,1])属于A,而非
主讲:@水果甜芯 修改时间2012.1.15
模糊难道也是一种美
当前层次分析法(AHP) 这样构造两两比较判断矩阵
Contents
实际上,人在表达判断比较结果时 是这样的:
以隶属度1选择某个指标,同时 又以隶属度1否定(或以隶属度 0选择其他标度值)。
专家们往往会给出一些模糊量、例 如三值判断:最低可能值、最可能 值、最高可能值;二值区间判断。
非A
非高个子男生: 身高1.6m以下
求:身高为1.65m,1.70m,1.75m的三位男生在多大程度上属于高个子男生?
解:
将三位男生的身高带入uA(x)计算分别等于0.125, 0.50, 0.875。
即身高1.65m,1.70m,1.75m的男生,分别以0.125, 0.50, 0.875的程度属于 高个子男生。
模糊之美——用FAHP选择供应商的案例
基于模糊层次分析法的电动汽车充电桩信息安全风险评估方法
基于模糊层次分析法的电动汽车充电桩信息安全风险评估方法王伟贤1,孙舟1,潘鸣宇1,张宝群1,李中伟2,叶麟3(1. 国网北京市电力公司,北京 100075;2. 哈尔滨工业大学 电气工程及自动化学院,黑龙江 哈尔滨 150001;3. 哈尔滨工业大学 计算机科学与技术学院,黑龙江 哈尔滨 150001)摘 要:为定量评估电动汽车充电桩系统信息安全水平,发现其脆弱之处和安全隐患,基于模糊层次分析法设计电动汽车充电桩系统信息安全风险评估方案与流程;建立电动汽车充电桩系统资产安全价值层次分析模型、安全威胁层次分析模型及其评价指标体系;将电动汽车充电桩系统分为电动汽车充电桩、运营管理平台、用户资产及其之间的通信链路与通信数据,通过调研以及问卷调查的方式获得专家意见并进行量化。
基于模糊层次分析法计算资产价值权重与安全威胁权重,在此基础上,计算得到各资产的风险值大小,有效识别出充电桩系统的脆弱点与安全风险,并给出安全防护措施及建议。
关键词:电动汽车充电桩;信息安全评估;模糊层次分析法DOI :10.11930/j.issn.1004-9649.2020020530 引言为推进中国电动汽车产业的大力发展,保障充电设施(充电桩)的信息安全,建设安全的充电设施运行环境,需要对电动汽车充电设施信息安全状况进行评估,进而有针对性地实施信息安全防护措施[1-2]。
信息系统信息安全风险评估是指依据有关信息安全技术,评估资产威胁以及发生危险事件的概率。
国内外对于信息安全风险评估的研究很多。
目前,美国、加拿大等国安全风险评估体系相对成熟[3],相关风险评估标准主要有ISO/IEC 27001—2005[4]、ISO/IEC 27002—2005和ISO/IEC 27005—2011[5]。
而国内的研究工作发展较晚,风险评估标准体系目前还处于研究阶段。
国内发布了众多信息安全风险评估领域的标准,主要有GB /T 20984—2007[6]、GB /Z 24364—2009[7]、GB /T 31509—2015[8]和GB /T 31722—2015[9]等。
使用Matlab进行模糊逻辑分析的技巧
使用Matlab进行模糊逻辑分析的技巧引言:在现代科学中,逻辑分析在决策、控制系统和模糊推理等领域发挥着重要的作用。
模糊逻辑是一种能够处理复杂和不确定的问题的有效工具。
而Matlab作为一种功能强大的数学软件,也提供了丰富的工具和函数来支持模糊逻辑的建模和分析。
本文将介绍使用Matlab进行模糊逻辑分析的一些技巧和实例。
一、安装模糊逻辑工具箱Matlab提供了自带的模糊逻辑工具箱,可以通过Matlab的插件管理器进行安装。
打开Matlab后,在工具栏中选择"Add-Ons",然后在搜索框中输入"模糊逻辑工具箱",点击搜索按钮,选择合适的版本进行安装。
安装完成后,即可在工具箱中找到并使用模糊逻辑相关的函数和工具。
二、建立模糊逻辑系统使用Matlab进行模糊逻辑分析的第一步是建立一个模糊逻辑系统。
可以使用命令"fuzzy"创建一个模糊逻辑系统对象,然后使用该对象进行后续的分析。
例如,创建一个简单的三角形隶属函数的模糊逻辑系统对象:```matlabfis = fuzzyfis = addInput(fis,[0 10],'Name','input1')fis = addOutput(fis,[0 20],'Name','output1')fis = addMF(fis,'input1','trimf',[2 5 7])fis = addMF(fis,'output1','trimf',[4 10 16])```上述代码创建了一个输入变量input1和一个输出变量output1,并添加了三角形隶属函数。
通过这种方式,可以根据实际问题的需求建立模糊逻辑系统。
三、设置模糊规则在模糊逻辑系统中,模糊规则是描述输入和输出之间关系的关键。
模糊数学MATLAB应用
第6章模糊逻辑6.1 隶属函数6.1.1 高斯隶属函数函数gaussmf格式y=gaussmf(x,[sig c])说明高斯隶属函数的数学表达式为: , 其中为参数, x为自变量, sig为数学表达式中的参数。
例6-1>>x=0:0.1:10;>>y=gaussmf(x,[2 5]);>>plot(x,y)>>xlabel('gaussmf, P=[2 5]')结果为图6-1。
图6-16.1.2 两边型高斯隶属函数函数gauss2mf格式y = gauss2mf(x,[sig1 c1 sig2 c2])说明sig1.c1.sig2.c2为命令1中数学表达式中的两对参数例6-2>>x = (0:0.1:10)';>>y1 = gauss2mf(x, [2 4 1 8]);>>y2 = gauss2mf(x, [2 5 1 7]);>>y3 = gauss2mf(x, [2 6 1 6]);>>y4 = gauss2mf(x, [2 7 1 5]);>>y5 = gauss2mf(x, [2 8 1 4]);>>plot(x, [y1 y2 y3 y4 y5]);>>set(gcf, 'name', 'gauss2mf', 'numbertitle', 'off');结果为图6-2。
6.1.3 建立一般钟型隶属函数函数 gbellmf格式 y = gbellmf(x,params)说明 一般钟型隶属函数依靠函数表达式b 2|ac x |11)c ,b ,a ;x (f -+=这里x 指定变量定义域范围, 参数b 通常为正, 参数c 位于曲线中心, 第二个参数变量params 是一个各项分别为a, b 和c 的向量。
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仿真实例分析
.
18
在Simulink编辑窗口左边的模块浏览区可以看 到在水箱仿真系统中包括水箱子模型、阀门子 模型及 PID 控制子模型。直接在浏览区中点 击或右键点击它们,并在弹出菜单中选择 [ look under mask 】 ,可以看到这些模块实 现的细节结构,如图 所示。
.
19
.
20
.
21
这里暂时不讨论具体的系统模型的构造问题,我们可 以先在这个已经建立好的系统模型上进行修改,体验 模糊逻辑与仿真环境结合使用的优势。
字分别代表服务和食
物的质量( 10 表示
非常好, 0 表示非常
差),这时小费与它
.
们之间的关系又应4当8
如何反映呢?
假设是二元线性关系 用下列 MATLAB 语句可绘出下图 。
.
49
.
50
可以看到,如果不考虑服务质量因素比食物质量因素对 于小费的支付占有更大的比重,上面的关系图形已经能 够反映一些实际的情况了。假如希望服务质量占小费的 80 % , 而食物仅占 20 %。这里可以设定权重因子:
注意将鼠标箭头放置图内,移动鼠标可得到不同 角度的视图,如下图所示。
.
15
Matlab模糊控制仿真演示例子
模型sltank.mdl ——使用模糊控制器对水箱水位进 行控制。
假定水箱有一个进水口和一个出水口,可以通过控 制一个阀门来控制流入的水量(即水位高度),但 是流出的速度取决于出水口的半径(定值)和水箱 底部的压力(随水箱中的水位高度变化)。系统有 许多非线性特性。
真。
.
31
学习 MATLAB 仿真工具的一个快速有效的方法就 是学习示例模型,通过看懂这些模型和模块的功
能以及搭建过程,可以很快熟悉和掌握如何使用 MATLAB 仿真工具来设计和搭建自己独特的模型。
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个旅游胜地供你选择,试确定一个最佳地点。
三角模糊数去模糊化 matlab 操作流程
三角模糊数去模糊化 matlab 操作流程概述三角模糊数是模糊数的一种常见形式,它由三个实数构成,表示了一个模糊区间。
在实际的数据处理中,我们经常需要对模糊数进行去模糊化处理,以获得更精确的结果。
在本文中,我们将重点讨论三角模糊数的去模糊化 matlab 操作流程,并从简入深,为您全面解读这一主题。
1. 了解三角模糊数让我们来了解一下三角模糊数的基本概念。
三角模糊数由三个实数 (a, b, c) 构成,表示了一个模糊区间 [a, b, c]。
其中,a 表示模糊区间的左端点,b 表示模糊区间的顶点,c 表示模糊区间的右端点。
三角模糊数常用于模糊推理、模糊控制等领域。
2. 三角模糊数去模糊化原理在实际应用中,我们经常需要将三角模糊数转化为确定的实数。
这就涉及到了去模糊化的问题。
常见的去模糊化方法包括平均法、最大法、最小法等。
在 matlab 中,我们可以通过一定的操作流程来实现三角模糊数的去模糊化。
3. Matlab 操作流程3.1 准备工作在进行三角模糊数去模糊化之前,我们首先需要准备工作,包括导入 matlab 工具箱、准备模糊数数据等。
3.2 编写去模糊化函数接下来,我们可以编写一个去模糊化函数,以实现对三角模糊数的处理。
在函数中,我们可以采用平均法、最大法或最小法等方法,根据实际情况选择合适的去模糊化策略。
function result = defuzzification(triangleNumber)% 使用平均法进行去模糊化result = (triangleNumber(1) + triangleNumber(2) + triangl eNumber(3)) / 3;end3.3 调用去模糊化函数我们可以通过调用去模糊化函数,对三角模糊数进行处理,得到确定的实数结果。
triangleNumber = [1, 3, 5]; % 以 [1, 3, 5] 为例result = defuzzification(triangleNumber);disp(result); % 输出结果4. 个人观点和理解三角模糊数的去模糊化在实际应用中具有重要意义,它能够提高数据处理的精确度和可靠性。
(完整版)层次分析法计算权重在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
(完整word版)模糊层次分析法的Matlab实现
(完整word版)模糊层次分析法的Matlab实现一、引言层析分析法是将定量与定性相结合的多目标决策法,是一种使用频率很高的方法,在经济管理、城市规划等许多领域得到了广泛应用。
由于其结果受主观思维的影响较大,许多科研工作者对其进行了深入的研究,将模糊理论与层次分析法相结合,提出了模糊层次分析法。
为克服层次分析法中判断矩阵的一致性与人类思维的一致性存在的显著差异,文献[1-2]引入了模糊一致矩阵。
为解决解的精度及收敛问题,文献[3-4]引入幂法来求排序向量。
运用模糊层次分析法研究实际问题时,常采用迭代法来得到精度更高的排序向量,这就要求选择合适的初始值并通过大量的计算,为此,文中利用三种方法计算了初始排序向量,并给出了算法的Matlab程序,最后通过实例说明。
二、模糊层次分析法为解决AHP种所存在的问题,模糊层次分析法引入模糊一致矩阵,无需再进行一致性检验,同时使用幂法来计算排序向量,可以减少迭代齿数,提高收敛速度,满足计算精度的要求.具体步骤:1.构造优先关系矩阵采用0.1~0.9标度[2],建立优先判断矩阵2.将优先关系矩阵转化为模糊一致矩阵3.计算排序向量(1)和行归一法:(2)方根法:(3)利用排序法:(4)利用幂法[5-6]求精度更高的排序向量:否则,继续迭代。
三、模糊层次分析法的程序实现给出模糊层次分析法的Matlab程序。
clear;clc;E=input('输入计算精度e:')Max=input('输入最大迭代次数Max:')F=input('输入优先关系矩阵F:');%计算模糊一致矩阵N=size(F);r=sum(F');for i=1:N(1)for j=1:N(2)R(i,j)=(r(i)-r(j))/(2*N(1))+0.5;endendE=R./R';% 计算初始向量----------% W=sum(R')./sum(sum(R)); % 和行归一法%---------------------------------------------------------for i=1:N(1)S(i)=R(i,1);for j=2:N(2)S(i)=S(i)*R(i,j);endendS=S^(1/N(1));W = S./sum(S);%方根法%-------------------------------------------------------- % a=input('参数a=?');%W=sum(R')/(N(1)*a)-1/(2*a)+1/N(1); %排序法% 利用幂法计算排序向量----V(:,1)=W'/max(abs(W)); %归一化for i=1:MaxV(:,i+1)=E*V(:,i);V(:,i+1)=V(:,i+1)/max(abs(V(:,i+1)));if max(abs(V(:,i+1)-V(:,i)))k=i;A=V(:,i+1)./sum(V(:,i+1));breakElseEndEnd四、计算实例由优先关系矩阵得到模糊一致矩阵利用三种方法计算排序向量分别为:五、结束语模糊层次分析法广泛应用于许多领域,解决了判断矩阵的一致性与人类思维一致性的差异问题,同时还得到了计算精度较高的且与实际情况较吻合的排序向量,但是模糊一致矩阵的转换和排序向量的求解计算复杂,工作量大,本文运用Matlab程序实现了该方法,能够方便的解决方法的计算问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、引言
层析分析法是将定量与定性相结合的多目标决策法,是一种使用频率很高的方法,在经济管理、城市规划等许多领域得到了广泛应用。
由于其结果受主观思维的影响较大,许多科研工作者对其进行了深入的研究,将模糊理论与层次分析法相结合,提出了模糊层次分析法。
为克服层次分析法中判断矩阵的一致性与人类思维的一致性存在的显著差异,文献[1-2]引入了模糊一致矩阵。
为解决解的精度及收敛问题,文献[3-4]引入幂法来求排序向量。
运用模糊层次分析法研究实际问题时,常采用迭代法来得到精度更高的排序向量,这就要求选择合适的初始值并通过大量的计算,为此,文中利用三种方法计算了初始排序向量,并给出了算法的Matlab程序,最后通过实例说明。
二、模糊层次分析法
为解决AHP种所存在的问题,模糊层次分析法引入模糊一致矩阵,无需再进行一致性检验,同时使用幂法来计算排序向量,可以减少迭代齿数,提高收敛速度,满足计算精度的要求.具体步骤:
1.构造优先关系矩阵
采用0.1~0.9标度[2],建立优先判断矩阵
2.将优先关系矩阵转化为模糊一致矩阵
3.计算排序向量
(1)和行归一法:
(2)方根法:
(3)利用排序法:
(4)利用幂法[5-6]求精度更高的排序向量:
否则,继续迭代。
三、模糊层次分析法的程序实现
给出模糊层次分析法的Matlab程序。
clear;
clc;
E=input('输入计算精度e:')
Max=input('输入最大迭代次数Max:')
F=input('输入优先关系矩阵F:');
%计算模糊一致矩阵
N=size(F);
r=sum(F');
for i=1:N(1)
for j=1:N(2)
R(i,j)=(r(i)-r(j))/(2*N(1))+0.5;
end
end
E=R./R';
% 计算初始向量----------
% W=sum(R')./sum(sum(R)); % 和行归一法
%---------------------------------------------------------
for i=1:N(1)
S(i)=R(i,1);
for j=2:N(2)
S(i)=S(i)*R(i,j);
end
end
S=S^(1/N(1));
W = S./sum(S);%方根法%-------------------------------------------------------- % a=input('参数a=?');
%W=sum(R')/(N(1)*a)-1/(2*a)+1/N(1); %排序法
% 利用幂法计算排序向量----V(:,1)=W'/max(abs(W)); %归一化
for i=1:Max
V(:,i+1)=E*V(:,i);
V(:,i+1)=V(:,i+1)/max(abs(V(:,i+1)));
if max(abs(V(:,i+1)-V(:,i)))k=i;
A=V(:,i+1)./sum(V(:,i+1));
break
Else
End
End
四、计算实例
由优先关系矩阵得到模糊一致矩阵
利用三种方法计算排序向量分别为:
五、结束语
模糊层次分析法广泛应用于许多领域,解决了判断矩阵的一致性与人类思维一致性的差异问题,同时还得到了计算精度较高的且与实际情况较吻合的排序向量,但是模糊一致矩阵的转换和排序向量的求解计算复杂,工作量大,本文运用Matlab程序实现了该方法,能够方便的解决方法的计算问题。
参考文献:
[1]姚敏、张森,模糊一致矩阵及其在决策分析中的应用[J].系统工程理论与实践,1998,18(5):78-81.
[2]周艳美、李伟华,改进模糊层次分析法及其对任务方案的评价[J].计算机工程与应用,2008,44(5):212-214.
[3]李永、胡向红、乔箭,改进的模糊层次分析法[J].西北大学学报(自然科学版),2005,35(1):11-12,16.
[4]张吉军,模糊一致判断矩阵3种排序方法的比较研究[J].系统工程与电子技术,2003,25(13):1370-1372.
[5]徐萃薇、孙绳武,计算方法引论[M].北京:高等教育出版社,2007,185-191.
[6]武汉大学、山东大学,计算方法[M].北京:高等教育出版社,1979,99-102.。