模糊层次分析法的Matlab实现

合集下载

基于matlab的模糊聚类分析

基于matlab的模糊聚类分析



end
fprintf(‘标准化矩阵如下:Y=\n'); disp(Y) end
2.3 标定, 建立模糊相似矩阵

针对上述的标准化矩阵 , 计算各分类对象间的相似程度,
从而建立模糊相似矩阵 R= (rij) n n, 这个过程又称为标定, 计
算标定的方法是很多的, 主要包括三大类方法: (1)相似系数
13
2.1 特征抽取,建立原始数据矩阵
假设待分类对象的集合为 X = { X1, X2, …, Xn },集合中的每
个元素具有 m 个特征,设第 i 个对象 Xi 的第 j ( j = 1, 2,
…, m ) 个特征为 xij,则 Xi 就可以用这 m 个特征的取值来 描述,记 Xi = ( xi1, xi2, …, xim) 于是,得到原始数据矩阵为: x 11
基于Matlab的模糊聚类分析及其应用
《管理数学实验》课程汇报 学号:2120111705 姓名:贾珊
1
Contents
1
预备知识 基于MATLAB的模糊聚 类分析的传递方法 实例应用
2
3
3
1.预备知识

聚类分析和模糊聚类分析 模糊相似矩阵 模糊等价矩阵 模糊矩阵的 - 截矩阵

Matlab程序---biaod2.m
2.4 求传递闭包
所谓聚类方法就是依据模糊矩阵将所研究的对象进行 分类的方法。 对于不同的置信水平 ∈[0, 1] ,可以得到 不同的分类结果,从而形成动态聚类图。常用的方法如 下:
(1) (2) (3)
传递闭包法 布尔矩阵法 直接聚类法
本文基于模糊聚类分析的传递闭包方法进行matlab编程 。
x 21 ... x n1

Matlab学习系列23.-模糊聚类分析原理及实现

Matlab学习系列23.-模糊聚类分析原理及实现

23.模糊聚类剖析原理及实现聚类剖析,就是用数学方法研究和办理所给定对象,依据事物间的相像性进行区分和分类的过程。

传统的聚类剖析是一种硬区分,它把每个待识其他对象严格地区分到某个类中,拥有非此即彼的性质,这种分类的类型界线是分明的。

跟着模糊理论的成立,人们开始用模糊的方法来办理聚类问题,称为模糊聚类剖析。

因为模糊聚类获得了样本数与各个类其他不确立性程度,表达了样本类属的中介性,即成立起了样本关于类其他不确立性的描绘,能更客观地反应现实世界。

本篇先介绍传统的两种(适合数据量较小情况,及理解模糊聚类原理):鉴于择近原则、模糊等价关系的模糊聚类方法。

(一)预备知识一、模糊等价矩阵定义 1 设 R=(r ij )n×n为模糊矩阵, I 为 n 阶单位矩阵,若R 知足i)自反性: I ≤R (等价于 r ii =1);ii)对称性: R T=R;则称 R 为模糊相像矩阵,若再知足iii) 传达性: R2≤R(等价于n(r ik r kj ) r ij)k 1则称 R 为模糊等价矩阵。

定理 1 设 R 为 n 阶模糊相像矩阵,则存在一个最小的自然数k(k<n), 使得 R k为模糊等价矩阵,且对全部大于 k 的自然数 l,恒有R l=R k. R k称为 R 的传达闭包矩阵,记为 t(R).二、模糊矩阵的λ-截矩阵定义 2 设 A=(a ij )n×m为模糊矩阵,对随意的λ∈[0,1],作矩阵A a ij( )n m此中,a ij( )1,aij 0,aij称为模糊矩阵 A 的λ-截矩阵。

明显, Aλ为布尔矩阵,且其等价性与与A一致。

意义:将模糊等价矩阵转变为等价的布尔矩阵,能够获得有限论域上的一般等价关系,而等价关系是能够分类的。

所以,当λ在[0,1]上改动时,由 Aλ获得不一样的分类。

若λ1<λ2, 则 Aλ1≥Aλ2, 进而由 Aλ2确立的分类是由Aλ1确立的分类的加细。

当λ从 1 递减变化到 0 时,Aλ的分类由细变粗,渐渐合并,形成一个分级聚类树。

