模糊逻辑工具箱在Simulink中的使用

合集下载

基于simulink的模糊PID控制例子

基于simulink的模糊PID控制例子

基于simulink的模糊PID控制例⼦1模糊PID⽤命令Fuzzy打开模糊控制⼯具箱。

Anfisedit打开⾃适应神经模糊控制器,它⽤给定的输⼊输出数据建个⼀个模糊推理系统,并⽤⼀个反向传播或者与最⼩⼆乘法结合的来完成⾪属函数的调节。

Surfview(newfis)可以打开表⾯视图窗⼝8.1 模糊PID 串联型新建⼀个simulink模型同时拖⼊⼀个fuzzy logic controller 模块,双击输⼊已经保存的fis模糊控制器的名字。

由于这个控制模块只有⼀个输⼊端⼝,需要⽤到mux模块。

模糊结合PID,当输出误差较⼤时,⽤模糊校正,当较⼩时,⽤PID校正。

8.2 模糊⾃适应PID(1)PID 参数模糊⾃整定的原则PID 调节器的控制规律为: u( k) = Kp e( k) + Ki Σe( i) + Kd ec( k)其中: Kp 为⽐例系数; Ki 为积分系数; Kd为微分系数; e( k) 、ec( k) 分别为偏差和偏差变化率.模糊⾃整定PID 参数的⽬的是使参数Kp 、Ki 、Kd随着e 和ec 的变化⽽⾃⾏调整,故应⾸先建⽴它们间的关系. 根据实际经验,参数Kp 、Ki 、Kd在不同的e 和ec下的⾃调整要满⾜如下调整原则:(1) 当e 较⼤时,为加快系统的响应速度,防⽌因开始时e 的瞬间变⼤可能会引起的微分溢出,应取较⼤的Kp 和较⼩的Kd ,同时由于积分作⽤太强会使系统超调加⼤,因⽽要对积分作⽤加以限制,通常取较⼩的Ki值;(2) 当 e 中等⼤⼩时,为减⼩系统的超调量, 保证⼀定的响应速度, Kp 应适当减⼩;同时Kd 和Ki的取值⼤⼩要适中;(3) 当e 较⼩时,为了减⼩稳态误差, Kp 与Ki 应取得⼤些,为了避免输出响应在设定值附近振荡,同时考虑系统的抗⼲扰性能,Kd 值的选择根据|ec|值较⼤时,Kd 取较⼩值,通常Kd 为中等⼤⼩。

同时按照需要,将输⼊语⾔变量E 和EC 分为7 个模糊⼦集,分别⽤语⾔值正⼤( PB) 、正中( PM) 、正⼩( PS) 、零(Z) 、负⼩(NS) 、负中(NM) 、负⼤(NB) 来表⽰,它们的⾪属函数为⾼斯型(gaussmf) ,输出语⾔变量Kp′、Ki′、Kd′⽤语⾔值⼩正⼤( PB) 、正中( PM) 、正⼩( PS) 、零(Z) 、负⼩(NS) 、负中(NM) 、负⼤(NB) 来表⽰⾪属函数为三⾓型(t rimf) ,⽅法⼆:图-1模糊⾃适应simulink模型根据各模糊⼦集的⾪属度赋值表和各参数模糊控制模型,应⽤模糊合成推理设计分数阶PID参数的模糊矩阵表,算出参数代⼊下式计算:Kp=Kp0+(E,EC)p;Ki=Ki0+(E,EC)I;Kd=Kd0+(E,EC)d式中:Kp0、Ki0、Kd0为PID参数的初始设计值,由传统的PID控制器的参数整定⽅法设计。

Simulink模糊控制教程

Simulink模糊控制教程

