模糊系统辨识
仿真程序chap4.m
其中A称为模糊集合,由0,1及 A ( x ) 构 A ( x ) 表示元素x属于模糊集合A的程 成, 度,取值范围为[0,1],称 A ( x )为x属于模 糊集合A的隶属度。
2 . 模糊算子 设有模糊集合A、B和C,常用的模糊 算子有: (1)交运算算子 (2)并运算算子
(3)平衡算子
A ( x), B ( x) c ( x) Max
② 概率或算子
c ( x ) A ( x ) B ( x) A ( x) B ( x)
③
有界和算子
c ( x) Min 1, A ( x) B ( x)
(3)平衡算子
设C=A•B,则
模糊系统辨识
什么是模糊系统
(1)一种基于知识或者规则的系统。
(2)核心是if—then规则组成的知识库。
(3)该规则使用隶属度函数描述。
7.1 模糊系统的理论基础
1.特征函数和隶属函数
在数学上经常用到集合的概念。
例如:集合 A 由 4 个离散值 x1 , x2 , x3 , x4 组成。A={x1,x2,x3,x4} 例如:集合A由0到1之间的连续实数值组成。
(6) Z形隶属函数
这是基于样条函数的曲线,因其呈现 Z 形状而得名。参数 a 和 b 确定了曲线的形状。 Matlab表示为:
zmf(x,[a, b])
例: 隶属函数的设计:针对上述描述的 6种
隶属函数进行设计。 M 为隶属函数的类型,
其中 M=1 为高斯型隶属函数, M=2 为广义 钟形隶属函数,M=3为S形隶属函数,M=4 为梯形隶属函数, M=5 为三角形隶属函数, M=6为Z形隶属函数。
v0
V
v (v)dv
v V
(v)dv
v
对于具有m个输出量化级数的离散域情况
v0
v k v (v k ) k
1
m
v (v k ) k
1
m
7.2 基于Sugeno模糊模型的建模
1985年,日本的高木 (Takagi) 和关 野 (Sugeno) 提出一种动态系统的模糊 模型辨识方法,这种模型一般称为T-S模 糊模型。它本质是一种非线性模型,宜 于表达复杂系统的动态特性。
(1) 高斯型隶属函数
高斯型隶属函数由两个参数 和c确定:
f ( x, , c) e
( x c ) 2 2 2
其中参数 通常为正,参数c用于确定曲线 的中心。Matlab表示为 :
gaussmf(x, [ ,c])
(2) 广义钟型隶属函数 广义钟型隶属函数由三个参数a,b,c确定:
小,大。输出为输入的线性函数,模糊规 则为:
If X为 small and Y为 small then Z -x y - 3
If X为 small and Y为 big then Z x y 1
If X为 big and Y为 small then Z -2y 2
If X为 big and Y为 big then Z 2x y 6
当输入服务与饭菜质量时,求输出的小费。
这里给出三条规则:
(1)If 服务差 or 饭菜差then 小费=低 (2)If 服务好then 小费=中等 (3)If 服务很好 or 饭菜好 then 小费=高 若给出服务及饭菜质量分别为3.5和8, 那么应给多少小费?
(7)反模糊化
重心法
为了获得准确的控制量,就要求模 糊方法能够很好的表达输出隶属度函数 的计算结果。重心法是取隶属度函数曲 线与横坐标围成面积的重心为模糊推理 的最终输出值,即
写为模糊规则形式,可得到 Sugeno 型模糊模型规则,表示为:
If x1 is ZR and x 2 is ZR then x=Ax Bu
(2) 仿真实例
M 8kg , l 0 .5 m 取倒立摆参数 m 2kg,
令 x x1 x2 ,则倒立摆的动力学方程可
T
表示为如下状态方程:
2 .基于Sugeno模糊建模的倒立摆模糊控制 (1) 倒立摆模型的局部线性化
当倒立摆的摆角和摆速很小时,其模
型可进行线性化,从而可实现基于
Sugeno模糊模型的倒立摆模糊建模。
倒立摆的动力学方程为:
1 x2 x 2 x
2 g sin(x1 ) amlx2 sin(2 x1 ) / 2 a cos(x1 )u
Sugeno模糊模型建模
1.Sugeno模糊模型 传统的模糊系统为 Mamdani 模糊模型, 输出为模糊量。 Sugeno 模糊模型输出隶属函数为常量
或线性函数,其函数形式为: ya y ax b
对于传统的 MIMO 系统而言,我们可 将其看成是多个MISO 系统的叠加。
而多输入、单输出系统的离散时间模
f ( x, a, b, c) 1 xc 1 a
2b
其中参数b通常为正,参数c用于确定曲线 的中心。Matlab表示为:
gbellmf(x,[a, b, c])
(3) S形隶属函数 S形函数由参数a和c决定:
f ( x, a, c)
1 1 e a ( x c )
其中参数 a 的正负符号决定了 S形隶属函数 的开口朝左或朝右,用来表示“正大”或 “负大”的概念。Matlab表示为 :
4 . 模糊系统的设计
设计步骤如下:
(1) 模糊系统的结构 (2) 定义输入、输出模糊集 (3) 定义输入、输出隶属函数 (4) 建立模糊控制规则 (5) 建立模糊控制表
(6)模糊推理
例: 对于国外饭店小费给定问题。根据侍
者的服务和饭菜的质量付给侍者小费。如 果给定0~10表示服务以及饭菜质量(10表 示很好),那么如何付给侍者小费呢? 下面设计一个模糊推理系统来完成。即
(5) 三角形隶属函数 三角形曲线的形状由三个参数 a,b,c 确定:
0 xa b a f ( x, a, b, c) c x c b 0 xa a xb b xc xc
其中参数 a 和 c 确定三角形的“脚”,而 参数 b 确定三角形的“峰”。 Matlab 表 示为: trimf(x, [a, b, c])
4 / 3l aml cos2 x1
当摆角 x 1
时,有:
很小 和摆速 x 2
co s x1 1
amlx2 2 0
sin x1 x1
在平面上对倒立摆模型进行局部线性 化,倒立摆的动力学方程可近似写为:
1 x2 x g a 2 x x1 u 4 / 3l aml 4 / 3l aml
c ( x) A ( x) B ( x)
γ取值为[0,1]。
1
1 (1 A ( x)) (1 B form
公司研制的著名模糊控制软件 Fuzzy-Tech
中。
3 . 隶属函数
几种典型的隶属函数:
A x, x R,1.0 x 10.0
以上两个集合可以称为清晰集合。 对任意元素x,只有两种可能:属于
A,不属于A。这种特性可以用特征函数
A(x ) 来描述:
1 A(x ) 0
x A x A
为了表示模糊概念,需要引入模糊 集合和隶属函数的概念:
x A 1 A ( x) (0,1) x属于A的程度 0 x A
= Ax Bu x
其中
1 0 A 15 . 8919 0
0 , B 0.0811
选择期望的闭环极点 10 10i,10 10i , 采用
u F x 的反馈控制,利用极点配置
函数place(A,B,P) ,可以得到系统的反馈增 益矩阵F:
sigmf(x,[a,c])
(4) 梯形隶属函数 梯形曲线可由四个参数a,b,c,d确定:
0 xa b a f ( x, a, b, c, d ) 1 d x d c 0 xa a xb bxc cxd xd
其中参数a和d确定梯形的“脚”,而参数 b 和 c 确定梯形的“肩膀”。 Matlab 表示 为: trapmf(x, [a, b, c, d])
型可以由多条模糊规则组成的集合来表示
,其中第i条模糊规则的形式为:
i Ri : if x1 is A1i AND x2 is A2 i yi p0 p1i x1 i pm xm i , AND xp is Ap THEN
例:设计一个Sugeno系统。设输入X 0,5
Y 0,10,将它们模糊化为两个模糊量:
(1)交运算算子
设C=A∩B,有三种模糊算子:
① 模糊交算子
c(x ) Min A(x ), B (x )
②
代数积算子 c(x ) A(x ) B (x )
③ 有界积算子 c ( x) Max0, A ( x) B ( x) 1
(2)并运算算子 设C=A∪B,有三种模糊算子: ① 模糊并算子
F -2662.7 - 246.7
由于要求倒立摆的摆角和摆速很小, 故取倒立摆的摆角范围 [-15 , 15] 度,摆速 范围 [-200 , -200] 度 / 秒,摆角加速度为 [200 , -200] 度 / 秒 2 。采用三角形隶属函数 对摆角和摆角角速度进行模糊化。摆角初始 状态为[12度,-120度/秒] 。