模糊温度控制器的设计与Matlab仿真(DOC)
模糊控制及其MATLAB仿真教学设计 (2)
![模糊控制及其MATLAB仿真教学设计 (2)](https://img.taocdn.com/s3/m/93220026fd4ffe4733687e21af45b307e871f9d2.png)
模糊控制及其MATLAB仿真教学设计一、模糊控制简介1.1 模糊控制的概念模糊控制是一种基于模糊逻辑思想的控制方法。
与传统的精确控制方法不同,它允许在处理不确定性和模糊性时采用一种定性的方法。
在模糊控制中,运用了模糊集合论的理论和方法,能很好地解决那些传统方法难以解决的非线性、时变、模糊等问题。
1.2 模糊控制的原理模糊控制的基本原理是将问题抽象为一些模糊集合,然后通过模糊推理和模糊逻辑运算实现模糊控制。
模糊控制的输入是经过模糊化后的模糊变量,输出是某个或某些经过去模糊化的控制变量。
1.3 模糊控制的优点模糊控制在面对复杂、非线性的控制问题时往往比传统控制方法更为有效。
其主要优点有: - 基于定性的知识 - 可以有效处理模糊、不确定性问题 - 快速响应和适应性强二、MATLAB仿真教学设计2.1 MATLAB仿真工具MATLAB是一种强大、多功能的科学计算软件,可以在其中进行模拟仿真实验。
在仿真实验中,MATLAB提供了多种工具来方便用户模拟不同的控制算法。
其中,使用Simulink可以创建模型,在其中加入不同的模块来构建模拟仿真实验。
2.2 模糊控制仿真实验可以使用Simulink在MATLAB中创建一个模糊控制的仿真实验。
具体步骤如下:1. 打开MATLAB,点击Simulink新建一个模型; 2. 在Simulink中选择Fuzzy Logic Toolbox,并将Fuzzy Logic Controller加入模型; 3. 加入Fuzzy Logic Controller后,可以进入FIS Editor编辑器,设置输入和输出变量,构建模糊控制规则; 4. 设置好规则之后,添加输入信号源和输出信号源; 5. 进行仿真和调试。
2.3 仿真教学设计为了更好地进行模糊控制的MATLAB仿真教学,可以采用以下设计方案: - 设计实验1:基础概念实验,通过模拟一个简单的控制过程,让学生了解模糊控制基本概念和原理。
基于MATLABSLMULINK语言的炉温模糊控制系统仿真
![基于MATLABSLMULINK语言的炉温模糊控制系统仿真](https://img.taocdn.com/s3/m/4e72543b0740be1e650e9aa9.png)
仿真工作原理模糊控制器的建立过程如下:在Matlab的主窗口中输入fuzzy即可调出模糊工具箱界面(1)设定误差E、误差变化率EC和控制量U的论域为 [-3 3]图1 模糊工具箱界面(2)设定E、EC、U的模糊集。
设为NB、NM、NS、ZO、PS、PM、PB。
(3)设定隶属度函数。
有高斯型隶属度函数、三角型隶属度函数等。
E 和EC设为高斯型,U为三角型。
图2 输入E和EC参数设定界面图3输出 U参数设定界面(4)设定模糊控制规则。
根据论文的模糊控制规则如图所示图4 模糊控制表(5)根据规则表建立49条规则,完成后输出到Workspace,退出保存为X.fis。
图5 规则设定界面(6)根据系统框图建立如图仿真模型保存为luwen.mdl,和论文稍微不同在输入输出增加了饱和。
图6 仿真模型在Fuzzy控制器中关联上面设计的模糊控制,双击Fuzzy Logic Controller 输入X即可。
仿真结果在Matlab运行main.m直接查看结果。
图7 scope 结果图8 scope1 结果系统参数变化对系统性能的影响Ke、Kec和Ku三个权系数,查阅文献可知Ke和Kec对系统的动态性能影响较大,它们的大小意味着对输入误差和误差变化的不同加权程度,Ke 变大缩短上升时间,但是增大系统超调;Kec变大减小系统超调,但是响应速率变慢。
输出比例因子Ku也影响模糊控制系统的性能,Ku过小,系统的动态响应过程变长,Ku过大会导致系统震荡。
综合调整以上三个因子,获得所需要的控制性能。
赵江武2111302116。
基于模糊控制的温控系统建模与仿真
![基于模糊控制的温控系统建模与仿真](https://img.taocdn.com/s3/m/b7291524c381e53a580216fc700abb68a982ade3.png)
基于模糊控制的温控系统建模与仿真温度控制在生活和工业生产中非常常见和重要。
在许多情况下,需要使温度稳定在预定值或在一定范围内波动。
因此,设计一个高效的温控系统对于保证生产质量和舒适的生活非常重要。
本文将介绍基于模糊控制的温控系统建模和仿真。
一、简介温度控制系统的设计包括两个重要部分: 控制策略和控制器。
控制策略通常是基于某些物理模型和统计学原理,并可以使用模拟和实验验证。
控制器的选型取决于控制策略的性质和要求,如强度、精度、稳定性等。
二、基于模糊控制的设计思路模糊控制是一种基于人类语言和经验的控制方法,其控制规则表达模糊且不确定,不同于传统控制方法中的精确数学函数模型。
这种方法具有较好的鲁棒性和适应性,能够在系统结构和工况变化时有效地保证系统的稳定性和性能。
因此,基于模糊控制的设计思路在某些领域中具有广泛的应用。
三、模糊控制系统建模在模糊控制中,控制器、输入和输出都用模糊语言描述。
建模过程可以分为三个步骤:1.建立输入-输出模糊语言变量模糊语言变量在控制过程中承担关键作用。
在本文中,我们建立两个输入模糊语言变量: 温度偏差(e)和温度变化率(e'),以及一个输出模糊语言变量: 控制量(u)。
2.建立模糊规则库模糊规则库是一个包含不同输入变量值和相应输出变量值的表。
通常使用弧形或三角形函数表示变量之间的关系,并使用逻辑运算符(如AND、OR、NOT等)描述不同变量关系之间的逻辑关系。
3.系统运行系统运行分为两个步骤: 模糊推理和去模糊化。
在模糊推理阶段,输入模糊变量的值被模糊化,规则库中的规则被应用,得到对应的输出模糊变量值。
在去模糊化阶段,输出模糊变量转换为具体的控制量。
四、仿真设计在本文中,我们使用MATLAB软件进行仿真设计。
具体步骤如下:1. 确定系统模型设计一个简单的温度控制系统,包括一个传感器、控制器和一个加热器。
传感器用于检测环境温度,控制器用于计算和输出控制量,加热器用于调节环境温度。
温度系统模糊控制器仿真设计 附录3
![温度系统模糊控制器仿真设计 附录3](https://img.taocdn.com/s3/m/38bd0ff4fab069dc502201e4.png)
附录3:外文资料翻译运用MATLAB进行水位仿真设计1 MATLAB在模糊控制仿真中的应用模糊控制通过模糊逻辑和近似推理方法,让计算机把人的经验形式化、模型化,根据所取得的语言控制规则进行模糊推理,给出模糊输出判决,并将其转化为精确量.作为反馈送到被控对象(或过程)的控制作用。
经过多年的实践,模糊控制器已逐渐形成了一种规范形式。
模糊控制表是模糊控制算法在计算机中的表达方式,它是根据系统的输人输出个数、隶属函数及控制规则等决定的。
目的是把人工操作控制过程表达成计算机能够接受,并便于计算的形式。
模糊控制规则一般具有如下形式:If {E = Ai and C = Ci} then U = Ci,i =1,2,3 ……,n其中E、C和U分别为误差e、误差变化c和控制量u的语言变量,而Ai 、Bi、Ci为其相应论域上的语言值(如NB,NM,NS,ZO.PS,PM等)。
首先我先介绍下典型的模糊控制器的设计流程。
(1)系统分析对受控的工业对象进行系统分析,确定控制器的输入变量x1、x2 与输出变量y及它们的数值变化范围和要求达到的控制精度等,根据实际过程的需要建立物理模型,确定控制器结构总体设计方案。
(2)模糊化方法的选择与确定所谓模糊化,就是把输入变量数值,变换成模糊语言变量的语言值,在实际控制过程中,经常把一个物理量划分成正大(PL)、正中(PM)、正小(PS)、零(ZE)、负小(NS)、负中(NM)、负大(NL)七级语言变量。
每一个语言值对应一个模糊子集,其隶属函数通常选用三角形或梯形分布。
由隶属函数图可确定输入数值相应的隶属度。
(3)模糊控制规则库的建立确定语言控制规则是模糊控制器设计的核心工作,规则的形式很像计算机程序设计语言常用的“IF……THEN……”条件语句。
控制规则的多少视输人及输出物理量数目及所需的控制精度而定。
值得注意的是,规则的数目是以语言变量级数平方关系变化而迅速增加,规则越多,推理的质量就会越下降。
模糊控制MATLAB仿真
![模糊控制MATLAB仿真](https://img.taocdn.com/s3/m/0379af1c10661ed9ad51f387.png)
实验报告本课程名称: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,或选择编辑模糊规则菜单浏览模糊规则模糊推理输入输出曲面视图,完成模糊推理系统的构建。
仅供个人用于学习、研究;不得用于商业用途。
For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.толькодля людей, которые используются для обучения, исследований ине должны использоваться в коммерческих целях.以下无正文。
基于matlab的模糊控制器的设计与仿真
![基于matlab的模糊控制器的设计与仿真](https://img.taocdn.com/s3/m/339ff03483c4bb4cf7ecd13c.png)
基于MATLAB的模糊控制器的设计与仿真摘要:本文对模糊控制器进行了主要介绍。
提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。
关键词:模糊控制,隶属度函数,仿真,MA TLAB1 引言模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。
与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。
因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。
模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。
本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。
2 模糊控制器简介模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。
显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。
本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。
随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。
长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。
而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。
同时还很容易被实现的,简单而灵活的控制方式。
于是模糊控制理论极其技术应运而生。
3 模糊控制的特点模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。
模糊控制MATLAB仿真
![模糊控制MATLAB仿真](https://img.taocdn.com/s3/m/1c1604d10d22590102020740be1e650e52eacf78.png)
模糊控制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,或选择编辑模糊规则菜单
浏览模糊规则
模糊推理输⼊输出曲⾯视图,完成模糊推理系统的构建。
最新温度控制系统的模糊PID参数整定及MATLAB仿真
![最新温度控制系统的模糊PID参数整定及MATLAB仿真](https://img.taocdn.com/s3/m/33bbcc50172ded630a1cb63d.png)
当温差e较大时,为使温度控制系统具有较好的快 速跟踪性能,即温差较大时,温度要以较快速率 _______________________________________
___________
4.利用fuzzy模糊逻辑工具箱建立模糊控
制器
(1)输入/输出语言变量的建立 在MATLAB 环境ห้องสมุดไป่ตู้键入fuzzy 命令,进入模糊逻辑工具箱(如图)所
对建立的温度箱__加___热____模____型____,___在____m___a__t_l_a__b__上____仿真经整定后,得Kp等
于4.25时,响应曲线符合以上___衰___减____规_ 律,最终取Kp=0.8*4.25=3.4,
图1-1 simulink模块化系统PID仿真模型
仿真的时间选择1000 秒,设定误差值为40。仿真结果后如下图:
由于温度控制系统的设计目的是要使温度从30 度上升到70度,各种 指标和前面的PID 一致,但要实现控制速度提升且实现零超调。所 以温度的偏差e的论域设定为-40 到40.偏差变化率ed的论域整定为0.2 到0.2。设计的目的是实现PID 参数在线的自整定,在前面调试 出的曲线中可以知道,当Kp取3.4,Ki 取0.0028,Kd 取100 的时候, 系统有比较令人满意的曲线,所以在这个基础上,可以设定Kp 的 论域范围为2.7到3.6,Ki的范围为0.0022 到0.0028,Kd 的范围取60 到150。
图1-2 PID控制器作用下的仿真曲线图 _______________________________________ ___________
2.模糊PID控制器参数论域的确定
基于MATLAB的温度模糊控制系统的设计
![基于MATLAB的温度模糊控制系统的设计](https://img.taocdn.com/s3/m/e0530bfeaef8941ea76e0559.png)
《智能控制》课程论文基于MATLAB的温度模糊控制系统的设计成绩:任课教师:***班级:测控09-2*****上交时间:2012.11.05一、温度模糊控制在工业生产过程中, 温度控制是重要环节, 控制精度直接影响系统的运行和产品质量。
在传统的温度控制方法中, 一般采取双向可控硅装置, 并结合简单控制算法(如PID算法) , 使温度控制实现自动调节。
但由于温度控制具有升温单向性、大惯性、大滞后等特点, 很难用数学方法建立精确的模型,因此用传统的控制理论和方法很难达到好的控制效果。
鉴于此, 本文拟以模糊控制为基础的温度智能控制系统, 采用人工智能中的模糊控制技术, 用模糊控制器代替传统的PID 控制器, 以闭环控制方式实现对温度的自动控制。
二、方案设计利用MATLAB的模糊控制箱及Simulink内含的功能元件,建立温度箱温度模糊控制器及其系统的模型。
1.建立模糊控制器采用温度偏差,即实际测量温度与给定温度之差e及偏差变化率ed作为模糊控制器的输入变量,输出p为“PWM波(脉冲宽度调制)”控制发热电阻的功率,来调节温度箱内温度的升降,形成典型的双输入单输出二维模糊控制器。
运用MATLAB中的FIS编辑器,建立温度箱的Mamdani型模糊控制器,如图1所示。
温度偏差e、温度偏差变化率ed和输出变量lZ的语言变量E,Ed,P都选择为{NB,NM,NS,Z,PS,PM,PB},其中P和N分别表示正与负,B,M,s分别表示大、中、小,z表示0。
图1 模糊控制器模型2.建立控制决策及隶属函数模糊控制决策及解模糊方法采用系统默认值,即极大极小合成运算与重心法解模糊。
由模糊控制决策公式可求得输出变量的模糊集合为P =(E ×Ed )×R本文都采用三角隶属函数,各变量的隶属函数如图2所示。
其中,图2(a)为E和Ed,隶属函数图,E和Ed的量化论域为[-6,6];图2(b)为P隶属函数图,EC的量化论域为[-6,6]。
第三章模糊控制模糊控制的MATLAB仿真优秀课件
![第三章模糊控制模糊控制的MATLAB仿真优秀课件](https://img.taocdn.com/s3/m/3ad674d716fc700aba68fcc7.png)
>> area=pi*r^2; % 计算面积
Hale Waihona Puke 三、变量和数值显示格式1、变量
(1)变量名称
MATLAB对使用变量名称的规定:
1. 变量名称的英文大小写是有区别的(apple, Apple, AppLe,三个变量不同)。
2. 变量的长度上限为 31 个字元。
3. 变量名的第一个字必须是一英文字,随后可 以掺杂英文字、数字或是底线。变量中不能 包含有标点符号。
>> r=2, area=pi*r^2
>> r=2; area=pi*r^2;
请注意上述二式的差异,前者有计算值显示, 而后者则无。
另外一个符号注解是由%起头,也就是说在%之后 的任何文字都被视为程式的注解。注解的功能是 简要的说明程式的内容。任何可能产生混淆的地 方都应该加注解,适量的注解可在以后想了解程 式时能节省一些不必要的时间。例如:
❖ format只是影响结果的显示,不影响其计算与存储; MATLAB总是以双字长浮点数(双精度)来执行所 有的运算。
MATLAB可以将计算结果以不同的精确度的数字格式显示,我们可 以直接在指令视窗键入以下的各个数字显示格式的指令,以π值 为例 :
>> pi ans = 3.1416 >> format long >> pi ans = 3.14159265358979 >> format short e >> pi ans = 3.1416e+000
如果结果为整数,则显示没有小数;如果结果不是整数, 则输出形式有:
四、简单的数学运算(例exp02_01.m)
基于MATLAB的温度模糊控制系统的设计
![基于MATLAB的温度模糊控制系统的设计](https://img.taocdn.com/s3/m/1f959eafafaad1f34693daef5ef7ba0d4a736dd9.png)
基于MATLAB的温度模糊控制系统的设计MATLAB是一种强大的数学计算软件,用于科学与工程领域的数据处理、分析和可视化等应用。
在温度控制系统设计中,模糊控制是一种常用的控制方法。
本文将介绍基于MATLAB的温度模糊控制系统的设计。
温度模糊控制系统的设计包括四个主要步骤:建立模糊控制器,设计模糊推理规则,模糊化与去模糊化以及系统仿真。
首先,建立模糊控制器。
在MATLAB中,可以使用Fuzzy Logic Toolbox工具箱来创建和管理模糊逻辑系统。
可以使用命令fuzzy,创建一个模糊逻辑系统对象。
在创建模糊控制器对象后,需要定义输入和输出变量。
输入变量可以是温度偏差,输出变量可以是控制信号。
然后,可以使用addInput和addOutput命令来添加输入和输出变量。
接下来,设计模糊推理规则。
在模糊推理中,需要定义一组规则来描述输入变量和输出变量之间的关系。
可以使用addRule命令来添加规则。
规则的数量和形式可以根据实际需求进行调整。
然后,进行模糊化与去模糊化。
模糊化是将模糊输入变量转换为模糊集,而去模糊化是将模糊输出变量转换为具体的控制信号。
可以使用evalfis命令进行模糊化和去模糊化。
模糊化使用模糊逻辑系统对象对输入变量进行处理,而去模糊化使用模糊逻辑系统对象对输出变量进行处理。
最后,进行系统仿真。
可以使用Simulink工具箱来进行系统仿真。
在仿真过程中,将温度控制系统与模糊控制器进行连接,然后通过给定的输入条件观察系统的响应。
可以利用Simulink中的Scope来显示温度的变化,并且可以通过模糊控制器来调整温度。
在设计温度模糊控制系统时,还需要考虑参数调节和性能评估等问题。
可以使用MATLAB中的优化工具箱对模糊控制器的参数进行调节,以获得更好的控制性能。
还可以使用MATLAB中的性能评估工具来评估系统的性能,例如稳定性、精度和鲁棒性等。
综上所述,基于MATLAB的温度模糊控制系统的设计包括建立模糊控制器、设计模糊推理规则、模糊化与去模糊化以及系统仿真等步骤。
模糊控制在matlab中的实例
![模糊控制在matlab中的实例](https://img.taocdn.com/s3/m/9aded584ab00b52acfc789eb172ded630b1c9804.png)
模糊控制在matlab中的实例模糊控制是一种基于经验知识的控制方法,与传统的精确控制方法不同,它允许对系统的行为进行模糊描述,并通过一套模糊规则来对系统进行控制。
在实际应用中,模糊控制常常用于处理非线性、复杂和不确定的系统,例如温度控制、汽车制动系统等。
在MATLAB中,可以通过使用Fuzzy Logic Toolbox工具箱来实现模糊控制。
下面以一个简单的温度控制系统为例,来介绍如何在MATLAB中进行模糊控制的实现。
首先,需要定义模糊控制器的输入和输出变量,以及它们的模糊集合。
在温度控制系统中,可以定义温度作为输入变量,定义加热功率作为输出变量。
可以将温度的模糊集合划分为"冷"、"适中"和"热"三个模糊集合,将加热功率的模糊集合划分为"低"、"中"和"高"三个模糊集合。
```temperature = readfis('temperature.fis');temp_input = [-10, 40];temp_output = [0, 100];temperature_inputs = ["冷", "适中", "热"];temperature_outputs = ["低", "中", "高"];```然后,需要定义模糊规则。
模糊规则用于根据输入变量的模糊集合和输出变量的模糊集合之间的关系来确定控制规则。
例如,当温度为"冷"时,加热功率应该为"高"。
可以根据经验知识定义一系列模糊规则。
```rules = ["冷", "高";"适中", "中";"热", "低";];```接下来,需要定义模糊控制器的输入和输出变量值。
模糊控制的Matlab仿真实例分析
![模糊控制的Matlab仿真实例分析](https://img.taocdn.com/s3/m/2c493c72e3bd960590c69ec3d5bbfd0a7856d555.png)
.
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模糊控制器的设计以及simulink下对模糊控制器系统的仿真(word文档良心出品)
![Matlab模糊控制器的设计以及simulink下对模糊控制器系统的仿真(word文档良心出品)](https://img.taocdn.com/s3/m/eea302e57f1922791688e8f0.png)
Matlab模糊控制器的设计以及simulink下对模糊控制器系统的仿真首先,在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口:接下来在上述窗口中进行模糊控制器的设计:1.双输入,单输出:点击Edit----Add Variable---input2.为E添加隶属度函数,E的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},E的模糊集合为{NB,NM,NS,NZ,PZ,PS,PM,PB},Edit—Membership Function edit,如下图所示:3.为EB添加隶属度函数,EB的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},EB的模糊集合为{NB,NM,NS,ZE,PS,PM,PB},Edit—Membership Function edit,如下图所示:4.为U添加隶属度函数,U的论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},U的模糊集合为{NB,NM,NS,ZE,PS,PM,PB},Edit—Membership Function edit,如下图所示:其中E,EB,U均为模糊量。
5.为模糊控制器设计模糊规则,由于E的语言变量有8个,EB的语言变量有7个,所以模糊控制器的模糊规则总共有8*7=56条,接下来为模糊控制器添加规则:双击untitled,则有下面的表格:制定完成后,会形成模糊规则矩阵,系统会根据模糊输入量E,EB,经过模糊控制规则[56条],进而确定输出量U。
6.对输入量模糊化以及对输出量清晰化,我们采取最小最大重心法。
7.点击export—to file. ***#$.fis文件就是所设计的控制器。
8.下面对我们设计的模糊控制器进行检验,所构建的系统如下:系统分析:模糊控制器:双输入单输出,输入为误差以及误差的变化率的模糊量,输出为控制量的模糊量,模糊控制器中有56条规则。
温控制系统的模糊PID参数整定及MATLAB仿真
![温控制系统的模糊PID参数整定及MATLAB仿真](https://img.taocdn.com/s3/m/da2b9f2fb0717fd5370cdc61.png)
要确定模糊PID参数的论域范围,首先要根据建好的模型整定普通PID控制 器的参数,然后再由该参数,分别确定模糊PID控制器中Kp,Ki,Kd三个参数 的论域。
当温差e为中等大小时,为了使系统响应具有较小的超调,Kp 应取得 小些,Ki 和Kd 的大小要适中,以保证系统的响应速度。其中,Kd 对系统响应的影响较大。
当温差e较小时,为使系统具有较好的稳态性能,3 个参数均应取得 大些,同时为避免系统在设定值附近出现振荡,并考虑系统的抗干扰 性能,当温差变化ed比较小时,Kd 可取得大一些(通常取为中等大小 );当温差变化ed比较大时,则Kd 要小些。这样可避免温度反复振荡 的现象。模糊规则
在上面模糊规则建立后,matlab就能根据论域及相应的7段规则分 割,通过模糊推理及反模糊化计算出相应的Kp、Ki、Kd的精确值, 然后再由离散化公式u(k)=Kp(k)e(k)+Ki(k)X(k) +Kd(k)[e(k)-e(k-1)]得出加热器精确的功率输出U。
响应曲线符合以上衰减规律,最终取Kp=0.8*4.25=3.4,再由以上规则及根据需
求调整后,Ki 取0.0028,Kd 取100 。simulink 的模块化设计图如下,由于控制
量输出有范围限制,因此要在控制回路加上控制量约束。
图1-1 simulink模块化系统PID仿真模型
仿真的时间选择1000 秒,设定误差值为40。仿真结果后如下图:
设定输入变量e和ec及输出量Kp、Ki、Kd的语言值的模糊子集均设为 {NB,NM,NS,Z,PS,PM,PB},并将其分别对应以上论域范围 设置到matlab的fuzzy函数设计中。
模糊控制器的matlab设计步骤
![模糊控制器的matlab设计步骤](https://img.taocdn.com/s3/m/1985891abb1aa8114431b90d6c85ec3a87c28b36.png)
模糊PID控制器设计和仿真步骤:各变量隶属度函数的确定第一步:各变量隶属度函数的确定1、 用于PID 参数调整的模糊控制器采用二输入三输出的形式。
该控制器是以误差E 和误差变化率EC 作为输入,PID 控制器的三个参数P、I、D 的修正△KP、△KI、△KD 作为输出,如图1;2、 取输入E 和EC 和输出△KP、 △KI、△KD 模糊子集为{NB,NM,NS,ZO,PS,PM,PB},其论域为[-6,6],量化等级为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};如图23、 在模糊逻辑工具箱的隶属度函数编辑器中,选择输入量E,EC 隶属函数为高斯型(gaussmf),输出△KP、△KI、△KD 的隶属函数为三角形(trimf),如图2和3。
图1图2图3第二步:根据图4规则建立模糊规则表,如图5:图4图5第三步:设置参数:与方式与方式 (And method)为min ;或方式(Or method)为max ;推理推理 (Implication)为min ;合成;合成 (Aggregation)为max ;去模糊(Defuzzification)为重心平均法(centroid )。
)。
第四步:保存该FIS 文件,取名为FuzzyPID.fis第五步:在MA MATLABTLAB 的M 文件编辑器里建立一个名为FuzzyPID.m 的文件,其内容为:martrix=readfis (‘Fuzzypid.fis ’),并运行。
,并运行。
第六步:打开SIMULINK ,新建一个Model ,选择一个Subsystem ,在其中编辑模块,如图6,并设置模糊化因子KE=KEC=0.01,解模糊因子KP=0.5,KI=KD=0.01,并在Fuzzy Logic Controller 模块的Parameters 中输入readfis('FuzzyPID.fis'):图6第七步:返回到新建的Model 中,按照如图7所示建立模糊PID 控制器,其中,控制器,其中,PID PID 初始值为KP0=20,KI0=1.35,KD0=3.7,传递函数为:图7第八步:保存为FuzzyPID.mdl 并运行。
模糊控制_精品文档
![模糊控制_精品文档](https://img.taocdn.com/s3/m/da46199ccf2f0066f5335a8102d276a2002960d9.png)
淋浴水温模型控制人们在淋浴时, 一般总是先打开冷水笼头再打开热水笼头, 然后反复调节直到喷头喷出适宜温度的水才开始洗浴; 如果热水器的性能稍差或受其他因素的干扰, 水温会发生变化又不得不重新调整; 每换一个人洗浴还要重复这个调节过程; 这种调节方式浪费了大量的水和能源。
本文准备从建立淋浴器模型入手, 根据实际经验及模糊数学原理, 通过MATLAB 进行计算机仿真实验, 设计一种淋浴器的温度和流量的自动控制器。
利用这种控制器, 加热器在启动和运行过程中可以根据个人的要求, 迅速自动地调整水温和流量, 从而达到节水节能的目的。
一、模糊控制器的设计本实验以MATLAB模糊控制箱中的淋浴水温模型控制为例,结合simulink的应用,讲述模糊控制方法在淋浴水温控制方面的应用。
模型shower是一个淋浴温度及水量调节的模型控制系统的仿真,图中的虚线为模糊控制器,这个控制器是二维模糊控制器,以水的温度偏差temp和流量偏差flow为输入量, 采用模糊推理方法对水的温度偏差和流量偏差进行整定, 用来确定冷水阀门和热水阀门的开口大小cold和hot以便控制冷热水的流量,构成2 输入2 输出的一阶模糊控制系统; 模糊推理与去模糊化采用MIN - MAX 法及重心法, 并用MATLAB模糊推理工具箱来编辑模糊控制器。
系统总框图如下图所示。
输入变量:(1)温度偏差(temp):模糊论域:[-20 20],模糊子集和模糊子集类型及隶属度函数拐点参数如下:①cold:trapmf曲线 [-30 -30 -15 0]②good: trimf 曲线 [-10 0 10]③hot : trapmf曲线 [0 15 30 30](2)水流量偏差(flow): 模糊论域:[-1 1],模糊子集和模糊子集类型及隶属度函数拐点参数如下:①soft:trapmf曲线[-3 -3 -0.8 0]②good: trimf 曲线 [-0.4 0 0.4]③hard: trapmf曲线 [0 0.8 3 3]输出变量:(1)冷阀控制 (cold):模糊论域:[-1 ,1],5条隶属度函数类型均为trimf型,模糊子集及隶属度函数拐点参数如下:①closeFast [-1 -0.6 -0.3]②closeSlow [-0.6 -0.3 0]③steady [-0.3 0 0.3 ]④openSlow [0 0.3 0.6]⑤openFast [ 0.3 0.6 1](2)热阀控制 (hot):模糊论域[-1 ,1],5条隶属度函数均为trimf 型,模糊子集及隶属度函数拐点参数如下:①closeFast[-1 -0.6 -0.3]②closeSlow[-0.6 -0.3 0]③steady [-0.3 0 0.3 ]④openSlow [0 0.3 0.6]⑤openFast [ 0.3 0.6 1]其中输入变量水温与流速的偏差与输出热水阀、冷水阀的控制方法的经验表格如表1及表2所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模糊温度控制器的设计与Matlab仿真徐鹏 201403026摘要:针对温度控制系统的时变、滞后等非线性特性及控制比较复杂的问题,提出了一种模糊控制方案以改善系统的控制性能.该方案采用mamdani推理型模糊控制器代替传统的PID控制器,依据模糊控制规则由SCR移相调控晶闸管控制电阻炉电热功率,实现对温度的控制. Matlab仿真结果表明,模糊控制的引入有效地克服了系统的扰动,改善了控制性能,提高了控制质量.关键词:温度控制器;模糊控制;仿真分析中图分类号: TP272 文献标志码:AAbstract:For the temperature controlsystem with the nonlinear characters of time-varying and lag and the comp lexity in control,a fuzzy control algorithm is p resented. Thealgorithm adop tsmamdani reasoning fuzzyPID controller to rep lace the traditional PID controller and use the SCR phase-shift thyristor to control the e-lectric resistance furnace power based on the fuzzy control rules to imp lement the temperature control. Matlabsimulation results show that the fuzzy control can effectively overcome the disturbance and imp rove the con-trol performance.Key words: temperature controller; fuzzy control; simulation analysis0 引言在工业生产过程中,温度控制是重要环节,控制精度直接影响系统的运行和产品质量. 在传统的温度控制方法中,一般采取双向可控硅装置,并结合简单控制算法(如PID算法) ,使温度控制实现自动调节. 但由于温度控制具有升温单向性、大惯性、大滞后等特点,很难用数学方法建立精确的模型,因此用传统的控制理论和方法很难达到好的控制效果. 鉴于此,本文拟以模糊控制为基础的温度智能控制系统,采用人工智能中的模糊控制技术,用模糊控制器代替传统的PID 控制器,以闭环控制方式实现对温度的自动控制.1温度控制系统的硬件组成在该温度控制装置中,由SCR移相调控晶闸管控制电阻炉来实现对温度的控制. 在温控系统中,通过CAN总线将控制站、操作站和通信处理单元连为一体. 温度控制系统的结构简图如图1所示.图1温度控制系统结构简图本系统现场控制站由主控卡(ADAM5000 /CAN) 、总线适配卡( PCL841 ) 、模拟量输入卡(5017) 、模拟量输出卡( 5024)构成基本控制回路.其中被控对象为箱形电阻炉(电压220 V, 功率4. 5 kW,额定温度1 200 ℃) ,系统采用镍铬热电偶作为温度传感器,其检测温度范围为0~1 300 ℃,对应输出为0 ~52. 37 mV. 采用DBW 型温度变送器,把热电偶输出的mV信号转变为0~5 V标准模拟信号. 该信号经A /D转换成数字信号,送入计算机. 计算机将实际检测信号与给定信号比较后发出控制信号,经D /A转换成0~5 V模拟信号,该信号对应可控硅触发器的0~100%触发,触发可控硅的导通角以改变电阻炉的电热功率.图1所示的温度模糊控制系统和常见的负反馈控制系统相似,不同之处是控制装置为模糊控制器. 热电偶传来的带有温度信号的mV级电压,经滤波、放大后,送至A /D转换器. 这样,就将所检测的炉温对应的电压信号转换成数字量送入计算机,并与给定的电压信号进行比较,计算其偏差,计算机再对该偏差按一定的规律进行运算. 运算结果可以控制可控硅在控制周期内的过零触发脉冲个数,也就是控制电阻炉的平均功率的大小,从而达到控制温度的目的. 该控制系统的硬件系统由同步过零检测电路、温度信号检测及可控硅触发电路、掉电检测与保护电路等组成,其中模糊温度控制器的设计是重点.2模糊温度控制器的设计本次设计采用mamdani推理型模糊控制器. 该控制器为双输入、单输出结构: 输入量为设定的锅炉温度值与采样值的偏差E 以及温度偏差值的变化率EC ;输出量为温度控制量U. 模糊控制器的具体设计步骤如下:1精确量的模糊化过程. 根据本系统的实际性质和要求,对输入量和输出控制量的模糊语言描述(模糊集)定义如下:设定输入变量e和ec语言值的模糊子集为{负大,负中,负小,零,正小,正中,正大} ,简记为{NB, NM, NS, ZO, PS, PM, PB } ,将偏差e和偏差变化率ec量化到( - 3, 3)的区域内本系统所选择的隶属函数均为三角形分布,这样就完成了精确量的模糊化过程. 不同的系统,其模糊集的隶属函数是不同的,要根据实际情况和实践经验而定.2模糊控制算法. 模糊控制的核心是模糊控制规则的建立. 模糊控制规则的实质是把操作者的经验加以总结,并将在控制过程中由经验得来的相应措施总结成控制规则. 在得到输入偏差量E,偏差变化率EC 和控制量U的模糊集后,就可以利用“若E且EC ,则U”的控制规则建立模糊控制器. 表1为模糊控制规则表.表1模糊控制规则表表1是完整的控制策略,每一条模糊条件推理语句对应一个模糊关系R = E ×EC ×U.按上式即可计算出模糊条件推理语句所对应的模糊关系矩阵R1 , R2 , ⋯, Rn ,将所有的模糊关系矩阵求并集运算,即R = R1 ∪R2 ∪⋯∪Rn ,即可求出总的模糊关系R.然后,输入已知的条件,输出由这个总控制规则的模糊关系确定.3 模糊判决. 由模糊数学理论可知,总的模糊关系矩阵R 是一个49 ×7的矩阵,每次控制计算都处理这样一个矩阵是很困难的. 为此,可先将R 矩阵算出,然后算出每种输入状态下的模糊控制输出,最后用最大隶属度决策算法,将模糊控制输出转化为精确的实际输出动作.模糊控制器的控制算法由计算机的程序实现. 这种程序一般包括 2 个部分: 一个程序是离线计算查询表,属于模糊矩阵运算; 另一个程序是计算机在模糊控制过程中在线计算输入变量,并进行模糊量化处理,查找查询表后再做输出处理. 在实时控制时, 先将该表存入计算机,只要测得E和EC ,通过查询计算机内存中的总控制表,即可得到相应的控制量U.3 模糊温度控制器的设计利用MATLAB的模糊控制箱及Simulink内含的功能元件,建立温度箱温度模糊控制器及其系统的模型。
1.建立模糊控制器采用温度偏差,即实际测量温度与给定温度之差E及偏差变化率EC作为模糊控制器的输入变量,输出温度控制量U形成典型的双输入单输出二维模糊控制器。
运用MATLAB中的FIS编辑器,建立温度箱的Mamdani型模糊控制器,如图2所示。
温度偏差E、温度偏差变化率EC和输出变量U的语言变量E,EC,U都选择为{NB,NM,NS,Z,PS,PM,PB},其中P和N分别表示正与负,B,M,S分别表示大、中、小,Z表示0。
图2 模糊控制器模型2.建立控制决策及隶属函数模糊控制决策及解模糊方法采用系统默认值,即极大极小合成运算与重心法解模糊。
由模糊控制决策公式可求得输出变量的模糊集合为U =(E ×EC )×R 本文都采用三角隶属函数,各变量的隶属函数如图3所示。
其中,图3(a)为E 和EC,隶属函数图,E和EC的量化论域为[-3,3];图3(b)为U隶属函数图,U 的量化论域为[-3,3]。
不同的系统, 其模糊集的隶属函数是不同的, 要根据实际情况和实践经验而定。
图3(a)E和EC的隶属函数图3(b) U的隶属函数图3隶属函数3. 建立模糊控制规则建立该系统模糊控制规则的基本原则为:当温度偏差较大时,选择控制量以尽快消除误差为主;当温度偏差较小时,选择控制量要注意防止超调,以系统的稳定性为主要出发点。
将模糊控制规则表中的规则逐一输入模糊控制规则界面。
如图4所示:图4模糊控制规则界面模糊规则三维关系曲面图如图5所示。
从图4可以清晰地观测到模糊系统基于输入集的输出集的变化范围。
图5模糊规则三维关系曲面图按view-Rules,可得到部分规则视图。
如图6所示图6 部分规则视图4 MATLAB的仿真为了验证所设计的温度模糊控制器的性能, 并在仿真过程中及时调整模糊控制器的控制规则和各项参数,利用Matlab 软件进行仿真研究. 本次设计利用FuzzyLog ic Too lbox 和S imu link 图形化工具平台, 对温度控制系统进行优化模糊控制设计与仿真的。
在进行温度控制系统的仿真之前, 必须建立被控对象的数学模型. 通常采用阶跃响应法来获得对象的特性.温度箱温度控制系统的传递函数数学模型, 近似等效为带纯滞后的一阶对象。
G(S)=Ku(e-ts)/65s+1在进行模糊控制仿真时, 首先利用M atlab的模糊逻辑工具箱建立温度箱模糊控制器, 然后在S imulink环境下把模糊控制器加载进相应模块, 进行仿真.量化因子Kp=4,Kd =2,Ku =27,模糊控制器的封装以及阶跃响应曲线分别如图7, 图8所示.图7 系统仿真模型图图8 方波响应曲线5 结语模糊温度控制系统对无法取得数学模型或数学模型相当粗糙的系统可以取得满意的控制效果.与传统的PID温度控制系统相比,该系统具有控制精度高、速度快、控制质量可靠稳定等优点,大大提高了控制质量及自动化水平.参考文献:[ 1 ] 路康,阎文科. 模糊P ID控制在真空温度控制系统中的应用[ J ]. 郑州轻工业学院学报:自然科学版: 2008,23 (2) : 50.[ 2 ] 施阳. Matlab语言精要及动态仿真工具Simulink [M ].西安:西北工业大学出版社, 1998.[ 3 ] 胡一倩. 模糊控制在锅炉热工控制中的应用简介及应用前景[ J ]. 工业控制计算, 2002 (4) : 25.[ 4 ] 李明伟. 基于模糊双模控制的钢水液位控制系统实现[ J ]. 计算机工程, 2006 (17) : 257.。