matlab模糊控制中论域11条

合集下载

模糊控制习题2

模糊控制习题2

模糊控制习题1、举出有限论域上的一个模糊集,并用三种形式表示之。

2、设论域 U ={u 1, u 2, u 3, u 4, u 5};A =(0.2 0.1 0.5 1 0.7);B =(0.4 0.8 0.9 0 0.2);C =(0.1 0.7 0.6 0.4 0.3),试求A ∪B ,A ∩B ,A C ,(A ∪B )∩C 。

3、对企业论域 U ={u 1, u 2, u 3, u 4, u 5, u 6},有A =“大企业”=(0.4 0.3 0.7 0.2 0.5 0.8);B =“小企业”=(0.5 0.6 0.5 0.7 0.4 0.3);试求 (1) C =“非大企业”; (2) D =“非小企业”;(3) E =“或大或小企业”; (3) F =“中型企业”。

4、给定模糊集合A 、B 和C ,确定他们的λ切割。

{}221()(2,1),(3,0.8),(4,0.6),(5,0.4),(6,0.2),(7,0.4),(8,0.6),(9,0.8),(10,1)0.2,0.51()0.2,0.5;[0,]1(10)010()0.3,0.5;[0,]10(1(10))A B C x x x x x x x x x μαμαμα-=====∞+-≤⎧===∞⎨>+-⎩ 123451234512351351335{,,,,}{,,,,}0.2{,,,}0.5{,,}0.60.7{,}0.2{}U u u u u u u u u u u u u u u A u u u u u u A λλλλλλ=⎧=⎪=⎪⎪==⎨⎪=⎪=⎪⎩、若, 试用分解定理求。

26{0,1,2,3,4,5}{0,1,2,,25}:() (0.2 0.4 0.8 0.1 1 0.5)()x y f x y x f x x x A f A ==→→== 、设 , 有映射 , 在 中定义 ,求 。

7、双边高斯函数MF ,由下式定义:211111221222221exp 2(,,,,)11exp 2s x c x c gauss x c c c x c x c c xσσσσ⎧⎡⎤⎛⎫-≤⎪⎢⎥-⎪⎪⎢⎥⎝⎭⎣⎦⎪⎪=<<⎨⎪⎡⎤⎛⎫-⎪⎢⎥-⎪⎪≤⎢⎥⎝⎭⎪⎣⎦⎩1)编一个MATLAB 程序实现上述MF ;2)对不同的参数画出这个MF ; 3)找出该MF 的交叉点和宽度。

模糊控制规则表49条

模糊控制规则表49条

模糊控制规则表49条1.如果误差小于等于0,则输出为0。

2. 如果误差大于0且小于等于0.5,则输出为0.5-误差。

3. 如果误差大于0.5且小于等于1,则输出为1-误差。

4. 如果误差大于1,则输出为1。

5. 如果误差为0且变化率小于等于0,则输出为0。

6. 如果误差为0且变化率大于0,则输出为0.5。

7. 如果误差小于等于0且变化率小于等于0,则输出为0。

8. 如果误差小于等于0且变化率大于0,则输出为0.5。

9. 如果误差大于0且小于等于0.2且变化率小于等于0,则输出为0.2-误差。

10. 如果误差大于0且小于等于0.2且变化率大于0,则输出为0.6-误差。

11. 如果误差大于0.2且小于等于0.4且变化率小于等于0,则输出为0.4-误差。

12. 如果误差大于0.2且小于等于0.4且变化率大于0,则输出为0.8-误差。

13. 如果误差大于0.4且小于等于0.6且变化率小于等于0,则输出为0.6-误差。

14. 如果误差大于0.4且小于等于0.6且变化率大于0,则输出为1-误差。

15. 如果误差大于0.6且小于等于0.8且变化率小于等于0,则16. 如果误差大于0.6且小于等于0.8且变化率大于0,则输出为1-误差。

17. 如果误差大于0.8且小于等于1且变化率小于等于0,则输出为1-误差。

18. 如果误差大于0.8且小于等于1且变化率大于0,则输出为1。

19. 如果误差小于等于0.1且变化率小于等于0,则输出为0。

20. 如果误差小于等于0.1且变化率大于0,则输出为0.4。

21. 如果误差大于0.1且小于等于0.3且变化率小于等于0,则输出为0.2-误差。