MATLAB中的模糊逻辑与模糊系统应用

MATLAB中的模糊逻辑与模糊系统应用

MATLAB中的模糊逻辑与模糊系统应用引言:模糊逻辑是一种处理含糊和不确定性的推理方法,而模糊系统是基于模糊逻辑的一种工程应用。

在实际问题中,很多情况下无法准确界定事物的属性或关系,这就需要使用模糊逻辑和模糊系统进行描述和分析。

MATLAB作为一种强大的数学软件工具,提供了丰富的函数库和模块,可以非常方便地进行模糊逻辑和模糊系统的建模与分析。

本文将探讨MATLAB中的模糊逻辑与模糊系统应用,并介绍一些实际案例。

一、模糊逻辑的基本概念:1.1 模糊集合与隶属度函数在传统的逻辑中,事物的属性通常只有真和假两种取值,而在模糊逻辑中,属性被描述为一个介于[0,1]之间的隶属度。

模糊集合是指由一组对象组成的集合,每个对象在集合中的隶属度不是二进制的,而是介于0和1之间的实数。

隶属度函数是用来描述某个对象对于某个属性的隶属程度,通常使用三角形、梯形等形状的函数来表示。

1.2 模糊逻辑运算模糊逻辑中的运算方式与传统逻辑不同,引入了模糊的概念。

模糊逻辑运算包括交集、并集和补集等操作,用于描述模糊集合之间的关系。

这些运算可以通过模糊控制器、模糊推理等方式进行实现。

MATLAB提供了丰富的函数和工具箱来进行模糊逻辑运算和推理。

二、模糊系统的框架与建模过程:2.1 模糊系统的框架模糊系统通常由模糊化、模糊推理和去模糊化三个主要部分组成。

模糊化是将输入的实际值映射到模糊集合中,模糊推理是根据规则和隶属度函数进行推理,得出输出的模糊结果,去模糊化则是将模糊结果转化为实际值。

2.2 模糊系统的建模过程模糊系统的建模过程包括变量的模糊化、规则的定义、隶属度函数的设定以及模糊推理等步骤。

MATLAB提供了一系列的函数和工具箱用于模糊系统的建模和分析。

利用MATLAB的模糊工具箱,可以方便地进行隶属度函数的设定、规则的定义以及模糊推理的实现。

三、模糊逻辑与模糊系统在实际问题中的应用:3.1 模糊控制器模糊控制器是模糊逻辑和模糊系统的一种应用,它利用模糊推理和模糊系统来实现对控制系统的控制。

模糊聚类分析算法的MATLAB语言实现

模糊聚类分析算法的MATLAB语言实现

0 . 3 0 . 3 0 . 2 l 97 97 94
0 . 8 0 . 8 0 . 8 0 . 8 l 88 88 88 88
R =
0.7 l 99
0 .2 0. 3 0 .8 l 94 97 88
0 . 8 0 . 8 0 . 8 0 . 8 0 . 5 0 . 8 l 65 65 65 65 68 65
m it g
r , 1
兰 二= 量 ! l
j I 一 < I i <似 xk —j f xk in i N J ) ) j
其 中 k=12 . m , ,. ,
1 2 建 立模糊 相似矩 阵 .
应 用数量 积法求 出被 分类 对象 间相 似程度 的相 似
0 . 8 0 . 8 0 . 03 65 93 3 0 . 8 0 . 03 65 3
0 . 03 3
0 . 7 0 . 7 0 . 7 0 . 7 0 .. 0 . 7 0 . 5 l 74 74 74 74 77 4 74 68
0 . 8 0 . 8 0 . 8 0 . 8 0 . 8 0 . 5 0 . 8 0 . 8 l 65 65 65 65 65 68 93 65
类结果 略) .
4 讨论
Malb是专用 的矩 阵计算软 件 , a t 对矩 阵 的计算 又 快 又好 ,而且允许用 户编程 ,将 程序编 制成 函数和 过 程 ,随 时对 系统功能进行 扩展 . Malb中已经将 大量 t a 的, 复杂 的数学运算编制成 了各种 函数 , 只要灵 活地 搭 配, 就能较好地 编写求解程序 ,而且能加快数据 处理 ,
are a
--—

4 —— 5 - - —

