《模糊控制》实验指导书
《模糊控制》实验指导书李士勇沈毅周荻邱华洲袁丽英
实验名称:
实验地点:
指导教师:
联系电话:
Harbin Institute of Technology
2005.3
模糊控制实验指导书
一、 实验目的
利用Matlab 软件实现模糊控制系统仿真实验,了解模糊控制的查询表方法和在线推理方法的基本原理及实现过程,并比较模糊控制和传统PID 控制的性能的差异。
二、 实验要求
设计一个二维模糊控制器分别控制一个一阶被控对象1
1
)(11+=s T s G 和二阶被控对象)
1)(1(1
)(212++=
s T s T s G 。
先用模糊控制器进行控制,然后改变控制对
象参数的大小,观察模糊控制的鲁棒性。
为了进行对比,再设计PID 控制器,同样改变控制对象参数的大小,观察PID 控制的鲁棒性。
也可以用其他语言编制模糊控制仿真程序。
三、 实验内容
(一)查询表式模糊控制器实验设计
查询表法是模糊控制中的最基本的方法,用这种方法实现模糊控制决策过程最终转化为一个根据模糊控制系统的误差和误差变化(模糊量)来查询控制量(模糊量)的方法。
本实验利用了Matlab 仿真模块——直接查询表(Direct look-up table )模块(在Simulink 下的Functions and Tables 模块下去查找),将模糊控制表中的数据输入给 Direct look-up table ,如图1所示。
设定采样时间(例如选用0.01s ),在仿真中,通过逐步调整误差量化因子Ke ,误差变化的量化因子Kec 以及控制量比例因子Ku 的大小,来提高和改善模糊控制器的性能。
模糊控制器设计步骤:
1、选定误差E和误差变化EC作为模糊控制器的输入(二维模糊控制器),控制
量U作为模糊控制器的输出。
E,EC和U的模糊集及其论域定义如下:
EC和U的模糊语言变量集均为{NB,NM,NS,ZO,PS,PM,PB}
E的模糊语言变量集为{NB,NM,NS,NO,PO,PS,PM,PB}
E和EC论域为{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}
U的论域为{-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7}
确定模糊变量的赋值表:对模糊变量赋值,就是确定论域内元素对模糊语言变量的隶属度。
各个变量的赋值表见《模糊控制、神经控制和智能控制论》一书的283页。
利用计算机根据赋值表进行计算,并采用最大隶属度法的解模糊方法,可以得到模糊控制查询表,如表1所示。
表1 模糊控制表
在进行仿真时将上述表格中元素以矩阵形式输入到matlab直接查询表(Direct look-up table)模块中,直接查询表模块参数的修改可以直接在对话框中修改(注意,各行元素之间须以分号隔开),也可以在Simulink/Tools/Look-up table editor 中进行修改。
图1 查询表法的仿真模型
2、建立仿真模型
仿真模型如图1所示。
考虑到输入变量的变化范围,有可能超出表中给定的值,选择了两个饱和环节saturation1和saturation2(在simulink/discontinuities查找这个模块)作为超限的保护。
Rounding function(在simulink/math中查找)是四舍五入环节,将小数转换为整数。
因为direct look-up table中行和列的起始号都是从零开始的,所以输入到direct look-up table中的变量要加一个偏移量+6。
Scope模块(在simulink/sinks中查找)是示波器,可以直接观察系统的输出曲线,并可以进行存储、打印。
3、设置仿真模型中各个模块的参数。
先设置一阶对象中的T1为2,二阶对象中的T1、T2的分别为2和4,然后设定仿真时间(点击仿真模型窗口上simulation/simulation parameters进行设定)。
打开direct look-up table,将表1中的元素以矩阵形式输入到Table data中。
然后调节Ke,Kec,和Ku的参数(对一阶系统参考数据分别是100,1,-1,二阶系统参考数据是200,5,-200),直到符合要求(如误差小于1%或者超调量小于5%)为止,观察输出曲线。
改变控制对象参数(在Matlab中,对象参数修改很方便,只要双击对象模块,以向量形式给出传递函数形式对象的系数),仔细观察输出曲线,并讲实验结果填写到实验报告的表格中。
本实验中,一阶对象的变化范围可以选择1~10;二阶对象参数变化范围,T1选择1~5,T2选择1~5)。
4、建立PID仿真模型
为了和模糊控制做比较,也建立了PID控制的仿真模型,如图2所示。
调节PID参数(参考数据是100,2,50)。
观察输出曲线同样在二阶对象下调节PID 的参数,然后改变对象参数,观察PID控制系统输出曲线。
仿真框图如图2(a)所示。
(a)中的PID子系统框图如图2(b)所示。
图2 (a)
图2(b)PID控制仿真模型
二阶系统的模糊控制输出曲线如图3所示:
图3 模糊控制系统输出曲线二阶系统的PID控制输出曲线如图4所示:
图4 PID控制系统输出曲线
当改变控制对象的参数时,再观察模糊控制系统输出曲线,将结果填入实验报告表格中。
(二)在线模糊推理方法的模糊控制
1、模糊推理的五个步骤
1)输入变量的模糊化fuzzy inputs
这是模糊推理的第一步,是获取输入变量,并确定它们的隶属函数,从而确定属于每个模糊集合的隶属度。
2) 应用模糊算子Apply Fuzzy Operator
完成了输入模糊化,就知道了对于每个模糊规则,前提中每一个部分被满足的程度。
如果一个给定规则的前提有多个部分,则要应用模糊算子来获得一个数值,这个数值表示前提对于该规则的满足程度。
模糊算子有模糊交(AND)和模糊或(OR)算子。
3) 应用推理方法Apply Implication Method
推理的类型有mamdani和sugeno 推理。
Mamdani推理法是一种在模糊控制中普遍使用的方法,它本质上仍然是一种合成推理方法,只不过对模糊蕴涵关系取不同的形式而已。
Mamdani型推理,从每个规则的结果中得到的模糊集通过聚类运算后得到结果模糊集,被反模糊化后得到系统输出。
Sugeon型推理:其中每个规则的结果是输入的线性组合,而输出是结果的加权线性组合。
4) 输出的聚类Aggregate All Outputs
由于决策是在对模糊推理系统中所有规则进行综合考虑的基础上做出的,因此必须以某种方式将规则结合起来以做出决策。
聚类就是这样一个过程,它将表示每个规则输出的模糊集结合成一个单独的模糊集。
聚类方法有max,probor(概
率乘),sum。
其中,sum执行的是各规则输出集的简单相加。
5) 解模糊化Defuzzify
解模糊化过程也叫反模糊化过程,它的输入是一个模糊集,既上一步的聚类输出模糊集,其输出为一个单值。
模糊集的聚类中包含很多输出值,因此必须进行反模糊化,以从集合中解析出一个单输出值。
2、模糊逻辑工具箱的介绍
模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。
1)FIS编辑器:
Matlab的FIS界面如图3所示。
FIS处理系统有多少个输入变量,输出变量,名称是什么,模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor 概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middle of maximum,largest of maximum,smallest of maximum)。
图3 模糊推理系统(FIS)界面
2) 隶属函数编辑器:
确定各个变量的论域和显示范围(左下角编辑区内),如图4所示。
定义每个变量的模糊集的名称(如负大、负中、负小、零、正小、正中、正大)和个数(Edit菜单中Add MFs),以及每个模糊变量的隶属函数类型和参数(点击变量的隶属函数曲线后在右下角编辑区内修改)。
隶属函数的类型有:trimf,trapmf,gbellmf,gaussmf,gauss2mf,sigmf,dsigmf,psigmf,pimf,smf,zmf
图4 隶属函数编辑器
3) 模糊规则编辑器:
完成了对变量的命名,隶属函数也有了适当的形状和名字,就可以编辑模糊规则。
选择连接关系(and 或者or),权重,在编辑器左边选择一个输入变量,并选择它的语言值,然后在编辑器右边的输出变量中选择一个输出变量,并选中它的语言值,然后将这种联系添加到模糊规则中。
Options/Format 下可以选择模糊规则不同的格式,默认的是verbose(模糊规则的详细格式),还有symbolic(符号格式),indexed(高度压缩格式)。
一级直线倒立摆系统模糊控制器设计---实验指导书精讲
一级直线倒立摆系统模糊控制器设计---实验指导书精讲第一篇:一级直线倒立摆系统模糊控制器设计---实验指导书精讲一级直线倒立摆系统模糊控制器设计实验指导书目录实验要求........................................................................................................................... ...................3 1.1 实验准备........................................................................................................................... ................3 1.2 评分规则........................................................................................................................... ................3 1.3 实验报告内容........................................................................................................................... ........3 1.4 安全注意事项........................................................................................................................... ........3 2 倒立摆实验平台介绍..........................................................................................................................4 2.1 硬件组成........................................................................................................................... ................4 2.2 软件结构........................................................................................................................... ................4 3 倒立摆数学建模(预习内容)............................................................................................................6 4 模糊控制实验........................................................................................................................... ............8 4.1 模糊控制器设计(预习内容).......................................................................................................8 4.2 模糊控制器仿真........................................................................................................................... ...12 4.3 模糊控制器实时控制实验..............................................................................................................12 5 附录:控制理论中常用的MATLAB 函数.......................................................................................13 6 参考文献........................................................................................................................... .................14 实验要求1.1 实验准备实验准备是顺利完成实验内容的必要条件。
智能控制实验-模糊控制
实验一 洗衣机的模糊控制仿真一、实验目的本实验要求在学生掌握模糊控制器基本工作原理和设计方法基础上,熟悉MALAB 中的模糊控制工具箱,能针对实际问题设计模糊控制器,建立模糊控制系统,训练学生综合运用计算机来解决一些实际问题的能力。
二、实验设备计算机一台、MATLAB 软件三、实验要求设计一个模糊控制器,根据衣物的泥污和油污程度,输出衣物的洗涤时间,通过改变控制参数的大小,观察模糊控制的性能。
四、实验步骤1.确定模糊控制器的结构选用两输入单输出模糊控制器,控制器的输入为衣物的泥污和油污,输出为洗涤时间。
2. 定义输入、输出模糊集 将泥污分为三个模糊集:泥污少SD 、泥污中MD 、泥污大LD ;油污分为三个模糊集:油污少SG 、油污中MG 、油污大LG ;将洗涤时间分为五个模糊集:很短VS 、短S 、中等M 、长L 、很长VL 。
3. 定义隶属度函数选用三角形隶属度函数实现泥污、油污和洗涤时间的模糊化:(50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SD MD 泥污LD (50)/50050/50050(100)/505010050100(50)/50x x x x x x x x μμμμ=-⎧≤≤⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪<≤=-⎩SG MG 油污LG(50)/50010/50010(100)/501025/501025(100)/5025402540/504060(100)/504060(50)/50x z x z x z x z x z z x z x z x μμμμμμ=-⎧≤≤⎪⎧≤≤⎪=⎨⎪-<≤⎩⎪≤≤⎧⎪==⎨⎨-<≤⎩⎪⎪≤≤⎧⎪=⎨<≤-⎪⎩⎪≤≤=-⎩SG MG MG 洗涤时间MG LG实验结果:实验分析:6.模糊推理因模糊控制规则表对称,所以上图为input1 和input2分别为50时input2和input1与洗涤时间的关系。
模糊控制实验
中南大学模糊控制课程实验报告学生姓名:彭雄威_____________ 指导教师: ________________ m _______ 学院:信息科学与工程学院学号:114611167 ______________实验一:本系统设计基于MATLAB图形模糊推理系统,设计步骤如下:打开MATLAB,输入指令fuzzy,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Mamdani模糊推理系统。
(1) 增加一个输入变量,将输入变量命名为E、Ec,将输出变量命名U。
这样就建立了一个两输入单输出的模糊推理系统。
如图1.1所示。
图1.1增加一个输入变量(2) 设计模糊化模块:设计隶属度函数论域范围图3.2设计水位误差E模块3.3设计水位误差EC模块图3.4设计水位输出U模块(4)模糊控制器的规则设计le Editor: fuzzf(5)通过观察器观察规则情况在菜单view中的rules和surface选项分别对应得是规则观测器和曲而观测器。
123 4567891011121314151617181920212223242526272829”Input: 20】Plot points: ioi Move: [ left 11 rg ] |down] ( up ]Opened system tuzzf, 49 rules| 5 Close |图3.7规则观测器图3.6曲面观测器(6)保存编辑好的FIS文件实验二利用MATLAB软件的M文件编辑器和实验一所生成的fuzzf.FIS文件,在M 文件编辑器中输入:a=readfis('fuzzf');evalfis([・0.5广0.07;-0.5,0;・0.5,0.07; 0,・0.07;0,0;0,0.07;0.5广0.07;0.5,0;0.5,0.07],a)便可得fuzzf.FIS文件的模糊控制査询表,其中的数据在水位误差E的论域为[・ 1 1], 误差变化EC的论域为[.0.1 0.1]内可以任意取值。
模糊控制实验报告
模糊控制实验报告本实验通过使用模糊控制器来控制直流电机的转速。
模糊控制是一种基于模糊推理的控制方法,该方法可以处理一些无法准确数学建模的系统控制。
模糊控制的输入和输出都是模糊变量,这样可以考虑到系统存在的不确定性和模糊性。
实验装置包括模糊控制器、直流电机、转速测量装置、实验板等。
模糊控制器由模糊推理机、偏差和变化率输入模糊化模块、输出反模糊化模块、规则库组成。
实验板可通过控制开关选择转速和方向。
在实验中,通过设置转速值和方向,记录电机的真实转速和输出控制信号,来验证模糊控制器的控制效果。
通过不同的控制变量和规则库来对比不同的控制方案。
实验结果表明,模糊控制器对于直流电机转速的控制具有较好的效果。
当控制变量为偏差和变化率时,规则库中的设定合理,输出控制信号的变化平稳,电机转速较为稳定。
当增加控制变量或修改规则库时,控制效果也发生了变化。
同时,实验还验证了模糊控制的重要性和优越性,可以解决一些无法准确建模的系统控制问题。
在实验中,还需要注意一些实验细节,例如校准直流电机转速传感器的准确度,保证实验板电路的正常工作和实验数据的准确性,减少误差的影响。
总之,本实验通过实际操作验证了模糊控制器在直流电机转速控制中的应用,对于学习模糊控制的控制方法和实验操作具有很好的参考意义。
同时,本实验也展示了模糊控制对于处理模糊问题的效果。
在直流电机转速控制中,存在许多因素的影响导致控制过程不确定和模糊,例如负载的变化、外部干扰的存在等等。
而模糊控制可以将这些不确定因素转化为模糊变量进行处理,从而提高控制精度和鲁棒性。
此外,本实验也强调了规则库的重要性。
规则库是模糊控制中很关键的一部分,其中包含了专家经验和数学模型的映射关系。
规则库中的设定需要充分考虑被控对象的特性,才能够保证模糊控制器的控制效果。
而实验中不同的规则库设计对于控制效果的影响也展现了模糊控制的灵活性和可定制性。
最后,本实验的数据记录和实验结果分析也为后续工程实际应用提供了很好的参考。
模糊控制基本实验
1假设一个双输入/单输出系统,输入X∈[-5,5]和Y ∈[-10,10]模糊化成三级:负、零、正,输出Z ∈[-5,5]模糊化成五级:负大、负小、零、正小、正大。
模糊规则表如下所示。
适当选择隶属度函数后,设计一个基于Mamdani模型的模糊推理系统,绘制出输入/输出曲线,并计算当X和Y分别为-3和5以及-2和-7时输出Z的大小。
图1:输入变量X范围及隶属度函数曲线
图2:输入变量Y范围及隶属度函数曲线
图3:输出变量Z范围及隶属度函数曲线
图4:输入输出变量三维曲面图
图5:输入变量X=-3,Y=5时输出变量Z值
图6:输入变量X=-5,Y=-9时输出变量Z 值
2.查找相关文献,设计能跟踪给定输入的模糊控制器,假设系统模型如下:
其中K=30, T1=10, T2=40, Td=2。
(用simulink 搭建系统,对系统进行仿真,给
出系统的阶跃响应曲线)
图7:模糊控制经验规则
)
1)(1()(21s T s T Ke s G s
T d ++=
-
图8:E和EC的范围及隶属度函数曲线
图9:输出变量u的范围及隶属度函数
图10:模糊控制规则
图10:模糊控制规则观察表
图11:输入输出变量三维曲面图
图12:simulink仿真电路图
其中,经过多次试探,当K1=2.4,K2=0.65,K3=1.15时,仿真效果较好。
图13:系统单位阶跃响应输出曲线图。
智能控制--模糊控制实验报告
clear all;close all;T=0; %ʱ¼ä³£Êýa=newfis('fuzz_temperatrue');a=addvar(a,'input','e',[-3,3]); %Parameter e a=addmf(a,'input',1,'NB','zmf',[-3,-1]);a=addmf(a,'input',1,'NM','trimf',[-3,-2,0]);a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);a=addmf(a,'input',1,'Z','trimf',[-2,0,2]);a=addmf(a,'input',1,'PS','trimf',[-1,1,3]);a=addmf(a,'input',1,'PM','trimf',[0,2,3]);a=addmf(a,'input',1,'PB','smf',[1,3]);a=addvar(a,'output','u',[72,78]); %Parameter u a=addmf(a,'output',1,'NB','zmf',[72,74]);a=addmf(a,'output',1,'NM','trimf',[72,73,75]);a=addmf(a,'output',1,'NS','trimf',[73,74,75]);a=addmf(a,'output',1,'Z','trimf',[74,75,76]);a=addmf(a,'output',1,'PS','trimf',[75,76,77]);a=addmf(a,'output',1,'PM','trimf',[75,77,78]);a=addmf(a,'output',1,'PB','smf',[76,78]);rulelist=[1 1 1 1; %Edit rule base2 2 1 1;3 3 1 1;4 4 1 1;5 5 1 1;6 6 1 1;7 7 1 1];a=addrule(a,rulelist);a1=setfis(a,'DefuzzMethod','mom'); %Defuzzywritefis(a1,'temperatrue'); %Save to fuzzy file "tank.fis" a2=readfis('temperatrue');figure(1);plotfis(a2);figure(2);plotmf(a,'input',1);figure(3);plotmf(a,'output',1);flag=1;if flag==1showrule(a) %Show fuzzy rule baseruleview('temperatrue'); %Dynamic Simulationenddisp('-------------------------------------------------------');disp(' fuzzy controller table:e=[-3,+3],u=[-4,+4] ');disp('-------------------------------------------------------');for i=1:1:7e(i)=i-4;Ulist(i)=evalfis([e(i)],a2);endUlist=round(Ulist)e=-3; % Erroru=evalfis([e],a2) %Using fuzzy inference四、Simulink仿真模型五、实验结果令T=0;1、模糊控制器为一维控制器,输入输出变量的量化等级为7级,取5个模糊集。
模糊控制基础实验
模糊控制基础实验一、实验目的1.通过实验熟悉并掌握各类模糊控制系统工具箱函数的用法2.通过实验熟悉并掌握典型隶属度函数的Matlab仿真3.通过实验熟悉并掌握Matlab软件的利用方式二、实验内容1.按照给定参数编制模糊推理系统数据结构管理功能函数及整个“tipper”模糊推理系统的Matlab仿真程序。
2. 运行所编制的程序,取得各功能函数的仿真结果,完成FIS的求解。
3. 按照给定参数编制取得各类典型隶属度函数的Matlab仿真程序。
4. 运行所编制的程序,取得隶属度函数仿真曲线,并研究参数转变对曲线特性的影响,完成典型隶属度函数的仿真研究。
三、实验步骤1. 针对“tipper”模糊推理系统,编制相应的数据结构管理功能函数的Matlab仿真程序。
2. 运行所编制的程序,取得各功能函数的仿真结果。
3.按照给定参数编制整个“tipper”模糊推理系统的仿真程序,并求解在给定作用下FIS 的输出。
4. 熟悉Matlab软件,编制取得各类典型隶属度函数的Matlab仿真程序。
5. 运行所编制的程序,取得典型隶属度函数的仿真曲线。
6.改变隶属度函数的参数,观测参数的转变对仿真曲线的影响。
7.分析实验结果,完成实验报告。
四、实验参数要求1.在tipper模糊系统中,'input'1即'service'的范围为[0 10],且分为'poor','good','excellent'三个模糊集,3个模糊集均采用'gaussmf'型隶属函数,区间别离为[ 0],[ 5],[ 10];input(2)即'food '的范围为[0 10],且分为'rancid ','delicious '2个模糊集,2个模糊集均采用'trapmf'型隶属函数,区间别离为[-2 0 1 3],[7 9 10 12];output(1)即'tip''的范围为[0 30],且分为' cheap ',' average ',' generous '三个模糊集,3个模糊集均采用' trimf '型隶属函数,区间别离为[0 5 10],[10 15 20],[20 25 30];4.求解输入别离为[1 2]和[3 5;2 7]时系统的输出a=newfis('tipper');(1).name='service';(1).range=[0 10];(1).mf(1).name='poor';(1).mf(1).type='gaussmf';(1).mf(1).params=[ 0];(1).mf(2).name='good';(1).mf(2).type='gaussmf';(1).mf(2).params=[ 5];(1).mf(3).name='excellent';(1).mf(3).type='gaussmf';(1).mf(3).params=[ 10];(2).name='food';(2).range=[0 10];(2).mf(1).name='rancid';(2).mf(1).type='trapmf';(2).mf(1).params=[-2 0 1 3];(2).mf(2).name='delicious';(2).mf(2).type='trapmf';(2).mf(2).params=[7 9 10 12]; (1).name='tip';(1).range=[0 30];(1).mf(1).name='cheap';(1).mf(1).type='trimf';(1).mf(1).params=[0 5 10];(1).mf(2).name='average';(1).mf(2).type='trimf';(1).mf(2).params=[10 15 20];(1).mf(3).name='generous';(1).mf(3).type='trimf';(1).mf(3).params=[20 25 30];a=readfis('tipper');当输入为[1 2]时evalfis([1 2],a)ans =当输入为[2 4;6 8]时evalfis([2 4;6 8],a)ans =2.Gaussian型隶属度函数σ=3,c=4 x=0::10;y=gaussmf(x,[2 5]);plot(x,y)xlabel('gaussmf,P=[2,5]')3. gbellmf隶属度函数 a=3, b=4,c=7x=0::10;y=gbellmf(x,[3,4,7]);plot(x,y)xlabel('x');ylabel('y');4. Sigmoidal隶属度函数 a1=3, c1=4; a2=-3, c2=4; x=0::10;y=sigmf(x,[3 4]);plot(x,y)xlabel('x');ylabel('y');y=sigmf(x,[-3 4]);5. trapezoid隶属度函数a=, b=5, c=6, d=9 x=0::10;y=trapmf(x,[ 5 6 9]);plot(x,y)xlabel('x');ylabel('y');6. triangle隶属度函数 a=2, b=5, c=7x=0::10;y=trimf(x,[2 5 7]);plot(x,y)xlabel('x');ylabel('y');7. Z 形隶属度函数 a=2, b=6x=0::10;y=zmf(x,[2 6]);plot(x,y)xlabel('x ');ylabel('y ');8.按照给定参数,设计自概念隶属函数的Matlab 仿真程序①以年龄为论域,取x=[0,150],设计模糊集“年轻”的隶属函数的Matlab 仿真程序②设计一个三角形隶属函数,按[-6,6]范围分为七个品级,成立一个模糊系统,用来表示 {负大,负中,负小,零,正小,正中,正大}。
实验五(一) 模糊控制仿真实验
实验五(1)模糊控制仿真实验一、模糊逻辑推理系统的总体特征模糊控制由于不依赖对象的数学模型而受到广泛的重视,计算机仿真是研究模糊控制系统的重要手段之一。
由Math Works公司推出的Matlab软件,为控制系统的计算机仿真提供了强有力的工具,特别是在Matlab4.2以后的版本中推出的模糊工具箱(Fuzzy Toolbox),为仿真模糊控制系统提供了很大的方便。
由于这样的模块都是由相关领域的著名学者开发的,所以其可信度都是很高的,仿真结果是可靠的。
在Simulink环境下对PID控制系统进行建模是非常方便的,而模糊控制系统与PID控制系统的结构基本相同,仅仅是控制器不同。
所以,对模糊控制系统的建模关键是对模糊控制器的建模。
Matlab软件提供了一个模糊推理系统(FIS)编辑器,只要在Matlab命令窗口键入Fuzzy就可进入模糊控制器编辑环境。
二、Matlab模糊逻辑工具箱仿真1.模糊推理系统编辑器(Fuzzy)模糊推理系统编辑器用于设计和显示模糊推理系统的一些基本信息,如推理系统的名称,输入、输出变量的个数与名称,模糊推理系统的类型、解模糊方法等。
其中模糊推理系统可以采用Mandani或Sugeuo两种类型,解模糊方法有最大隶属度法、重心法、加权平均等。
打开模糊推理系统编辑器,在MATLAB的命令窗(command window)内键入:fuzzy 命令,弹出模糊推理系统编辑器界面,如下图所示。
加入新的输入input,如下图所示。
选择input(选中为红框),在界面右边文字输入处键入相应的输入名称,例如,温度输入用 tmp-input, 磁能输入用 mag-input,等。
2.隶属度函数编辑器(Mfedit)该编辑器提供一个友好的人机图形交互环境,用来设计和修改模糊推理系中各语言变量对应的隶属度函数的相关参数,如隶属度函数的形状、范围、论域大小等,系统提供的隶属度函数有三角、梯形、高斯形、钟形等,也可用户自行定义。
模糊控制实验
2. 进入隶属度函数编辑器 进入方法: (1)在FIS编辑器中双击任意一个输入或输出变量 的图框 (2)通过菜单Edit→Membership Functions… (3)在Matlab的Command Window窗口的提示下, 键入mfedit(WatLevControl) 编辑过程: 修改各变量的论域范围 编辑各个输入或输出变量的隶属度函数及各隶属度 函数对应的Name、Type、Params。 系统默认每个变量有3个隶属度函数,均为trimf, 可根据需要进行删减。
6. surfview 功能:输出曲面观测器 格式: surfview (‘a’) surfview (a) 说明:利用surfview (‘a’)可打开输出曲面观测器,从 中可查看保存在文件a.fis中的单输入或双输入FIS结 构的输出曲面。
4.1.2 隶属度函数 1. Gaussmf
功能:高斯(Gaussian)型隶属度函数 格式:y=gaussmf(x,[sig c]) 说明:对称的高斯型函数取决于2个参数σ(sig)和c:
5. ruleview
功能:规则观测器和模糊推理框图 格式: ruleview (‘a’) ruleview (a) 说明:利用ruleview(‘a’)可打开a.fis规则状况的规则观 测器,从中可对文件a.fis所对应的FIS结构画出模糊推 理框图,并可显示整个框图。 ruleview (a)格式可用来打开在工作空间中已存在 的名为a的FIS结构所对应的规则观测器。利用可打开 ruleview规则观测器。
4. defuzz 功能:对隶属度函数进行反模糊化 格式:out=defuzz(x,mf,type) 说明:defuzz(x,mf,type)可得到输入为x时隶属度函数 mf的反模糊值 例:x=-10:0.1:10; mf=trapmf(x,[-10 -8 -4 7]); xx=defuzz(x,mf,’centroid’)
模糊逻辑控制实验指导书学习研究资料
模糊逻辑控制MATLAB 实验指导书一、实验目的1、本实验要求在学生掌握模糊控制器基本工作原理和设计方法基础上,熟悉MALAB 中的模糊控制工具箱,能针对实际问题设计模糊控制器,建立模糊控制系统,训练学生综合运用计算机来解决一些实际问题的能力。
2、通过仿真分析模糊控制器的信息的变化(主要讨论控制器解模方法和量化因子的变化)对系统性能的影响。
3、在控制器信息一定的情况下改变被控对象的信息,分析对象信息变化时fuzzy controller 的适应能力。
二、实验设备微型计算机一台 MATLAB 软件三、实验要求设计一个二维模糊控制器控制一个二一阶被控对象21()21G s s s =++,分别改变控制器和控制对象信息的大小,观察模糊控制的鲁棒性。
四、实验分析完成以上要求分两步:一是在fuzzy logic 工具箱中建立模糊推理系统(FIS ),二是在simulink 中建立完整的模糊控制系统并进行仿真分析。
(一)、模糊控制器的设计模糊控制器的设计方法为:1、选取控制器的输入输出:选取误差e 及误差变化量ec 为输入, u 作为输出用于控制对象,这样模糊控制器具有二输入一输出的结构。
2、模糊集及论域的定义:● 输入e 的模糊子集为{NB NM NS NO PO PS PM PB} ● 输入ec 和输出u 的模糊子集均为{NB NM NS ZO PS PM PB} ● e 的论域为{-6 -5 -4 -3 -2 -1 -0 +0 1 2 3 4 5 6 } ● ec 的论域为{-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 } ● u 的论域为{-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 } 我们选取三角形作为隶属度函数的形状,图1-1 e的隶属度函数图1-2 ec的隶属度函数图1-3 u 的隶属度函数3、确定模糊控制规则,模糊规则表如下:NBNMNSZOPSPMPBNB NB NB NB NB NM ZO ZO NM NB NB NB NB NM ZO ZO NS NM NM NM NM ZO PS PS NO NM NM NS ZO PS PM PM PO NM NM NS ZO PS PM PM PS NS NS ZO PM PM PM PM PM ZO ZO PM PB PB PB PB PBZOZOPMPBPBPBPB4、选取输入输出变量的量化因子:这里暂时选定输入输出的量化因子Ke =Kc =Ku =1,接下来的仿真过程还可以调整。