22. 如果误差大于0.1且小于等于0.3且变化率大于0,则输出为0.6-误差。

23. 如果误差大于0.3且小于等于0.5且变化率小于等于0,则输出为0.4-误差。

24. 如果误差大于0.3且小于等于0.5且变化率大于0,则输出为0.8-误差。

模糊控制系统及其MATLAB实现

模糊控制系统及其MATLAB实现

1.模糊控制的相关理论和概念1.1 模糊控制的发展模糊控制理论是在美国加州伯克利大学的L. A.Zadeh教授于1965年建立的模糊集合论的数学基础上发展起来的。

之后的几年间Zadeh又提出了模糊算法、模糊决策、模糊排序、语言变量和模糊IF-THEN规则等理论,为模糊理论的发展奠定了基础。

1975年, Mamdan和Assilian创立了模糊控制器的基本框架,并用于控制蒸汽机。

1978年,Holmblad和Ostergaard为整个工业过程开发出了第一个模糊控制器——模糊水泥窑控制器。

20世纪80年代,模糊控制开始在工业中得到比较广泛的应用,日本仙台地铁模糊控制系统的成功应用引起了模糊领域的一场巨变。

到20世纪90年代初,市场上已经出现了大量的模糊消费产品。

近30 年来, 因其不依赖于控制对象的数学模型、鲁棒性好、简单实用等优点, 模糊控制已广泛地应用到图像识别、语言处理、自动控制、故障诊断、信息检索、地震研究、环境预测、楼宇自动化等学科和领域, 并且渗透到社会科学和自然科学许多分支中去, 在理论和实际运用上都取得了引人注目的成果。

1.2 模糊控制的一些相关概念用隶属度法来定义论域U中的集合A,引入了集合A的0-1隶属度函数,用A(x) 表示,它满足:A(x)用0-1之间的数来表示x属于集合A的程度,集合A等价与它的隶属度函数A(x)模糊系统是一种基于知识或基于规则的系统。

它的核心就是由所谓的IF-THEN规则所组成的知识库。

一个模糊的IF-THEN规则就是一个用连续隶属度函数对所描述的某些句子所做的IF-THEN形式的陈述。

例如:如果一辆汽车的速度快,则施加给油门的力较小。

这里的“快”和“较小”分别用隶属度函数加以描述。

模糊系统就是通过组合IF-THEN规则构成的。

构造一个模糊系统的出发点就是要得到一组来自于专家或基于该领域知识的模糊IF-THEN规则,然后将这些规则组合到单一系统中。

不同的模糊系统可采用不用的组合原则。

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制介绍及Matlab模糊控制工具箱使用

模糊控制介绍及Matlab模糊控制工具箱使用目录•一、模糊控制的产生•二、模糊逻辑的理论基础•三、模糊控制Matlab工具箱示例•四、模糊控制的基本思想•五、模糊控制器的基本结构•六、模糊控制器的优缺点一、模糊控制的产生在传统控制领域,对于明确系统有强而有力的控制能力,即被控系统的动态信息越详细,越能达到精确控制的目的。

然而,在多变量、非线性的复杂系统中,往往难以完全描述系统的动态信息。

此时,传统的控制理论则显得无能为力,而有经验的专家或工作人员仍能根据长期实践观察和操作经验进行有效控制。

据此引申,是否可将人的操作经验总结为若干条控制规则以避开复杂模型的建立过程?模糊控制最重要的特征是反应人们的经验及推理规则,而这些经验和推理规则是通过自然语言来表达的,如“水温上升过快,则关小燃气阀”。

在控制系统初期,由于对系统缺乏了解,控制效果可能不好,但若干次探索后终能实现预期的控制,这就是经验对模糊控制系统的重要性。

由于模糊控制实质上是用计算机去执行人的控制策略,因而可以避开复杂模型的建立,对人们关于某个控制问题的成功和失败经验加工,总结出知识,从中提炼出控制规则,实现复杂系统的控制。

PS:“模糊”是人类感知万物,获取知识,思维推理,决策实施的重要特征。

“模糊”比“清晰”所拥有的信息量更大,更符合客观世界。

二、模糊逻辑的理论基础模糊逻辑是指模仿人脑不确定性的概念判断和推理思维,对于定性的知识和经验,借助隶属度概念、模糊集合,来处理模糊关系。