使用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层次分析法.ppt

matlab层次分析法.ppt

大,A 的不一致程度越严重。

CI CR RI
称 CR为一致性比率,其中 RI 为随机一致性指标,取值见下表:
Saaty的结果如下(100~500样本)
n RI 1 2 3 4 5 6 7 8 9 10 11 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.51
Saaty 等人提出1~9尺度——aij 取值 1,2,… , 9及其互反数1,1/2, … , 1/9
尺度
a ij
1
2
3
4
5
6
7
8
9
Ci : C j的重要性
相同
稍强

明显强
绝对强
• 心理学家认为成对比较的因素不宜超过9个 • 用1~3,1~5,…1~17,…,1p~9p (p=2,3,4,5), d+0.1~d+0.9 (d=1,2,3,4)等27种比较尺度对若干实例构造成对比较 阵,算出权向量,与实际对比发现, 1~9尺度较优。
3、一致性与权向量:
/2 1 1 A 2 1
一致比较
4 7
a 1 / 2 ( C : C ) 12 1 2
a 4 ( C : C ) 13 1 3
a 8 ( C : C ) 23 2 3
不一致
即成对比较是不一致(由于各种因素及主观倾向的干扰)。
权向量(特征向量)w =(0.263,0.475,0.055,0.090,0.110)T
5 . 073 5 一致性指标 CI 0 . 018 5 1
随机一致性指标 RI=1.12 (查表) 一致性比率CR=0.018/1.12=0.016<0.1

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 部分,然后

模糊层次分析法FAHPmatlab代码

模糊层次分析法FAHPmatlab代码

j=j+1; V=[v2,v0]; v2=V; end end v3=[]; for i=3 for j=[1,2,4] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v3,v0]; v3=V; end end v4=[]; for i=4 for j=[1,2,3] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v4,v0]; v4=V; end end dc1=min(v1); dc2=min(v2); dc3=min(v3); dc4=min(v4); w=[dc1,dc2,dc3,dc4]' for ii=1:4 w0(ii,1)=w(ii,1)/sum(w);%对w归一化并输出 end w0
计算结果
w =
1.0000 0.9851 0.9701 w3 = 0.3384 0.3333 0.3283
编程
clc,clear a1=[1 1 1;;0.95 1.25 1.59]; b1=sum(a1); a2=[;1 1 1;1.5 2 2.5]; b2=sum(a2); a3=[0.95 1.25 1.59;0.4 0.5 0.67;1 1 1]; b3=sum(a3); d1=b1(1)+b2(1)+b3(1); d2=b1(2)+b2(2)+b3(2); d3=b1(3)+b2(3)+b3(3); s1=[b1(1) b1(2) b1(3)].*[1/d3 1/d2 1/d1]; s2=[b2(1) b2(2) b2(3)].*[1/d3 1/d2 1/d1]; s3=[b3(1) b3(2) b3(3)].*[1/d3 1/d2 1/d1]; s=[s1;s2;s3]; sl=s(:,1); sm=s(:,2); su=s(:,3); v1=[]; for i=1 for j=[2,3] if sm(i)>=sm(j) v0=1; elseif sm(i)<=sm(j)&su(i)>=sl(j) v0=(sl(j)-su(i))/((sm(i)-su(i))-(sm(j)-sl(j))); else v0=0; end j=j+1; V=[v1,v0];

层次分析法的MATLAB实现

层次分析法的MATLAB实现

第八章 层次分析法层次分析法(Analytic Hierarchy Process ,简称AHP )是对一些较为复杂、较为模糊的问题作出决策的简易方法,它特别适用于那些难于完全定量分析的问题。

它是美国运筹学家T. L. Saaty 教授于70年代初期提出的一种简便、灵活而又实用的多准则决策方法。

MATLAB 教程网 §1 层次分析法的基本原理与步骤人们在进行社会的、经济的以及科学管理领域问题的系统分析中,面临的常常是一个由相互关联、相互制约的众多因素构成的复杂而往往缺少定量数据的系统。

层次分析法为这类问题的决策和排序提供了一种新的、简洁而实用的建模方法。

运用层次分析法建模,大体上可按下面四个步骤进行:(i )建立递阶层次结构模型;(ii )构造出各层次中的所有判断矩阵;(iii )层次单排序及一致性检验;(iv )层次总排序及一致性检验。

