模糊层次分析法的Matlab实现

合集下载

MatLab层次分析法代码

MatLab层次分析法代码
>>A=[12564724;1/21242712;1/51/215151/22;1/61/41/511/331/21/4;1/41/2131512;1/71/71/51/31/511/71/5;1/21221712;1/41/21/241/251/21];
>>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作为一种强大的科学计算软件,提供了一系列的工具和函数,可以方便地进行模糊评价和决策。

一、模糊评价模糊评价是指通过模糊数学理论来对事物的属性进行评价。

在进行模糊评价之前,我们首先需要对事物的属性进行模糊化处理,将其转化为模糊数。

在Matlab 中,可以使用fuzzify函数将实数或者离散变量转化为模糊数。

例如,我们对“温度”这个属性进行模糊化处理,可以定义三个模糊集合“低温”、“中温”和“高温”,并分别赋予它们在某个属性域上的隶属度。

使用fuzzify函数可以将具体的温度值转化为模糊数。

接着,我们可以通过模糊集合的运算来对多个属性进行组合和评价。

在Matlab中,可以使用fuzzyand、fuzzyor和fuzzynot等函数进行模糊集合的交、并和非操作。

最后,可以使用defuzzify函数将模糊评价结果还原为实数的形式。

通过这样的过程,我们可以得到一个具有一定模糊性的评价结果。

二、模糊决策模糊决策是指根据模糊评价结果来进行决策的过程。

在进行模糊决策之前,我们需要设定一些决策规则,规定在不同评价条件下采取哪些行动。

例如,我们可以制定一些规则,如“如果温度较低且湿度较高,则开启加湿器”。

在Matlab中,可以使用addrule函数来添加这样的决策规则。

接着,我们可以使用evalfis函数来根据评价结果进行决策。

这个函数会根据设定的决策规则和评价结果,给出最终的决策结果。

通过这样的过程,我们可以在面对复杂的问题时,根据评价结果来做出相应的决策。

三、模糊评价和决策的应用模糊评价和决策方法在各个领域都有广泛的应用。

其中一个典型的应用是在人工智能领域的专家系统中。

模糊控制的MATLAB实现具体过程(强势吐血推荐)

模糊控制的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)的简捷算法

使用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程序

层次分析法及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求解层次分析法程序代码【求解步骤代码】

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]等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.。

相关文档
最新文档