模糊逻辑实质上是要对模糊性对象进行精确描述和处理。

模糊逻辑的目的是将一个输入空间映射到一个输出空间,主要要靠一系列的if-then规则。

这些规则包含变量和描述这些变量的形容词,被平行评估,因此它们的顺序不重要。

在进行模糊推理之前,先要定义好输入和输出变量以及描述它们的形容词。

模糊推理的流程如下图所示。

模糊推理流程2.1、模糊集合普通情况下,元素a属于集合A(1)或不属于集合A(0),如下图所示,星期一和星期三都是工作日,而苹果和星星则不是。

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

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

plot(a,’input’,1)
注意:对于每个语言变量的隶属度函数按该函数被添加的顺 序编号,编号从1开始,依次递增。
3、FIS系统相关操作
① 函数newfis
功能:创建并返回一个新的模糊推理系统。
格式:a=newfis(‘fisName’) ②函数readfis 功能:从磁盘中读出并返回模糊推理系统结构变量。 格式:Fismat=readfis(‘filename’) 说明:打开一个由filename指定的数据文件(.fis),并将 其加载到当前的工作空间(Workspace)中的变量Fismat中。
例:fis=readfis(‘tipper’);
out=evalfis([2 1; 4 9],fis) 输出结果:out=7.0169
19.6810
MATLAB模糊控制系统设计实例1
一、设计目的:了解用MATLAB模糊工具箱的图形界面可视化 工具实现模糊控制系统的方法。 二、系统设计要求: 1、输入变量:偏差e、偏差变化率de;输出变量:u 相应隶属度函数为:
②函数addmf
功能:向模糊推理系统的语言变量添加隶属度函数。
格式:a=addmf(a, varType, varIndex,mfName,mfType, mfParams)
说明:隶属度函数只能为模糊推理系统中已经存在的某 一语言变量的语言值添加隶属度函数。参数列表中,a为 模糊推理系统对应的矩阵变量名, varType指定语言变量 类型的字符串(如‘input’或‘output’); varIndex指定 语言变量编号的数字;mfName指定隶属度函数名称; mfType指定隶属度函数类型; mfParams指定隶属度函数 的参数。
③ 函数gaussmf 功能:建立高斯型隶属度函数。

模糊控制matlab

模糊控制matlab

模糊控制matlab模糊控制是一种基于模糊数学理论的控制方法,它可以有效地处理非线性系统和模糊系统的控制问题。

在模糊控制中,通过将输入、输出和中间变量用模糊集合表示,设计模糊逻辑规则以实现控制目标。

本文将介绍如何用Matlab实现模糊控制,并通过实例讲解其应用和效果。

1. 模糊集合的表示在Matlab中,我们可以使用fuzzy工具箱来构建和操纵模糊系统。

首先,我们需要定义输入和输出的模糊集合。

例如,如果我们要控制一个直线行驶的自动驾驶汽车,可以定义速度和方向作为输入,定义方向盘角度作为输出。

我们可以将速度和方向分别划分为缓慢、中等、快速三个模糊集合,将方向盘角度划分为左转、直行、右转三个模糊集合。

可以使用Matlab的fuzzy工具箱中的fuzzy集合函数实现:slow = fuzzy(fis,'input',[-10 -10 0 20]);gap = fuzzy(fis,'input',[0 20 60 80 100]);fast = fuzzy(fis,'input',[60 80 110 110]);其中,fis为模糊系统对象,输入和输出的模糊集合分别用fuzzy函数定义,分别用输入或输出、模糊集合变量名、模糊集合界限参数表示,如fuzzy(fis,'input',[-10 -10 0 20])表示定义一个输入模糊集合,变量名为slow,其界限参数为[-10 -10 0 20],即表示此模糊集合上下界是[-10,-10]和[0,20]。

2. 设计模糊控制规则在Matlab中,可以使用fuzzy工具箱的ruleviewer函数来设计模糊控制的规则库。

规则库由模糊条件和模糊结论构成,用if-then形式表示。

例如,定义类别均为slow和keep的输入,输出为类别均为left的控制操作的规则如下:rule1 = "if (slow is slow) and (keep is keep) then (left is left);";其中,slow和keep为输入的模糊变量名,left为输出的模糊变量名。