给出复杂模糊控制器设计实例和 结果展示
实战演练三:模糊控制器优化与改进
模糊控制器优化方法:遗传算法、粒子群算法等 改进模糊控制器性能的措施:调整隶属度函数、增加模糊规则数量等 实际应用中模糊控制器的调试与测试 案例分析:某工业过程控制中模糊控制器的应用与优化
实战演练四:模糊控制器在实时系统中的应用
更多可能性。
模糊控制理论的研 究将更加注重实际 应用,与工程实践 的结合将更加紧密, 推动工业自动化领 域的进步与发展。
模糊控制在工业自动化领域的应用前景
工业自动化领域的现状和 趋势
模糊控制技术的优势和特 点
模糊控制在工业自动化领 域的应用案例
模糊控制在工业自动化领 域的未来发展前景
感谢观看
汇报人:XX
控制器性能评估
评估指标:准确性、稳定性、鲁棒性 评估方法:仿真实验、实际测试 评估工具:Simulink、Matlab/Simulink 评估步骤:设计控制器、搭建仿真模型、进行实验测试、分析实验结果
05
Simulink模糊控制应用实例
模糊控制在电机控制系统中的应用
模糊控制原理简介
模糊控制在电机控制中的应用实 例

01
添加章节标题
02
Simulink模糊控制简介
模糊控制基本概念
模糊控制是一种 基于模糊集合理 论的控制方法, 通过将输入变量 模糊化,将模糊 逻辑应用于控制
系统。
模糊控制的基 本原理是通过 模糊化、模糊 推理和去模糊 化三个步骤实
现控制。
模糊集合理论是 模糊控制的基础, 它通过模糊集合 来表示输入和输 出变量,并使用 模糊逻辑规则进
去模糊化操作
定义:将模糊逻辑系统输出 的模糊集合转换为清晰值的 过程

模糊逻辑工具箱在Simulink中的使用资料

模糊逻辑工具箱在Simulink中的使用资料

模糊逻辑工具箱在Simulink中的使用最近在写小论文,用到了Matlab中的模糊逻辑工具箱和虚拟现实工具箱,发现网上的资料很少,特别是没有讲到在Simulink中怎么使用这两个工具箱,这里简单介绍一下怎样在simulink中加入模糊逻辑。

我用的Matlab 7.0。

模糊逻辑的理论知识就不介绍了,要想知道的话…去查书吧,多得很。

下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.fis文件)第一步:打开模糊推理系统编辑器步骤:在Commond Window 键入fuzzy回车打开如下窗口,既模糊推理系统编辑器第二步:使用模糊推理系统编辑器本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:1、添加一个输入添加一个输出得如下图2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为 probor提示:在命名时’_’在显示时为下标,可从上图看出。

第三步:使用隶属函数编辑器该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。

步骤:1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。

2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:选中其中一个输入输出参数点击Edit菜单,选Add MFS…打开下列对话框将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型)将Number of MFs 设置为2点击OK按钮同样给其他三个加入隶属度函数4、选中任何一个隶属度函数(选中为红色),在Name 中键入名称,在Type中选择形状,在Params中键入范围,然后回车如下图:本例中:In_x,In_y隶属度函数相同,如下打开下了对话框2、添加规则选中IXL2,IYL2,OXL2,none(表示不被选中任何隶属度函数),and选项,权重Weight均设为1,然后点击Add rule 添加规则,同理添加其他规则。

模糊控制simulink实例

模糊控制simulink实例

模糊控制simulink实例一、模糊控制概述模糊控制是一种基于人工智能的控制方法,它模拟人类的思维方式进行控制决策。

模糊控制的核心思想是将模糊语言和模糊推理应用于控制系统中,通过建立模糊规则和模糊集合来实现对系统的控制。

模糊控制具有适应性强、处理非线性和复杂系统能力强等优点,在工业控制领域得到了广泛应用。

二、Simulink简介Simulink是MathWorks公司开发的一款基于MATLAB的通用仿真平台。

Simulink提供了一个直观的图形化界面,可以用于设计、模拟和实现各种系统模型。

Simulink 支持多领域的仿真,包括控制系统、信号处理、通信系统等,同时也提供了丰富的库函数和工具箱,方便用户进行系统建模与仿真。

三、模糊控制在Simulink中的应用模糊控制在Simulink中的应用可以通过Fuzzy Logic Toolbox来实现,该工具箱提供了一系列用于模糊控制设计和仿真的函数和模块。

下面介绍一个简单的模糊控制实例来说明模糊控制在Simulink中的应用。

3.1 系统建模首先,我们需要确定模糊控制系统的输入、输出和控制规则。

假设我们要设计一个小型的温度控制系统,系统的输入是环境温度(T),输出是加热器的电压(V)。

