模糊控制的Matlab仿真实例分析
- 格式:ppt
- 大小:2.03 MB
- 文档页数:165
模糊控制在matlab中的实例
MATLAB 是一种广泛使用的数学软件,可以用于模糊控制的研究和应用。
以下是一些在 MATLAB 中的模糊控制实例:
1. 模糊控制器的设计:可以通过建立模糊控制器的数学模型,使用 MATLAB 进行建模和优化,以实现精确的控制效果。
2. 模糊控制应用于电动机控制:可以使用 MATLAB 对电动机进行模糊控制,以实现精确的速度和位置控制。
3. 模糊控制在工业过程控制中的应用:在工业过程中,可以使用模糊控制来优化生产过程,例如温度控制、流量控制等。
4. 模糊控制在交通运输中的应用:在交通运输中,可以使用模糊控制来优化车辆的行驶轨迹和速度,以提高交通运输的安全性和效率。
5. 模糊控制在机器人控制中的应用:可以使用模糊控制来优化机器人的运动和操作,以实现更准确和高效的操作。
这些实例只是模糊控制应用的一部分,MATLAB 作为一种强大的数学软件,可以用于各种模糊控制的研究和应用。
模糊控制MATLAB仿真
实验报告本课程名称:MATLAB模糊控制上机实验
2013~2014学年第⼀学期
⼴东⽯油化⼯学院计算机与电⼦信息学院
实验⽬的:
1、了解MATLAB中各种仿真⼯具。
2、掌握MATLAB仿真⼯具中图形化界⾯以及模糊逻辑⼯具箱函数的仿真⽅法。
上机实验⼀:
设计⼀个温度模糊控制器,具体要求见课本P59要求采⽤下⾯两种MATLAB⼯具进⾏仿真。
1、⼯具箱提供的图形化界⾯
2、模糊逻辑⼯具箱函数
仿真⽅法:
1、采⽤MATLAB语⾔根据具体的控制算法编程
2、利⽤MATLAB提供的模糊逻辑⼯具箱函数
3、利⽤模糊逻辑⼯具箱的图形界⾯与Simulink动态仿真环境
在matlab⼯作窗⼝输⼊:fuzzy+回车或fuzzy + ⽂件名(.fis)进⼊图形界⾯编辑
增加输⼊变量
输⼊mfedit或选择编辑⾪属度函数菜单输⼊误差e的⾪属度函数
输⼊误差变化de的⾪属度函数
输出u的⾪属度函数
输⼊ruleedit,或选择编辑模糊规则菜单
浏览模糊规则
模糊推理输⼊输出曲⾯视图,完成模糊推理系统的构建。
洗衣机模糊控制仿真1.模糊控制背景美国教授查徳(L.A.Zandeh)在1965年首先提出模糊集合的概念.由此打开了模糊数学及其应用的大门。
1974年英国教授马丹尼(E.H.Mamdani)首先将模糊集合理论应用于加热器的控制.创造了模糊控制的基本框架。
1980年.Sugeno开创了日本的首次模糊应用——控制一家富士电子水净化厂。
1983年他又开始研究模糊机器人。
随着模糊控制技术的不断发展.模糊控制逐渐被应用到日用家电产品的控制.例如电饭锅﹑照相机﹑吸尘器﹑洗衣机等。
2.仿真目的本次仿真的主要目的是设计一个比较合理的洗衣机模糊控制器.它能够根据被洗涤衣物的污泥多少和油脂多少.综合得到洗涤时间.从而达到最佳的洗涤效果。
3.仿真方法本次仿真借助matlab中集成的模糊控制工具箱.使用图形界面进行模糊控制器的设计。
最后随意给定几组输入.得到输出并作出简单分析。
4.模糊控制器的设计4.1模糊控制器理论设计方法①选择合适的模糊控制器类型;②确定输入输出变量的实际论域;③确定e,e∆的模糊集个数及各模糊集的隶属度函数;∆,u④输出隶属度函数选为单点.可使解模糊简单;⑤设计模糊控制规则集;⑥选择模糊推理方法;⑦解模糊方法。
4.2实际设计过程①模糊控制器类型:选用两输入单输出模糊控制器.控制器输入为衣物的污泥和油脂.输出为洗涤时间。
②确定输入输出变量的实际论域:输入为Mud(污泥)和Grease (油脂).设置Range=[0 100](输入变化范围为[0,100]);输出为Time(洗涤时间).Range=[0 60](输出变化范围为[0,60])。
对应matlab 中模糊控制模块:③确定模糊集个数及各模糊集的隶属度函数:将污泥分为3个模糊集:SD (污泥少)MD (污泥中)LD(污泥多);將油脂分为三个模糊集:NG (油脂少)MG (油脂中)LG (油脂多);将洗涤时间非为5个模糊集:VS (很短)S (短)M (中等)L (长)VL (很长)。
实验一模糊控制器的MATLAB仿真一、实验目的本实验要求利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则;比较其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用 MATLAB 实现模糊控制系统仿真的方法。
二、实验原理模糊控制器它包含有模糊化接口、知识库(规则库、数据库)、模糊推理机、解模糊接口等部分。
输人变量e(t)是过程实测变量y(t)与系统设定值s(t)之差值。
输出变量y(t)是系统的实时控制修正变量。
模糊控制的核心部分是包含语言规则的规则库和模糊推理机。
而模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。
工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。
Mamdani推理方法是一种广泛采用的方法。
它包含三个过程:隶属度聚集、规则激活和输出总合。
模糊控制器的组成框图如图2.1所示。
图2.1 模糊控制器的组成框图三、模糊推理系统的建立一个模糊推理系统的建立分为三个步骤:首先,对测量数据进行模糊化;其次,建立规则控制表;最后,输出信息的模糊判决,即对模糊量进行反模糊化,得到精确输出量。
模糊推理系统的建立,往往是设计一个模糊控制系统的基础。
建立一个模糊推理系统有两类方法:一种是利用GUI建立模糊推理系统;另一种是利用MATLAB命令建立。
下面根据实验内容,利用GUI建立模糊推理系统。
例:对循环流化床锅炉床温,对象模型为()()1140130120++s s采用simulink 图库,实现常规PID 和模糊自整定PID 。
模糊自整定PID 为2输入3输出的模糊控制器。
1、 进入FIS 编辑器在MATLAB 的命令窗口中键入fuzzy 即可打开FIS 编辑器,其界面如下图所示。
此时编辑器里面还没有FIS 系统,其文件名为Untitled ,且被默认为Mandani 型系统。
MATLAB技术模糊控制实例一、引言在现代控制领域中,模糊控制是一种应用广泛的方法。
它通过将模糊逻辑和模糊运算引入控制系统中,来处理非线性、不确定性和模糊性问题。
而MATLAB作为一种常用的工具和编程语言,在模糊控制技术的实现中也起到了重要的作用。
二、模糊控制基础2.1 模糊集合和隶属度函数在模糊控制中,模糊集合是指某个具有模糊性质的事物的集合。
而隶属度函数则是用来描述一个元素对某个模糊集合的隶属程度的函数。
MATLAB提供了一系列的函数来实现模糊集合和隶属度函数的定义与计算。
2.2 模糊规则和推理机制模糊规则是模糊控制系统中的核心部分,它是一种以if-then形式表示的规则,用于将输入变量映射到输出变量。
推理机制则是模糊控制系统中用于根据模糊规则进行推理和决策的方法。
在MATLAB中,可以使用模糊推理系统工具箱来实现模糊规则和推理机制。
三、MATLAB模糊控制实例下面以一个简单的温度控制系统为例,介绍如何使用MATLAB进行模糊控制的实现。
3.1 系统建模假设我们要设计一个模糊控制器来控制一个恒温器,使得恒温器能够根据当前环境温度自动调整加热功率。
首先,我们需要进行系统建模,即确定输入变量、输出变量和规则库。
在这个例子中,输入变量为环境温度和加热功率的变化率,输出变量为加热功率的大小。
规则库包括一系列的模糊规则,用于根据当前环境温度和加热功率的变化率来决策加热功率的大小。
3.2 模糊集合和隶属度函数的定义在MATLAB中,可以使用fuzzy集合函数来定义模糊集合和隶属度函数。
例如,我们可以使用triangle函数来定义一个三角形隶属度函数,用于表示环境温度的低、中、高。
3.3 模糊规则和推理机制的设计在MATLAB中,使用fuzzy规则编辑器可以方便地设计模糊规则和推理机制。
首先,我们需要定义输入和输出的模糊集合,然后输入模糊集合和输出模糊集合之间的关系。
接下来,根据规则库的要求,添加相应的模糊规则。
模糊控制在MATLAB中的实现模糊控制是一种基于模糊逻辑的控制方法,可以处理输入模糊或模糊输出的问题。
在MATLAB中,模糊控制可以通过Fuzzy Logic Toolbox实现。
Fuzzy Logic Toolbox提供了一套用于设计、模拟和分析模糊逻辑系统的工具。
它允许用户定义模糊集、模糊规则和模糊推理过程,从而实现模糊控制。
在实现模糊控制之前,首先需要确定输入和输出的模糊集以及它们之间的关系。
可以通过定义模糊集合的成员函数来描述输入和输出的模糊集。
常见的成员函数有三角形、梯形、高斯等。
例如,对于一个温度控制系统,可以定义三个模糊集:"冷","舒适"和"热"用于描述温度的状态。
每个模糊集可以具有不同的成员函数。
接下来,需要定义模糊规则,规则用于描述输入和输出之间的关系。
例如,当温度"冷"时,可以设定输出为"加热",当温度"舒适"时,输出为"保持",当温度"热"时,输出为"冷却"。
在MATLAB中,可以使用Fuzzy Logic Toolbox的命令createFIS来创建一个模糊逻辑系统(FIS),并使用addInput和addOutput命令来定义输入和输出的模糊集。
例如,以下代码片段演示了如何创建一个简单的模糊逻辑系统:```MATLABfis = createFIS('fuzzy_system');fis = addInput(fis, [0 100], 'Temperature');fis = addOutput(fis, [0 10], 'Control');fis = addMF(fis, 'input', 1, 'cold', 'trimf', [-10 0 10]);fis = addMF(fis, 'input', 1, 'hot', 'trimf', [40 100 160]);fis = addMF(fis, 'output', 1, 'cool', 'trimf', [-5 0 5]);fis = addMF(fis, 'output', 1, 'maintain', 'trimf', [0 5 10]);fis = addMF(fis, 'output', 1, 'heat', 'trimf', [5 10 15]);ruleList = [1 1 2 3 1;22221;33211];fis = addRule(fis, ruleList);```在定义模糊逻辑系统之后,可以使用evalfis命令对系统进行模糊推理和模糊控制。
使用MATLAB进行模糊控制设计导言:模糊控制是一种基于模糊逻辑的自适应控制方法,它使用模糊规则来处理难以准确建模的系统。
MATLAB作为一款功能强大的数学计算软件,在模糊控制设计中发挥着重要的作用。
本文将介绍使用MATLAB进行模糊控制设计的基本原理、步骤以及一些实际的应用案例。
一、模糊控制基本原理1.1 模糊逻辑模糊逻辑是基于模糊集的一种数学逻辑推理方法。
与传统的布尔逻辑不同,模糊逻辑考虑了中间状态的存在,可以用模糊集的隶属度来描述事物之间的模糊关系。
模糊逻辑的基本运算包括模糊与、模糊或、模糊非等。
1.2 模糊控制器的基本结构模糊控制系统由模糊化、模糊推理和去模糊化三个主要部分组成。
模糊化将输入转换为模糊集,模糊推理基于预定义的模糊规则进行逻辑推理,得到输出的模糊集,然后通过去模糊化将模糊结果转换为实际的控制信号。
二、使用MATLAB进行模糊控制设计的步骤2.1 建立模糊逻辑系统在MATLAB中,可以使用fuzzy工具箱来建立模糊逻辑系统。
首先,需要定义输入和输出的模糊集,可以选择三角形、梯形或高斯函数等形状。
然后,定义模糊规则,设置每个输入和输出之间的关系。
最后,确定输入和输出的范围,以便后续模糊控制器的设计和仿真。
2.2 设计模糊控制器在MATLAB中,可以使用fuzzy工具箱中的fuzzy控制器对象来设计模糊控制器。
首先,需要将前一步中建立的模糊逻辑系统与fuzzy控制器对象相关联。
然后,设置输入的变化范围和输出的变化范围。
接下来,可以选择使用模糊控制器设计方法来优化模糊规则和模糊集的参数。
最后,可以进行控制系统的仿真和性能评估。
2.3 优化模糊控制器优化模糊控制器是为了使模糊控制系统能够更好地适应实际环境变化和控制要求。
在MATLAB中,可以使用模糊控制器的仿真结果进行性能评估和参数调整。
可以通过修改模糊规则、模糊集的参数或输入输出的变化范围等方式来优化模糊控制器。
三、模糊控制设计的实际应用案例3.1 模糊温度控制模糊温度控制是一个常见的实际应用案例。
模糊控制在matlab中的实例模糊控制是一种基于经验知识的控制方法,与传统的精确控制方法不同,它允许对系统的行为进行模糊描述,并通过一套模糊规则来对系统进行控制。
在实际应用中,模糊控制常常用于处理非线性、复杂和不确定的系统,例如温度控制、汽车制动系统等。
在MATLAB中,可以通过使用Fuzzy Logic Toolbox工具箱来实现模糊控制。
下面以一个简单的温度控制系统为例,来介绍如何在MATLAB中进行模糊控制的实现。
首先,需要定义模糊控制器的输入和输出变量,以及它们的模糊集合。
在温度控制系统中,可以定义温度作为输入变量,定义加热功率作为输出变量。
可以将温度的模糊集合划分为"冷"、"适中"和"热"三个模糊集合,将加热功率的模糊集合划分为"低"、"中"和"高"三个模糊集合。
```temperature = readfis('temperature.fis');temp_input = [-10, 40];temp_output = [0, 100];temperature_inputs = ["冷", "适中", "热"];temperature_outputs = ["低", "中", "高"];```然后,需要定义模糊规则。
模糊规则用于根据输入变量的模糊集合和输出变量的模糊集合之间的关系来确定控制规则。
例如,当温度为"冷"时,加热功率应该为"高"。
可以根据经验知识定义一系列模糊规则。
```rules = ["冷", "高";"适中", "中";"热", "低";];```接下来,需要定义模糊控制器的输入和输出变量值。
洗衣机模糊控制仿真1.模糊控制背景1980年,Sugeno 开创了日本的首次模糊应用——控制一家富士电子水净化厂。
1983年他又开始研究模糊机器人。
随着模糊控制技术的不断发展,模糊控制逐渐被应用到日用家电产品的控制,例如电饭锅﹑照相机﹑吸尘器﹑洗衣机等。
2.仿真目的本次仿真的主要目的是设计一个比较合理的洗衣机模糊控制器,它能够根据被洗涤衣物的污泥多少和油脂多少,综合得到洗涤时间,从而达到最佳的洗涤效果。
3.仿真方法本次仿真借助matlab 中集成的模糊控制工具箱,使用图形界面进行模糊控制器的设计。
最后随意给定几组输入,得到输出并作出简单分析。
4.模糊控制器的设计4.1模糊控制器理论设计方法①选择合适的模糊控制器类型;②确定输入输出变量的实际论域;③确定e ,e ∆,u ∆的模糊集个数及各模糊集的隶属度函数;④输出隶属度函数选为单点,可使解模糊简单;⑤设计模糊控制规则集;⑥选择模糊推理方法;⑦解模糊方法。
4.2实际设计过程①模糊控制器类型:选用两输入单输出模糊控制器,控制器输入为衣物的污泥和油脂,输出为洗涤时间。
②确定输入输出变量的实际论域:输入为Mud(污泥)和Grease (油脂),设置Range=[0 100](输入变化范围为[0,100]);输出为Time(洗涤时间),Range=[0 60](输出变化范围为[0,60])。
对应matlab 中模糊控制模块:③确定模糊集个数及各模糊集的隶属度函数:将污泥分为3个模糊集:SD (污泥少)MD (污泥中)LD(污泥多);将油脂分为三个模糊集:NG (油脂少)MG (油脂中)LG (油脂多);将洗涤时间非为5个模糊集:VS (很短)S (短)M (中等)L (长)VL (很长)。
输入﹑输出隶属度函数都定为三角形隶属函数。
结合④输出隶属度函数选为单点,可使解模糊简单;定义污泥隶属函数如下50)50()(x x SD -=μ 0≤x ≤5050x 0≤x ≤5050)100(x - 50<x ≤100 50)50()(-=x x LD μ 50<x ≤100对应matlab 中隶属度函数仿真图如下:由隶属函数设置污泥的3个模糊集参数为[Input1]Name='Mud'NumMFs=3MF1='SD':'trimf',[-50 0 50]MF2='MD':'trimf',[0 50 100]MF3='LD':'trimf',[50 100 150]定义油脂隶属函数如下:50)50()(y x SG -=μ 0≤y ≤5050y 0≤y ≤5050)100(y - 50<y ≤100 50)50()(-=y x LG μ 50<y ≤100对应matlab 中隶属度函数仿真图如下:由隶属函数设置油脂3个模糊集参数为[Input2]Name='Grease'NumMFs=3MF1='SG':'trimf',[-50 0 50]MF2='MG':'trimf',[0 50 100]MF3='LG':'trimf',[50 100 150]定义输出时间隶属函数如下:μVS (Z )=(10-Z )/10 0≤Z ≤10Z /10 0≤Z ≤10μS (Z )=(25-Z )/15 10≤Z ≤25(Z -10)/15 10≤Z ≤25μM (Z )= μ洗涤时间= (40-Z )/15 25≤Z ≤40 (Z -25)/15 25≤Z ≤40μL (Z )=(60-Z )/20 40≤Z ≤60 μVL (Z )=(Z -40)/20 40≤Z ≤60对应matlab 中隶属度函数仿真图如下:由隶属函数设置输出洗涤时间5个模糊集参数为[Output1]Name='Time'NumMFs=5MF1='S':'trimf',[0 10 25]MF2='L':'trimf',[25 40 60]MF3='VS':'trimf',[-10 0 10]MF4='M':'trimf',[10 25 40]MF5='VL':'trimf',[40 60 80]⑤设计模糊控制规则:设计标准为污泥越多,油脂越多,洗涤时间越长;污泥适中,油脂适中,洗涤时间适中;污泥越少,油脂越少,洗涤时间越短。
《智能控制》模糊逼近作业报告组员:李适、郑晓森、匡金龙、沈伟生、武云发黎浩炎、晏开、杜文学、杨晓星目录一、任务及要求 (3)二、系统分析及控制设计原理 (3)三、设计实现 (4)四、仿真验证 (7)五、讨论与分析 (12)一、任务及要求(1)任务设计一个在 上的模糊系统,使其以精度一致地逼近函数()()()()()ππππ2121cos sin cos sin x x x x x g ++=,并进行Matlab 仿真。
(2)要求先进行系统分析,然后给出完整详细的设计过程,可参见P74-75页例5.1和例5.2的仿真实例。
二、系统分析及控制设计原理自适应模糊控制是指具有自适应学习算法的模糊逻辑系统,其学习算法是依靠数据信息调整模糊逻辑系统的参数,且可以保证控制系统的稳定性。
一个自适应模糊控制器可以用一个单一的自适应模糊系统构成,也可以用若干个自适应模糊系统构成。
与传统的自适应控制相比,自适应模糊控制的优越性在于它可以利用操作人员提供的语言性模糊信息,而传统的自适应控制则不能。
这一点对具有高度不确定因素的系统尤其重要。
自适应模糊控制有两种不同形式:一种是直接自适应模糊控制,即根据实际系统性能与理想性能之间的偏差直接设计模糊控制器;另一种是间接自适应模糊控制,即通过在线模糊逼近获得对象的模型,然后根据所得模型在线设计控制器。
三、设计实现(1)模糊系统的设计步骤设二维模糊系统g(x)为集合22211],[],[R U ⊂⨯=βαβα上的一个函数,其解析式形式未知。
假设对任意一个U x ∈,都能得到g(x),则可设计一个逼近g(x)的模糊系统。
模糊系统的设计步骤为:步骤1:在],[i i βα上定义)2,1(=i N i 个标准的,一致的和完备的模糊集i N i i i i A A A A ,...,,,321。
[][]1,11,1-⨯-=U 1.0=ε步骤2:组建21N N M ⨯=条模糊集IF-THEN 规则,即21u i i R :如果1x 为11i A 且2x 为22i A ,则y 为21i i B式中,2211,...,2,1;,...,2,1N i N i ==,将模糊集21i i B 的中心表示为),(),(g 21121221i i i i e e g x x y==式中,j i e 为i x 在模糊集j i A 上的中间值或边界值()2,1;2,1==j i 。