下面分别说明这四个步骤的实现过程。

1.1 递阶层次结构的建立与特点应用AHP 分析决策问题时,首先要把问题条理化、层次化,构造出一个有层次的结构模型。

在这个模型下,复杂问题被分解为元素的组成部分。

这些元素又按其属性及关系形成若干层次。

上一层次的元素作为准则对下一层次有关元素起支配作用。

这些层次可以分为三类:(i )最高层:这一层次中只有一个元素,一般它是分析问题的预定目标或理想结果,因此也称为目标层。

(ii )中间层:这一层次中包含了为实现目标所涉及的中间环节,它可以由若干个层次组成,包括所需考虑的准则、子准则,因此也称为准则层。

(iii )最底层:这一层次包括了为实现目标可供选择的各种措施、决策方案等,因此也称为措施层或方案层。

递阶层次结构中的层次数与问题的复杂程度及需要分析的详尽程度有关,一般地层次数不受限制。

每一层次中各元素所支配的元素一般不要超过9个。

这是因为支配的元素过多会给两两比较判断带来困难。

下面结合一个实例来说明递阶层次结构的建立。

例1 假期旅游有1P 、2P 、3P 3个旅游胜地供你选择,试确定一个最佳地点。

Matlab笔记——层次分析法

Matlab笔记——层次分析法

一、概述层次分析法(Analytic Hierarchy Process, AHD)是将要决策的问题及其有关因素分解成目标、准则、方案等层次,进而进行定性和定量分析的决策方法。

它的特征是合理地将定性与定量决策结合起来,按照思维、心理的规律把决策过程细致化(层次化、数量化)。

层次分析法广泛地应用到处理复杂的决策问题,而决策是基于该方法计算出的权重,所以也常用来确定指标的权重。

层次分析法的基本思路与人们对一个决策问题的思维、判断过程大体上是一样的。

例如,选购一台笔记本电脑,假设有三种不同品牌款式的笔记本电脑A、B、C供选择。

我们一般会根据价格、外观、重量、用途、功耗、品牌等一些准则去反复比较这个三个候选。

首先,会确定这些准则在自己心目中各占多大比重,不同的人这种比重会有很大差异(喜欢玩游戏的人看重硬件性能和散热、预算有限的人看重价格等)。

其次,还会就每一个准则将A、B、C进行对比,比如A最便宜,B次之;C性能最好,B次之;C的品牌最知名等。

最后,将这两个层次的比较判断进行综合,在A、B、C中确定一台作为最符合自己需求的电脑。

二、算法步骤1. 将问题条理化、层次化,建立层次结构模型1)最高层(目标层)——只有一个元素:决策目标;2)中间层(准则层)——考虑的因素,决策的准则、子准则;3)最底层(方案层)——决策时的备选方案、措施。

层次分析法要解决的问题是,求出最底层对最高层的相对权重,以此对最底层的方案、措施进行排序,选择最优方案。

注1:为了避免两两比较判断过于复杂,每层次中各元素所支配的元素一般不要超过9个,否则应划分为若干子层;注2:层次分析法只考虑相邻两个层次间自上向下的支配作用,认为同一层次的元素间相互独立,若考虑进来需要网络分析法(ANP )。

例如前文提到的选购笔记本电脑的决策模型,可以建立如下的层次结构:2. 构造判断矩阵(成对比较矩阵)构造好层次模型后,针对某一层来讲,在比较第i 个元素与第j 个元素相对于上一层某个因素的重要性时,使用数量化的相对权重a ij 来表示,假设共有n 个元素参与比较,则矩阵1111()n ij n n n nn a a A a a a ⨯⎛⎫ ⎪== ⎪ ⎪⎝⎭LM OM L 称为判断矩阵(或成对比较矩阵)。

使用Matlab进行模糊逻辑分析的技巧

使用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的模糊聚类分析 ppt课件

基于matlab的模糊聚类分析 ppt课件