根据经验,我们可以定义几个模糊集合来描述温度和电压的状态,例如”冷”、“适中”和”热”。

然后,我们可以根据这些模糊集合定义一些模糊规则,例如”当温度冷时,增加电压”等。

3.2 模糊控制器设计在Simulink中,我们可以使用Fuzzy Logic Controller模块来设计模糊控制器。

该模块提供了一种快速且简单的方法来创建模糊控制器。

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

然后,我们可以将这些参数传递给Fuzzy Logic Controller模块,并设置输入输出的信号传递方式。

3.3 系统仿真在完成模糊控制器的设计后,我们可以进行系统的仿真。

在Simulink中,我们可以通过连接输入信号和模拟环境来模拟系统的行为。

模糊控制的Matlab仿真实例

模糊控制的Matlab仿真实例

其他例子
模型Shower.mdl―淋浴温度调节模糊控制系统仿真; 模型slcp.mdl―单级小车倒摆模糊控制系统仿真; 模型 slcp1.mdl―变长度倒摆小车模糊控制系统仿
真; 模型 slcpp1.mdl—定长、变长二倒摆模糊控制系
统仿真; 模型slbb.mdl―球棒模糊控制系统仿真; 模型sltbu.mdl―卡车智能模糊控制倒车系统仿真; 模型sltank2.mdl ― 用子系统封装的水箱控制仿
为简单起见,我们直接利用系统里已经编辑好的 模糊推理系统,在它的基础上进行修改。这里我 们采用与tank . fis中输入输出变量模糊集合完 全相同的集合隶属度函数定义,只是对模糊规则 进行一些改动,来学习模糊工具箱与仿真工具的 结合运用。对于这个问题,根据经验和直觉很显 然可以得到如下的模糊度示 波器
冷水阀子系统
这个仿真模型的输出是用示波器来表示的,如 图所示。通过示波器上的图形我们可以清楚地 看到温度和水流量跟踪目标要求的性能。
水温示波器
水流示波器
水温偏差区间模糊划分及隶属度函数
水流量偏差区间模糊划分及隶属度函数
输出对冷水阀控制策略的模糊化分及隶属度函数
选Edit菜单,选择Rules, 弹出一新界面Rule Editor. 在底部的选择框内,选择相应的 IF…AND…THEN 规则,点击Add rule 键,上部 框内将显示相应的规则。本例中用9条左右的规 则,依次加入。如下图所示:
模糊逻辑工具箱仿真结果
模糊规则浏览器用于显示各条模糊控制规则对 应的输入量和输出量的隶属度函数。通过指定 输入量,可以直接的显示所采用的控制规则, 以及通过模糊推理得到相应输出量的全过程, 以便对模糊规则进行修改和优化。
这样的结果与实际情况还是有些不符。通常顾客都是给15%的 小费,只有服务特别好或特别不好的时候才有改变,也就是说, 希望在图形中间部分的响应平坦些,而在两端(服务好或坏) 有凸起或凹陷。这时服务与小费是分段线性的关系。例如,用 下面 MATLAB 语句绘出的下图的情况。

Simulink模糊控制教程

Simulink模糊控制教程


( x c ) 2 2 2
MATLAB应用技术
3
(4)Sigmoid函数型隶属度函数 f ( x, a, b, c) (5)差型sigmoid隶属度函数f ( x, a1 , c1 , a 2 , c2 )
1 1 e
1 e
a ( x c )
1
a1 ( x c1 )

输入模糊化 确定出if…then规则前提中每个命题或断言为真的程度(即隶属度)。 应用模糊算子 召唤果规则的前提有几部分,则利用模糊算子可以确定出整个前提为真的程度(即整个 前提的隶属度)。 应用蕴含算子 由前提的隶属度和蕴含琥子,可以确定出结论为真的程度 (即结论的隶属度)。
MATLAB应用技术
7
模糊规则的建立
①总结操作人员工、专家的经验和知识。 ②基于过程的模糊模型。 ③基于学习的方法。 MATLAB应用技术
6
最简单的if…then规则的形式是:“如果x是A,则y是B。”复合型的if…then 规则的形式很多,例如: “ if m是A且x 是B then y 是C,否则z是D” ; “ if m是A且x 是B 且 y 是C,then z是D” ; “ if m是A或x 是B then y 是C,或z是D” ; “ if m是A且x 是B then y 是C,且z是D” ; 这里A,B,C,D分别是论域M,X,Y,Z,中模糊集的主义值,if 部分是前 提或前件,then 部分是结论或后件。
4 模糊规则
模糊 推理系统工程中,模糊规则以模糊语言 的形式描述人类的经验和知识, 规则是否正确反映人类专家的经验和知识更新,是否能反映对象的特性, 直接决定了模糊推理系统的性能,通常通过模糊规则的形式是“if…then”, 前提由对模糊语言变量的语言什描述构成,如“温度较高”,“压力较低” 等,结论由对输出模糊语言变量表示成输入量的精确什的组合,模糊规则 的这种形式化表示的符合人们通过自然对许多知识的描述和记忆习惯的。

