模糊控制习题一
- 格式:doc
- 大小:94.00 KB
- 文档页数:3
大作业: 设三个被控对象的传递函数分别为25.01)1()(+=-s es G s)456.864.1)(5.0(228.4)(22+++=s s s s G33)3)(1(27)(++=s s s GI. 选择传递函数()1G s(1) 首先设计常规PD 控制器,尽量满足参考指标;(2) 将PD 控制器输入输出数据作为专家操作试验数据,分别设计Mamdany 型和T-S 型模糊控制器,进行仿真计算;对模糊控制器,考虑以下因素对系统性能的影响 ①模糊控制器方案的选择; ②语言变量取法;③论域的划分; ④模糊子集(隶属函数)的形状和分布。
(3) 比较PD 、Mamdany 型和T-S 型模糊控制器下系统的性能。
II. 参考性能指标:(1) r(t)=1(t) 时稳态误差为0 ; (2) 超调量不超过5 % ; (3) 调节时间不超过2秒。
确定控制方案, 设计模糊控制器.要求: 设计仿真框图, 编制程序, 给出计算结果及曲线。
(1) 仿真框图(2) 输入输出语言变量的语言值分布图(3) 模糊控制规则表面图 (4) 阶跃响应曲线(5) 性能指标值(稳态误差,超调量,调节时间)模糊控制系统设计1.系统结构确定2.控制规则获取(借助于PD 控制器);)()()(t eK t e K t u d p += 3.定义基本论域,调整语言变量的语言值;4.仿真计算,给出结果(仿真图,语言值分布图,控制规则图,系统动、静态指标)。
)456.864.1)(5.0(228.4)(22+++=s s s s G模糊控制系统仿真 I:\fuzzy\上机作业讲解例1. 用fuzzy 工具箱构建FIS1.PD 仿真,定基本论域 I:\fuzzy\模糊控制演示程序:shiyan01. mdl2.建立模糊模型 3.建立模糊控制器 4.仿真检验例2. 用fuzzy 程序构建FIS1.PD 仿真,定基本论域 I:\fuzzy\模糊控制演示程序:shiyan02. mdl2.建立模糊模型3.建立模糊控制器 I:\fuzzy\模糊控制演示程序:shiyan02. mdl 4.修正论域及语言值分布 5.仿真检验例3. 构建T-S 模糊模型1.确定各模糊条件语言的后件函数2.建立模糊模型3.建立模糊控制器 I:\fuzzy\模糊控制演示程序:shiyan02. mdl 4.仿真检验例1 用Fuzzy 工具箱建立模糊控制器(Mamdani)2.3 1.35u e e =--控制规则表1:fuzzy01U EC Eec1 -1.0 ec2 0.0 ec3 1.0 e1 -1.0 3.65 u5 2.3 u4 0.95 u3e2 0.01.35 u4 0.0 u3 -1.35 u2e3 1.0 -0.95 u3 -2.3 u2 -3.65 u1输出语言变量的语言值控制规则表1:U EC Eec1 ec2 ec3 e1 u5 u4 u3 e2 u4 u3 u2 e3u3u2u1Uu1 u2 u3 u4 u54-2-24例2 用程序建立模糊控制器(Mamdani)[]2.3 1.16u e e=-+控制规则表2:shiyan1U EC E ec1-1.0ec2-0.5ec30.0ec40.5ec51.0e1 -1.0 3.46 u5 2.88 u5 2.30 u4 1.72 u4 1.14 u4 e2 -0.5 2.31 u4 1.73 u4 1.15 u40.57 u30.01 u3 e3 0.0 1.16 u40.58 u30.00 u3-0.58 u3-1.16 u2 e4 0.5-0.01 u3-0.57 u3-1.15 u2-1.73 u2-2.31 u2 e5 1.0-1.14 u2-1.72 u2-2.30 u2-2.88 u1-3.46 u1输出语言变量的语言值U u1u2u3u4u53.6- 1.8-0 1.8 3.6控制规则表2:clear;clc;a=newfis('fis1');a=addvar(a,'input','e',[-3 7]);a=addmf(a,'input',1,'负大','gaussmf',[0.3,-3]); a=addmf(a,'input',1,'负小','gaussmf',[0.3,0]); a=addmf(a,'input',1,'零','gaussmf',[0.3,2]);a=addmf(a,'input',1,'正小','gaussmf',[0.3,4]); a=addmf(a,'input',1,'正大','gaussmf',[0.3,7]); plotmf(a,'input',1);pause;a=addvar(a,'input','ec',[-2 4]);a=addmf(a,'input',2,'负大','gaussmf',[0.3,-2]); a=addmf(a,'input',2,'负小','gaussmf',[0.3,0]); a=addmf(a,'input',2,'零','gaussmf',[0.3,1]);a=addmf(a,'input',2,'正小','gaussmf',[0.3,2]); a=addmf(a,'input',2,'正大','gaussmf',[0.3,4]);plotmf(a,'input',2);pause;a=addvar(a,'output','u',[-5 5]);a=addmf(a,'output',1,'负大','gaussmf',[0.3,-5]);a=addmf(a,'output',1,'负小','gaussmf',[0.3,-1.5]);a=addmf(a,'output',1,'零','gaussmf',[0.3,0]);a=addmf(a,'output',1,'正小','gaussmf',[0.3,1.5]);a=addmf(a,'output',1,'正大','gaussmf',[0.3,5]);plotmf(a,'output',1);pause;控制规则表2“E”值,“EC”值,“U”值,语句权系数,“and”rulelist=[1 1 5 1 1;1 2 5 1 1;1 3 4 1 1;1 4 4 1 1;1 5 4 1 1;2 1 4 1 1;2 2 4 1 1;2 3 4 1 1;2 43 1 1;2 53 1 1;3 14 1 1;3 2 3 1 1;3 3 3 1 1;3 4 3 1 1;3 5 2 1 1;4 1 3 1 1;4 2 3 1 1;4 3 2 1 1;4 4 2 1 1;4 5 2 1 1;5 1 2 1 1;5 2 2 1 1;5 3 2 1 1;5 4 1 1 1;5 5 1 1 1]; a=addrule(a,rulelist); %gensurf(a);pause; fuzzy;shiyan02;% lffz;例3建立模糊控制器(Sugeno)[]=-+2.3 1.16u e e控制规则表3:u=a.e+b.ec+cU ECec1 ec2 ec3 Ee1 u1= 3u2=-2.3e+1u3= -1e2 u4=-1.16ec+2u5=-2.3e-1.16ec u6=-1.16ec-2 e3 u7= 1u8=-2.3e-1u9= -3上机作业:设三个被控对象的传递函数分别为25.01)1()(+=-s es G s)456.864.1)(5.0(228.4)(22+++=s s s s GIII. 选择其中之一, 分别为其设计常规PD 控制器和模糊控制器(E,EC →U),比较两者性能.对模糊控制器,考虑以下因素对系统性能的影响, ①模糊控制器方案的选择; ②语言变量取法;③论域的划分; ④模糊子集(隶属函数)的形状和分布; IV. 参考性能指标:(1) r(t)=1(t) 时稳态误差为0 ; (2) 超调量不超过5 % ; (3) 调节时间不超过2秒. 确定控制方案, 设计模糊控制器.要求: 设计仿真框图, 编制程序, 给出计算结果及曲线。
一、填空题1、模糊控制器由模糊化接口、解模糊接口、知识库和模糊推理机组成2、一个单神经元的输入是 1.0 ,其权值是 1.5,阀值是-2,则其激活函数的净输入是-0.5 ,当激活函数是阶跃函数,则神经元的输出是 13、神经网络的学习方式有导师监督学习、无导师监督学习和灌输式学习4、清晰化化的方法有三种:平均最大隶属度法、最大隶属度取最小/最大值法和中位数法,加权平均法5、模糊控制规则的建立有多种方法,是:基于专家经验和控制知识、基于操作人员的实际控制过程和基于过程的模糊模型,基于学习6、神经网络控制的结构归结为神经网络监督控制、神经网络直接逆动态控制、神网自适应控制、神网自适应评判控制、神网内模控制、神网预测控制六类7.傅京逊首次提出智能控制的概念,并归纳出的3种类型智能控制系统是、和。
7、人作为控制器的控制系统、人机结合作为控制器的控制系统、无人参与的自主控制系统8、智能控制主要解决传统控制难以解决的复杂系统的控制问题,其研究的对象具备的3个特点为、和。
8、不确定性、高度的非线性、复杂的任务要求9.智能控制系统的主要类型有、、、、和。
9、分级递阶控制系统,专家控制系统,神经控制系统,模糊控制系统,学习控制系统,集成或者(复合)混合控制系统10.智能控制的不确定性的模型包括两类:(1) ;(2) 。
10、(1)模型未知或知之甚少;(2)模型的结构和参数可能在很大范围内变化。
11.控制论的三要素是:信息、反馈和控制。
12.建立一个实用的专家系统的步骤包括三个方面的设计,它们分别是、和。
知识库的设计推理机的设计人机接口的设计13.专家系统的核心组成部分为和。
知识库、推理机14.专家系统中的知识库包括了3类知识,它们分别为、、和。
判断性规则控制性规则数据15.专家系统的推理机可采用的3种推理方式为 推理、 和 推理。
15、正向推理、反向推理和双向推理16.根据专家控制器在控制系统中的功能,其可分为 和 。
习题-模糊辨识与模糊⾃适应控制(双语)⼀. In contrast with the classical control, what are the characteristics of fuzzy control?Which parts are contained in the simple fuzzy control system? Please present the corresponding block diagram and explain the principle. [与传统控制相⽐,模糊控制的特点是什么?简单模糊控制系统是由哪⼏部分组成的?画出其结构框图并简述其⼯作原理。
]⼆. Fuzzy relation model 、T-S fuzzy model and fuzzy hyperbolic model are threefuzzy model structures used to construct the fuzzy control system. 1. Please describe how to identify the T-S fuzzy model in details.2. Comparing with T-S fuzzy model, what are the advantages of fuzzy hyperbolic model? Why the generalized fuzzy hyperbolic model is introduced? What are the similarities and differences between the generalized fuzzy hyperbolic model and fuzzy hyperbolic model?[⽬前⽤于模糊控制系统构造的模糊模型结构主要有模糊关系模型、T-S 模糊模型和模糊双曲正切模型。
第2章模糊控制3.1模糊控制的基本思想研究和考虑人的控制行为特点,对于无法构造数学模型的对象让计算机模拟人的思维方式,进行控制决策。
将人的控制行为,总结成一系列条件语句,运用微机的程序来实现这些控制规则。
在描述控制规则的条件语句中的一些词,如“较大”、“稍小”、“偏高”等都具有一定的模糊性,因此用模糊集合来描述这些模糊条件语句,即组成了所谓的模糊控制器。
3.2模糊集合的定义模糊集合的定义:给定论域U,U到[0,1]闭区间的任一映射μAμA:U→[0,1]都确定U的一个模糊集合A,μA称为模糊集合且的隶属函数。
μA(x)的取值范围为闭区间[0,1],μA(x)接近1,表示x属于A的程度高;μA(x)接近0,表示x 属于A的程度低。
3.3常用的3种模糊集合的表示方法,(1)Zadeh表示法用论域中的元素xi 与其隶属度μA(x i)按下式表示A,则在Zadeh表示法中,隶属度为零的项可不写入。
(2)序偶表示法用论域中的元素xi 与其隶属度μA(x i)的构成序偶来表示且,则在序偶表示法中,隶属度为零的项可省略。
(3)向量表示法用论域中元素xi 的隶属度μA(x i)构成向量来表示,则在向量表示法中,隶属度为零的项不能省略。
3.4凸模糊集的定义若A是以实数R为论域的模糊集合,其隶属函数为μA(x),如果对任意实数a<x<b,都有则称A为凸模糊集。
凸模糊集实质上就是其隶属函数具有单峰值特性。
1⎪b - a (x - a ), a ≤ x < b μ (x ) = ⎨ (x - c ), b ≤ x ≤ c⎪ ⎩ ⎪b - x μ (x ) = ⎨ , a < x ≤ b⎪第 2 章 模糊控制3.5 常见的4种隶属函数(1)正态型正态型是最主要也是最常见的一种分布,表示为其分布曲线如图2-4所示。
图 2-4 正态型分布曲线(2)三角型 ⎧ 1 ⎪ ⎪ 1 b - c⎪0, 其它 ⎪(3) 降半梯形⎧1,x ≤ a b - a⎪⎩0, b < x(4)升半梯形2⎪ x - a μ (x ) = ⎨ , a < x < b⎪ ⎪ x ⎣ ⎦ ⎢0. 5 ∧ 0. 2 0. 5 ∧ 0. 3 0. 5 ∧ 0. 6 0. 5 ∧ 1. 0 ⎢0. 2 0. 3 0. 5 0. 5 ⎥ ⎣ ⎦ ⎣ ⎦第 2 章 模糊控制⎧0,0 ≤ x ≤ a b - a⎩1, b ≤ x3.6 己知两个模糊向量分别如下所示,试求它们的笛卡儿乘积x =[0.9 0.5 0.2],y=[0.2 0.3 0.6 1]解:由定义,有⎡0. 9⎤x ⨯ y @ T o y = ⎢0. 5⎥ ο [0. 2 0. 3 0. 6 1. 0]⎢0. 2⎥= = ⎡0. 9 ∧ 0. 2 0. 9 ∧ 0. 3 0. 9 ∧ 0. 6 0. 9 ∧ 1. 0 ⎤ ⎥⎢ ⎥⎢0. 2 ∧ 0. 2 0. 2 ∧ 0. 3 0. 2 ∧ 0. 6 0. 2 ∧ 1. 0 ⎥⎡0. 2 0. 3 0. 6 0. 9 ⎤ ⎢ ⎥⎢0. 2 0. 2 0. 2 0. 2 ⎥ 3.7 模糊向量的内积与外积设有1×n 维模糊向量x 和1×n 维模糊向量y ,则定义为模糊向量x 和y 的内积。
模糊控制理论与应用专业:姓名:学号:指导教师:完成时间:二〇一一年八月1、设在论域e(误差)={-4,-2,0,2,4}和控制电压u={0,2,4,6,8}上定义的模糊子集的隶属度函数分别如图1、2所示。
图1图2已知模糊控制规则:规则1:如果误差e 为ZE ,则u 为ZE ; 规则2:如果误差e 为PS ,则u 为NS 。
试应用玛达尼推理法计算当输入误差e=0.6时,输出电压u=?(精确化计算采用重心法) 采用重心法去模糊化 解答:(1)输入输出模糊化 1) 确定输入输出变量,2) 确定输入输出变量的模糊语言值(模糊集合) 3) 建立隶属度函数方程 对于误差来说:1()(2)022()1()022ze e ps x x x x x x x μμμ⎧=--≤≤⎪⎪=⎨⎪=≤≤⎪⎩对于控制电压来说:1022()1(4)242()1(2)242()1(6)462NS u ZE y y y y y y y x y y y μμμ⎧⎧≤≤⎪⎪⎪=⎪⎨⎪⎪--≤≤⎪⎪⎪⎩=⎨⎧⎪-≤≤⎪⎪⎪=⎨⎪⎪⎪--≤≤⎪⎪⎩⎩(2(3)1)根据规则1:规则1、如果误差e 是ZE ,则控制U 为ZE;μ有:误差(0.6)0.7ZE μ=由规则1得到 故控制:10.7U ZE=解得:U 11=3.4,U 12=4.6;2)根据规则2、如果误差e 是PS ,则控制U 为NS;u μeμ 误差(0.6)0.3PS μ=由规则2得到 故控制:20.3U PS=解得:U 21=0.6,U 22=3.4;3)根据重心法,去模糊化输出电压为:00.7 3.40.7 4.60.30.60.3 3.43.40.70.70.30.3U ⨯+⨯+⨯+⨯==+++2、已知某一加炉炉温控制系统,要求温度保持在600℃恒定。
目前此系统采用人工控制方式,并有以下控制经验(1)若炉温低于600℃,则升压;低得越多升压越高。
(2)若炉温高于600℃,则降压;高得越多降压越低。
一、完成下述模糊集合的基本运算:
1、设论域为 12345678{x ,x ,x ,x ,x ,x ,x ,x }X =A 和B 为论域X 上的两个模糊
集合已知:
12345678
1
2
4
5
6
7
8
0.20.40.60.8 1.00.80.50.2A x x x x x x x x 0.50.7 1.00.80.60.40.2B x x x x x x x =
+++++++=
++++++
试计算:A B, A B, A (B A) 。
解: =
B A 8
76543212.05.08.00.10.16.07.05.0X X X X X X X X +++++++;
8765421
2.04.06.08.08.04.02.0X X X X X X X +
+++++=
B A ;
8
7
6
5
4
3
2
1
8.05.08.00.18.06.04.05.0)(X X X X X X X X A B +
++++++=
A ;
2、设X 、Y 、Z 为论域,X 到Y 的模糊关系为R ,Y 到Z 的模糊关系为S 。
已
知模糊关系矩阵为:
0.30.60.80.10.50.30.80.5
0.20.70.4
0.90.70.2R , S=0.90.10.80.50.10.40.50.3
0.4
0.2
0.60.4
0.1
0.9⎡⎤⎡⎤⎢⎥⎢⎥⎢
⎥⎢⎥
=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
⎣⎦
, 试求:X 到Z 的模糊关系。
分析:由于R 是X →Y 上的模糊关系,S 是Y →Z 上的模糊关系。
则X →Z 上的模糊关系为R 与S 的模糊合成。
解:编程实现本题的运算程序如下: #include <iostream.h> void main()
{
float d[4]={0};
float a[4][4]={{0.3,0.6,0.8,0.1},{0.5,0.2,0.7,0.4},
{0.9,0.1,0.8,0.5},{0.3,0.4,0.2,0.6}};
floatb[4][3]={{0.5,0.3,0.8},{0.9,0.7,0.2},
{0.1,0.4,0.5},{0.4,0.1,0.9}};
float c[4][3]={0}; int i,j,k;
for (i=0;i<4;i++)
for (k=0;k<3;k++) { for (j=0;j<4;j++) {
d[j]=(a[i][j]>b[j][k])?b[j][k]:a[i][j];
if (d[j]>d[0]) d[0]=d[j]; c[i][k]= d[0]; }
cout<<c[i][k]<<"\t";
}
}
运行上述程序可知:
⎥
⎥
⎥⎥
⎦
⎤
⎢⎢⎢
⎢⎣⎡=6.0085
.05.04.04.04.06.04
.05.05
.06.0S R
二、用于模糊控制的不确定性推理
定义论域为X ={x1, x2, x3, x4, x5};Y ={y1, y2, y3, y4, y5} 已知在论域X 上定义如下模糊子集:
*
0.20.40.60.8 1.01x2x3x4x50.7
1.00.80.60.3x1
x2
x3
x4
x5
A x A =+
+++
=
++
+
+
并在论域Y 上定义如下模糊子集:
0.20.50.7 1.00.81y2
y3
y4
y5
y ++++B=
若有如下模糊规则
if x is A then y is B
试完成推理:如果x 是*
A ,求*
B 。
分析:本题为简单的模糊推理,用模糊关系表示如下:
R(x,y)=(A->B)(x,y)=(1-A(x))∨(A(x)∧B(y))
其隶属函数的定义为:))()(())(1(,y x x y x B A A R
μμμμ∧∨-=)( 解:编程实现上述运算:
程序代码如下:
#include <iostream.h> void main() {
float A[5]={0.2,0.4,0.6,0.8,1.0}; float B[5]={0.2,0.5,0.7,1.0,0.8}; float C[5][5]={0}; float F[5][5]={0}; float H[5][5]={0};
int i,j;
for (i=0;i<5;i++) for (j=0;j<5;j++)
{ C[i][j]=(A[i]>B[j])? B[j]:A[i]; // cout<<C[i][j]<<"\t";
}
float D[5]={0}; for (i=0;i<5;i++) {
D[i]=1-A[i];
//cout<<D[i]<<"\t"; }
float E[5]={1,1,1,1,1}; for (i=0;i<5;i++) for (j=0;j<5;j++) {
F[i][j]=(D[i]>E[j])? E[j]:D[i];
//cout<<F[i][j]<<"\t"; }
for (i=0;i<5;i++) for (j=0;j<5;j++) {
H[i][j]=(C[i][j]<F[i][j])?F[i][j]:C[i][j];
cout<<H[i][j]<<"\t"; } }
运行以上程序可知:
⎥⎥⎥⎥
⎥⎥⎦
⎤
⎢⎢⎢
⎢⎢⎢⎣⎡=8.01
7
.05
.02
.08.08.07.05.02.06.06.06.05.04
.06
.06.06.06.06.08.08.08.08.08.0R
)
7.0,7.0,7.0,7.0,7.0(**==R A B
5
4
3
2
1
7.07.07.07.07.0*X X X X X B ++++=。