Matlab程序---bzh1.m
function Y=bzh1(X) [a,b]=size(X); C=max(X); D=min(X); Y=zeros(a,b); for i=1:a for j=1:b Y(i,j)=(X(i,j)-D(j))/(C(j)-D(j)); %平移极差变化进 行数据标准化
19
(2)距离法
rij = 1 – c d (xi, xj )
其中c为适当选取的参数.
海明距离
m
d(xi,xj) |xikxjk| k1
欧氏距离 切比雪夫距离
m
d(xi,xj) (xikxjk)2 k1
d (xi, xj ) = ∨{ | xik- xjk | , 1≤k≤m}
20
(3)主观评分法
基于matlab的模糊聚类分析
《管理数学实验》课程汇报 学号:2120111705 姓名:贾珊
1
基于matlab的模糊聚类分析
1
预备知识 2 基于MATLAB的模糊聚类
分析的传递方法
3
实例应用
1.预备知识
3
基于matlab的模糊聚类分析
聚类分析和模糊聚类分析 模糊相似矩阵 模糊等价矩阵
模糊矩阵的 - 截矩阵
(1)相似系数法 ----夹角余弦法
m
x ik x jk
rij
k 1 m
m
x
2 ik
x
2 jk
k 1
k 1
相似系数法 ----相关系数法
rij
m
| xik xi || xjk xj |
k1
m
m
(xik xi )2
(xjk xj )2
k1

MATLAB层次分析法

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仿真实例分析

模糊控制的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 仿真工具来设计和搭建自己独特的模型。

(完整word版)模糊聚类分析及matlab程序实现

(完整word版)模糊聚类分析及matlab程序实现

模糊聚类分析及matlab 程序实现采用模糊数学语言对按一定的要求进行描述和分类的数学方法称为模糊聚类分析。

聚类分析主要经过标定和聚类两步骤。

【1】 1 标定(建立模糊相似矩阵)城市居民食品零售价格,第t 时刻第i 种食品的零售价记为),(t i x 。

相似矩阵R 的构建方法:NTV 法设时间序列),(j i A 表示食品i 在时间t 的价格,其中i=1,2…42;t=1,2…39。

∑∑==--=mk jk ik m k jk ik x xx x j i R 11),max (1),((其中i,j,k=1,2…42,m=39) 42*42),(j i R R = 2 聚类2.1 计算R 的传递闭包:对模糊相似矩阵R,依次用平方法计算,2R ,4R ,…,t2R ,…,当第一次出现k k k R R R =*时,则称k R 为传递闭包。

【1】2.2 开始聚类:【2】 (1)令T={1,2,3…42},取)1(xi T ∈ ,令X 、Q 为空集;(2)令0=j ;(3)若λ>=),(j xi R 且X x j ∉,则令}{j X X ⋃=,}{j Q Q ⋃=;(4)1+=j j ;(5)若n j <,返回(1);(6)若Q 为空集,怎输出聚类x,X -T T =;(7))1(xi Q =,}{xi Q Q -=,返回(2)。

设置不同的置信水平λ值,就可以得到不同的分类。

Matlab 程序实现:A=data;[N M] = size(A);for i = 1:Nfor j = 1:NR(i,j)=abs(1-sum(abs(A(i,:)-A(j,:)))/sum(max([A(i,:);A(j,:)])));endendfor j=1:42for i=1:42y(i,j)=0;for k=1:42mn(k)=min(R(i,k),R(k,j));endy(i,j)=max(mn);endendnumda=[1 0.9 0.95 0.85 0.8 0.75 0.55 0.7 0.655 0.65 0.6 0.55 0.5 0.45 0.454 0.4 0.45 0.3 0.35 0.255 0.25 0.2 0.15 0.1];for i=1:42TT(i)=i;endfor i=1:length(numda)disp ('当分类系数是');disp(numda(i));a=numda(i);T=TT;disp ('分类为');while 1if ~isempty(T)xi=T(1);endX=[];Q=[];while 1for j=1:42if (y(xi,j)>=a)&isempty(intersect(X,j))X=union(X,j);Q(length(Q)+1)=j;endendif isempty(Q)disp(X);breakelsexi=Q(1);Q(1)=[];endendT=setdiff(T,X); if isempty(T) breakendendend。

(完整版)层次分析法计算权重在matlab中的实现

(完整版)层次分析法计算权重在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程序

层次分析法及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个旅游胜地可供选择。

(完整word版)模糊层次分析法的Matlab实现

(完整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. 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.。

相关文档
最新文档