模糊pidmatlab(simulink)仿真详细步骤

模糊pidmatlab(simulink)仿真详细步骤

下面用一个简单的例子作介绍:(本例不是特别针对实现什么功能,只是为了介绍方便)第一部分创建一个模糊逻辑(.fis文件)第一步:打开模糊推理系统编辑器步骤:在Commond Window 键入fuzzy回车打开如下窗口,既模糊推理系统编辑器第二步:使用模糊推理系统编辑器本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:1、添加一个输入添加一个输出得如下图2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为probor提示:在命名时’_’在显示时为下标,可从上图看出。

第三步:使用隶属函数编辑器该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。

步骤:1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。

2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:选中其中一个输入输出参数点击Edit菜单,选Add MFS…打开下列对话框将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型) 将Number of MFs设置为2点击OK按钮同样给其他三个加入隶属度函数4、选中任何一个隶属度函数(选中为红色),在Name中键入名称,在Type 中选择形状,在Params中键入范围,然后回车如下图:5、关闭隶属函数编辑器第四步:使用规则编辑器通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。

模糊控制simulink实例

模糊控制simulink实例

模糊控制simulink实例模糊控制是一种基于人类智能的控制方法,其能够克服传统控制方法中的困难和不足,使得控制系统能够更加稳定和灵活地进行控制。

在模糊控制中,模糊规则和模糊推理是非常关键的,而Simulink正是一款非常适合模拟和控制系统的MATLAB工具箱。

现在,我们就来看一个基于Simulink的模糊控制实例。

假设我们有一个小车可以沿着一条直线上下运动,并且需要通过模糊控制来控制小车的运动。

我们将小车的速度和位置分别作为系统的输入和输出,其中小车的速度可以在0-10m/s之间变化,而小车的位置则可以在0-50m之间变化。

需要注意的是,在这个系统中,小车的速度和位置都是模糊的,我们需要通过模糊规则和推理来确定小车应该如何移动。

首先,我们需要确定一组模糊规则来描述小车的运动。

这里我们设定了三个模糊规则,分别是:1. 如果小车位置很靠近上限,那么小车速度应该减缓。

2. 如果小车位置中间,那么小车速度应该保持不变。

3. 如果小车位置很靠近下限,那么小车速度应该加速。

然后,我们需要建立一组模糊推理机制来根据当前状态来确定小车的下一个状态。

这里我们选择了三个模糊推理机制:模糊最小性、模糊加法和模糊乘法。

其中,模糊最小性是用来确定模糊集合之间的交集,模糊加法是用来确定两个模糊集合之间的并集,而模糊乘法则是用来确定两个模糊集合之间的乘积。

最后,我们需要使用Simulink建立一个模糊控制系统,并将上述规则和推理机制应用到这个系统中。

在Simulink中,我们可以使用Fuzzy Logic Controller来实现这个过程。

首先,我们需要将输入和输出变量添加到Fuzzy Logic Controller中。

然后,我们需要为每个变量设置一个模糊集合,以便能够将当前状态转换为模糊状态。

接下来,我们需要将模糊规则添加到Fuzzy Logic Controller中,并为每个规则设置一些权重,以便能够决定规则的优先级。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模糊逻辑工具箱在Simulink中的使用
最近在写小论文,用到了Matlab中的模糊逻辑工具箱和虚拟现实工具箱,发现网上的资料很少,特别是没有讲到在Simulink中怎么使用这两个工具箱,这里简单介绍一下怎样在simulink中加入模糊逻辑。