模糊控制在matlab中的实例

模糊控制在matlab中的实例以下是一个模糊控制的MATLAB实例:假设我们要控制一个水平摆,使其保持在垂直状态。

我们可以使用模糊控制器来实现这个任务。

首先,我们需要定义输入和输出变量。

对于输入变量,我们可以选择摆的角度和摆的角速度,对于输出变量,我们可以选择施加到摆上的力。

```matlab% 定义输入变量angle = fuzzymf("angle", [-90 -45 0 45 90], "trimf", [-90 -45 0 45 90]);angular_velocity = fuzzymf("angular_velocity", [-10 -5 0 5 10], "trimf", [-10 -5 0 5 10]);% 定义输出变量force = fuzzymf("force", [-20 -10 0 10 20], "trimf", [-20 -10 0 10 20]);```接下来,我们定义模糊规则。

这些规则描述了如果摆的角度和角速度是什么,我们应该施加多少力,以使摆保持垂直。

```matlab% 定义模糊规则rules = [1 1 3 1;1 2 4 1;1 3 5 2;2 1 2 1;2 23 1;2 3 4 2;3 1 1 2;3 2 2 1;3 3 3 1;4 1 1 3;4 2 2 2;4 3 3 1;5 1 1 3;5 2 2 2;5 3 4 3];% 定义模糊推理引擎fis = mamfis("Name", "Pendulum Fuzzy Controller", "NumInputs", 2, "NumOutputs", 1);fis.Inputs(1).MembershipFunctions = angle;fis.Inputs(2).MembershipFunctions = angular_velocity; fis.Outputs(1).MembershipFunctions = force;fis.Rules = rules;```最后,我们可以使用模糊控制器来控制水平摆。

模糊控制在matlab中的实例

模糊控制在matlab中的实例模糊控制是一种应用广泛的控制方法,它可以处理那些难以精确建立数学模型的系统。

在Matlab中,使用Fuzzy Logic Toolbox工具箱可以方便地实现模糊控制系统。

以下是一个简单的模糊控制器示例,控制一个小车的速度和方向,使得其能够沿着预设的轨迹行驶。

1. 首先,定义输入和输出变量。

这里我们需要控制小车的速度和转向角度。

代码如下:```speed = newfis("speed");speed = addvar(speed,"input","distance",[0 10]);speed = addmf(speed,"input",1,"slow","trimf",[0 0 5]);speed = addmf(speed,"input",1,"fast","trimf",[5 10 10]); speed = addvar(speed,"output","velocity",[-10 10]);speed = addmf(speed,"output",1,"reverse","trimf",[-10-10 -2]);speed = addmf(speed,"output",1,"stop","trimf",[-3 0 3]); speed = addmf(speed,"output",1,"forward","trimf",[2 10 10]);angle = newfis("angle");angle = addvar(angle,"input","position",[-1 1]);angle = addmf(angle,"input",1,"left","trimf",[-1 -1 0]);angle = addmf(angle,"input",1,"right","trimf",[0 1 1]); angle = addvar(angle,"output","steering",[-1 1]);angle = addmf(angle,"output",1,"hard_left","trimf",[-1 -1 -0.5]);angle = addmf(angle,"output",1,"soft_left","trimf",[-1 -0.5 0]);angle = addmf(angle,"output",1,"straight","trimf",[-0.5 0.5 0.5]);angle = addmf(angle,"output",1,"soft_right","trimf",[0 0.5 1]);angle = addmf(angle,"output",1,"hard_right","trimf",[0.5 1 1]);```2. 然后,定义模糊规则。

模糊控制的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)(4)