我用的Matlab 7.0。

模糊逻辑的理论知识就不介绍了,要想知道的话…去查书吧,多得很。

下面用一个简单的例子作介绍:
(本例不是特别针对实现什么功能,只是为了介绍方便)
第一部分创建一个模糊逻辑(.fis文件)
第一步:打开模糊推理系统编辑器
步骤:
在Commond Window 键入fuzzy
回车
打开如下窗口,既模糊推理系统编辑器
第二步:使用模糊推理系统编辑器
本例用到两个输入,两个输出,但默认是一个输人,一个输出步骤:
1、添加一个输入
添加一个输出
得如下图
2、选择Input、output(选中为红框),在Name框里修改各输入的名称并将And method 改为prod,将Or method 改为 probor
提示:在命名时’_’在显示时为下标,可从上图看出。

第三步:使用隶属函数编辑器
该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。

步骤:
1、双击任何一个输入量(In_x、In_y)或输出量打开隶属度函数编辑器。

2、在左下处Range和Display Range处添加取值范围,本例中In_x和In_y的取值范围均为[0 10], Out_x和Out_y的取值范围均为[0 1]
3、默认每个输入输出参数中都只有3个隶属度函数,本例中每个输入输出参数都需要用到五个,其余几个需要自己添加:
选中其中一个输入输出参数
点击Edit菜单,选Add MFS…打开下列对话框
将MF type设置为trimf(三角形隶属度函数曲线,当然你也需要选择其他类型)
将Number of MFs 设置为2
点击OK按钮
同样给其他三个加入隶属度函数
4、选中任何一个隶属度函数(选中为红色),在Name 中键入名称,在Type中选择形状,在Params中键入范围,然后回车如下图:
本例中:In_x,In_y隶属度函数相同,如下
Name Type Params
IXL2\IYL2zmf[1 1.5]
IXL1\IYL1trimf[1 2.5 4]
IXZ\IYZ trimf[3 5 7]
IXR1\IYR1trimf[6 7.5 9]
IXR2\IYR2smf[8.5 9]
Out_x,Out_y隶属度函数相同,如下:
Name Type Params
OXL2\OYL2zmf[0.1 0.15]
OXL1\OYL2trimf[0.1 0.25 0.4]
OXZ\OYZ trimf[0.3 0.5 0.7]
OXR1\OYR1trimf[0.6 0.75 0.9]
OXR2\OYR2smf[0.85 0.9]
5、关闭隶属函数编辑器
第四步:使用规则编辑器
通过隶规则编辑器来设计和修改“IF...THEN”形式的模糊控制规则。

由该编辑器进行模糊控制规则的设计非常方便,它将输入量各语言变量自动匹配,而设计者只要通过交互式的图形环境选择相应的输出语言变量,这大大简化了规则的设计和修改。

另外,还可为每条规则选择权重,以便进行模糊规则的优化。

步骤:
1、打开规则编辑器
点击Edit菜单,选Rules…
打开下了对话框
2、添加规则
选中IXL2,IYL2,OXL2,none(表示不被选中任何隶属度函数),and选项,权重Weight均设为1,然后点击Add rule 添加规则,同理添加其他规则。

下图为添加所有role后:
3、关闭规则编辑器
第五步:保存并查看结果步骤:
1、保存
保存为Test.fis
2、View->Rules打开Rule Viewer
3、View->Surface打开Surface Viewer
第二部分:将模糊逻辑添加到Simulink中第一步:创建一个Simulink文件
步骤:
1、打开Simulink
2、点击新建按钮建立一个新的.mdl文件
第二步:添加模糊逻辑
步骤:
1、在Simulink Library Brower 的搜索框内键入Fuzzy Logic Controller找到Fuzzy Logic Controller,并将其拖拽到新建的mdl文件中
2、双击Fuzzy Logic Controller,打开如下对话框,并在其内部键入Test
3、关闭对话框
第三步:添加其他模块
如下图,都是常用模块,请自己添加
第四步:保存并运行
步骤:
1、保存为Test.mdl
2、初始化模糊逻辑控制器,即在Command Window中键入Test = readfis('Test.fis'),回车
1、运行Test.mdl
这里可以比较一下结果。

相关文档
最新文档