解模糊后,还要经过尺度变换,求出实际输出。
y y u u man min max min y k ( u ) u 1 2 2
u1 :为精确量; ymax,ymin:为控制量的变化范围;4~20mA 或 1~5V。 y:为计算机输出的控制量; ku:比例因子。
小结:
模糊控制系统的基本构成以及模糊控制器各部分的功能。 模糊化 知识库 决策逻辑
1)确定输入量 2)对输入量进行尺度变换,使其在各自的论域范围。 3)对输入量进行模糊处理,用相应的模糊集合表示。 1、最大隶属度函数法 反模糊化 作业: P66 2、加权平均法(重心法) 3、取中位数法 3-1 3-2
第二节 模糊控制系统的设计
模糊逻辑控制器的工作过程:
每采集一组数(data)(ei,dei),经模糊化 (Fuzzy)→ E,DE→ Fuzzy推理(inference)合成运算得Ui →精确化(defuzzification) 得ui →尺度变换得yi 。 上述所有工作为在线(on-line)运算 速度慢,实时性差 能否先(off-line)制出表格数据(模糊查询表)looking up table 在线时,只要有一组(ei,dei),即可从表中查出u。
0 . 3 0 . 7 1 0 . 7 0 . 3 PM 2 3 4 5 6
这样就将一个精确数转变成了模糊数。
二、模糊控制规则
有四种方法:专家经验法、观察法、基于模糊模型、自组织法 专家经验法:通过对专家控制经验的咨询形成控制规则库。 采用“if-then”规则语言来表达经验。
规则库:用语言值表示的控制规则。反映控制专家的经验 和知识。
▲模糊化
▲决策逻辑
模糊控制系统的核心,对模糊量由给定的规则进 行模糊推理 ▲反模糊化 将模糊输出量转化为精确量 1)将模糊量变换成精确量 2)精确量经尺度变换成实际的控制量。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab模糊控制中论域11条
摘要:
一、引言
二、matlab 模糊控制的基本概念
三、matlab 模糊控制的论域
四、matlab 模糊控制的实现
五、matlab 模糊控制中的优化方法
六、matlab 模糊控制的应用实例
七、总结
正文:
一、引言
模糊控制是一种以模糊语言变量、模糊集合论和模糊逻辑推理为基础的控制理论。

相较于传统的控制方法,模糊控制更具有智能化、实时性和灵活性等特点,因此在工业生产和大系统控制过程中得到了广泛应用。

其中,MATLAB 作为一种强大的数学软件,为模糊控制提供了方便的仿真和实现平台。

本文将从MATLAB 模糊控制的基本概念、论域、实现、优化方法以及应用实例等方面进行详细阐述。

二、matlab 模糊控制的基本概念
模糊控制算法是一种非线性智能控制方法,它以模糊逻辑推理为核心,通过将连续的输入信号转换为模糊集合,然后根据预先设定的模糊控制规则,计算出模糊输出,最后将模糊输出转换为实际控制信号。

这一过程依赖于模糊控制器的结构和参数,其中论域是模糊控制器设计的重要参数之一。

三、matlab 模糊控制的论域
在MATLAB 模糊控制中,论域是指模糊控制器的输入和输出变量所处的模糊集合。

论域的划分直接影响到模糊控制器的控制效果。

一般来说,论域的划分需要考虑实际控制需求、系统的非线性特性以及控制精度等因素。

通过合理地选择和设计论域,可以提高模糊控制器的控制性能和鲁棒性。

四、matlab 模糊控制的实现
在MATLAB 中,可以通过Fuzzy Logic Toolbox 提供的函数和方法实现模糊控制。

具体步骤包括:创建模糊控制系统对象、定义模糊变量、划分论域、建立模糊控制规则、模拟和仿真等。

其中,模糊控制规则的设计是模糊控制器设计的关键环节,需要根据实际控制需求和系统的动态特性进行合理地设置。

五、matlab 模糊控制中的优化方法
为了提高模糊控制器的控制性能和鲁棒性,可以采用遗传优化等方法对模糊控制器进行优化设计。

在MATLAB 中,可以通过Genetic Algorithm Toolbox 提供的函数和方法实现遗传优化。

具体步骤包括:创建遗传优化对象、设置优化参数、初始化种群、选择父代、交叉操作、变异操作、适应度评估等。

通过遗传优化,可以得到性能更优的模糊控制器。

六、matlab 模糊控制的应用实例
MATLAB 模糊控制在实际应用中具有广泛的应用前景,例如水箱液面控制系统、电磁阀控制系统等。

通过实际应用实例,可以进一步了解和掌握MATLAB 模糊控制的原理和方法。

七、总结
本文从MATLAB 模糊控制的基本概念、论域、实现、优化方法以及应用实例等方面进行了详细阐述。

通过学习本文,读者可以了解到MATLAB 模糊控制作为一种智能控制方法,在实际应用中具有广泛的应用前景和优越性。

相关文档
最新文档