文档库 最新最全的文档下载
当前位置:文档库 › 离散论域模糊控制表的离线计算

离散论域模糊控制表的离线计算

离散论域模糊控制表的离线计算
离散论域模糊控制表的离线计算

离散论域模糊控制表的离线计算

一、题目

已知单变量两维输入,一维输出模糊控制器,其两维输入为E,EC,一维输出为I,论域均为E,EC,I∈{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},E的论域划分为{NB,NM,NS,NZ,PZ,PS,PM,PB},共8个模糊子集,其各自的隶属度函数如表1所示。EC和I的论域划分为{NB,NM,NS,ZE,PS,PM,PB},共7个模糊子集,它们的隶属度函数都如表2所示。已知控制规则表如表3所示,试求解输出控制表(如当e=-6,ec=-6时,求输出i=?,最终输出的控制表格式如如表4所示)。其中输入采用单点模糊法,输出清晰量采用加权平均法进行解模糊,可以用MATLAB编程计算。

各变量的隶属度函数以及控制规则表如下:

表3 控制规则表

二、基本原理

这是一个二输入、单输出的模糊控制器的设计,主要包括输入模糊化、模糊推理、解模糊等基本过程,现在叙述如下: 1、输入模糊化

在本实验实际过程中采用单点模糊集合的方法实现输入的模糊化,例如e 为离散论域E={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},则x *=,0的输入模糊集合可表示为:

00000010000006543210123456

A =

++++++++++++------ 2、模糊推理

设某一时刻偏差为e *,偏差变化量为ec *,则可根据由各条规则给出的模糊蕴含关系进行合成推理运算,得到相应的输出控制量的模糊值:

*

*

*

**1

1

1

**1

(){()}{()[()]}

{[()][()]}

m n m n m n

l l l l l l l l m n

l l l l l U e and ec R e and ec R e and ec A and B C e A C ec B C ???*

===?====→=→→ 其中,m 和n 分别表示e 和ec 的论域所划分的模糊自己的个数,在本实验中,m=8,n=7,对应着本题目中规定的56条控制规则。控制器设计的核心就是对上式进行编程。 3、解模糊

本实验采用加权平均的方式解模糊,其精确值的计算公式如下:

101

()n

i i

i n

i

i z k

z df z k

====

∑∑

三、实验程序:

实验最终采用的程序如文件program 中fuc1.m 所示,fuc1_1.m 和fuc1_2.m 为了说明程序优化使用。就本题目而言,三个程序都可以解决问题。Maxmin.m 是最大最小合成函数,供fuc1_1.m 运行时调用。各个excel 表格说明如下:Input1_Terms_Membership.xlsx 、Input2_Terms_Membership.xlsx 、Output_Terms_Membership.xlsx 分别为两个输入变量以及输出变量的隶属度函数表,用于在MA TLAB 执行程序的时候读入,Output_Result.xlsx 为程序运行结果。

本实验采用的程序如下:

四、程序优化及讨论

1、此程序中各个变量表的输入都是通过excel实现的。让MA TLAB通过程序从excel 表中读入数组到工作空间中,同时为了方便查看结果,又将结果写到excel表中。这样,我们在设计一个二输入单输出的模糊控制器时,只需要在四个excel表中输入相应的数值,而不需要进行程序的修改,唯一需要修改的就是各个变量的论域。整个程序的适应性还是比较强的,具有通用性。但付出的代价就是计算时间的延长,而时间延长的主要部分就花费在读取excel表上:

可以看出,每读一个excel表,就要花费约0.7s的时间。然而,这对一些数据量比较多的隶属度函数表来说是有利的,我们可以将隶属度函数表以excel的表格储存起来,直接调用,从而免去了在每次执行程序的时候在程序中修改输入量或者计算一个模糊控制器就新建一个新程序,这样对提高工作效率和程序的通用性还是有很大帮助的。同时,我们也不需要担心输出的结果在MATLAB关闭以后就丢失,可以直接储存在excel表中。

本实验采用的程序时间复杂度如下:

此外,其中求56条规则的并采用在循环中每一次都与上一次求并,并且用此次的计算值冲掉上一次的计算值,这样就节省了硬件上RAM空间的开销。

2、在最开始的编程中,计算最大最小合成以及蕴含模糊关系时,我采用了子函数调用的方式,这样可以使得主程序变得简洁,而如果一个功能相同的程序段在程序中重复出现时,我们考虑到程序的简洁性,就采用子程序调用的方法,但这个方法带来的代价也是程序调用花费的时间开销。

这种方法的实现是通过fuc1_1.m实现的,程序段如下:

可见,该方法相比实验采用的程序,速度要慢。

3、如果仅考虑该实验,而不用考虑程序的通用性,直接在.m文件中输入各个变量,即略去读写excel的过程,同时也不采用子程序调用的方式,这样的程序运行速度就要快很多。

该程序运行所花费的时间明显要低很多。

4、综合分析

为了程序的通用性,同时考虑到在实际应用中,二输入单输出的情况居多,因此我采用了excel读入输入量的方法,并且省去了子程序调用的过程,采用fuc1.m的方式。该程序对于二输入单输出模糊控制器的设计都是适用的。

五、心得与体会

通过此次实验的编程,我对二维模糊控制器的设计流程以及其计算原理有了更深的印象。设计一个MA TLAB程序,我觉得需要考虑的因素主要有时间复杂度、空间开销以及程序的通用性等。在针对一个问题进行编程时,好的思维习惯是能够尽量地将这一个问题抽象成一类问题,而针对这一类问题编程。最后根据实际的问题综合考虑各个因素编写出最终的程序。而且随着经验的不断增加,我们考虑问题就会变得越来越全面。

2模糊控制查询表的MATLAB实现

模糊控制查询表的MATLAB 实现 叶高文(厦门海洋职业技术学院,福建厦门361012) MATLAB realization of Fuzzy Control Query Table 在运用模糊控制技术进行工业控制时,为了减少在线计算量,节省内存,提高PLC 等控制器的运行效率,通常根据隶属度函数和模糊控制规则表离线计算对应的模糊控制表,并将该表置于PLC 等控制器中,供实时控制时使用。在实时控制过程中,根据模糊量化后的偏差值e 和偏差变化率ec 直接查询控制表以获得模糊控制输出量,再转换为精确输出控制量。在实际的控制过程中由于微分作用的效果不是很明显,故很多实际情况中只采用PI 控制。本文论述的对象是常用PLC 的模糊PI 控制。不是PLC 的系统,可将积分时间转换为积分系数。 1模糊PI 控制模型说明 本文提供一个实际工业控制的模糊查询表的MATLAB 实 现过程,模糊PI 模型如图1。 图1模糊PI 控制器模型 如图1,模糊控制器的输入量采用实际被控制量与给定量的偏差e 和偏差变化率ec ,参数整定机构采用增量型调整原理,输出为比例系数增量ΔK P 和积分时间增量ΔTi ,再经式K P = K P0+ΔK P 和式T I =T I0+ΔTi 计算得到PI 控制器的比例系数KP 和积分时间值TI 。 2模型输入输出模糊控制规则表 2.1定义输入输出变量的隶属度矢量表 一般情况下,输入量偏差e 和偏差变化率△e 以及输出变量ΔKP 和ΔTi 的离散论域都设定为13个量化等级邀-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6妖。为方便MATLAB 编程,对相关的变量选择进行一些改变。原先的输入变量偏差e 和偏差变化率ec 的量化等级邀-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6妖改写为邀1,2,3,4,5,6,7,8,9,10,11,12,13妖。而输出变量ΔKP 和ΔTi 得量化等 级保持为邀-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6妖。 输入变量偏差e 和偏差变化率ec 和输出变量ΔKP 、ΔTi 的模糊语言值均为邀NB ,NM ,NS ,ZO ,PS ,PM ,PB妖。为了编程方便,将语言值用数字表示为邀1,2,3,4,5,6,7妖,与模糊语言值相对应,比如:模糊语言值NB 的模糊数字值为1,其他类似。根据以上的规定,产生用数字语言值表示输入变量x1及x2的隶属度矢量表,见表1所示。其中,变量x1表示模糊控制器的偏差输入e ,变量x2表示模糊控制器的偏差输入ec ;f1(i )、f2(j )表示第一输入x1和第二输入x2的隶属度,而i 、j 表示语言变量数字值,即为1,2,3,4…7。 表1用数字语言值表示输入变量x1及x2的隶属度矢量表 2.2模糊控制规则表 该控制系统为一实际工业控制模型,其用数字语言值表示的比例系数增量ΔKP 和积分时间ΔTI 模糊控制规则表如表2和表3所示。 表2 用数字语言值表示的ΔKP 模糊控制规则 摘 要 通过建立一个工业自动化控制中经常使用的模糊PI 控制器模型,详细论述了运用MATLAB 语言编写模糊控制查询表的方法,该控制表可以表格形式存放于计算机,从而大大提高了如PLC 等内存小的工业控制器的运行效率,也可实现在线推理控制。 关键词:模糊控制查询表,MATLAB ,PI 控制,在线推理 Abstract Through the establishmengt of Fuzzy-PI controller model which is applied in the industrial automation control,This pa-per describes in detail the way how to get a fuzzy -control-query table by the MATLAB programming.This cotrol-table may be stored in the compute with the form of a table,Which can improe greatly the operational efficiency,Such as PLC controller,etc.whose memory is very little,and on-line reasoning can also be realized. Keywords :fuzzy control query table,MATLAB,PI control,on-line reasoning 模糊控制查询表的MATLAB 实现 64

一种基于双精度搜索算法的变论域模糊控制

Computer Engineering and Applications 计算机工程与应用 2015,51(19)1引言相对于传统控制方式,模糊控制(FC )凭借其不需对象模型、鲁棒性强、实时性好等优点广泛用于非线性、时变滞后系统中。然而模糊控制器实质上是插值器,插值精度与模糊规则数量紧密相关,提高精度必然以扩大规模为代价,导致其控制精度存在一定局限性[1]。变论 域模糊控制器(VUFC )不仅可以综合专家知识,而且在不增加规则数量的情况下,论域随误差变小而收缩并随误差增大而扩展,从一定程度上解决了控制精度和控制复杂度的矛盾[2]。理论上分析,VUFC 的决策速度与精一种基于双精度搜索算法的变论域模糊控制 刘培奇,田洋,孙阳阳 LIU Peiqi,TIAN Yang,SUN Yangyang 西安建筑科技大学信息与控制工程学院,西安710055 College of Information &Control Engineering,Xi ’an University of Architecture &Technology,Xi ’an 710055,China LIU Peiqi,TIAN Yang,SUN Yangyang.Variable universe fuzzy control based on double precision search https://www.wendangku.net/doc/ce13859359.html,puter Engineering and Applications,2015,51(19):260-264. Abstract :Aiming at the low accuracy and poor adaptation of variable universe fuzzy control,and when the control function is inherited to the offspring,there usually exists some distortion which lead to the error of the algorithms.A variable-universe fuzzy control method based on double precision search algorithm is put forward.With the global optimal solution of basic gravitational search algorithm,sequential quadratic programming is employed as a local search method to avoid being trapped into local optimum.This paper presents a double precision search algorithm with “global-local ”dual search mech-anism.Then the method adjusts the universe by the contraction-expansion factor and geometric proportional factors based on variable universe fuzzy control,and optimizes the parameters through double precision search algorithms to reduce the distortion of control function in the control process and improves the control https://www.wendangku.net/doc/ce13859359.html,parative experiments show that the stability of DPSA is prominent in the parameter optimization.The controller results in desirable convergence speed.The accuracy and effect are even better than those of other control ways. Key words :variable universe fuzzy control;double-precision search algorithm;contraction-expansion factor;geometric proportional factors 摘要:针对定式变论域模糊控制精度不高,自适应能力有限,控制函数在遗传到后代时存在畸变而造成算法本身误差等问题,设计了一种基于双精度搜索算法的变论域模糊控制器。在基本万有引力算法全局搜索的同时,采用序列二次规划进行局部搜索避免算法陷入局部最优,提出具有“全局-局部”双重搜索机制的双精度搜索算法。在变论域模糊控制基础上提出了一种利用伸缩因子、等比因子相互协调来调整论域的构想,且通过双精度搜索算法来寻优参数,降低控制过程中的函数畸变,从而进一步改善控制器性能。对比实验表明DPSA 在参数寻优中稳定性突出,控制器不但收敛速度快,且与其他控制方式相比,其精度和效果都有所提高。 关键词:变论域模糊控制;双精度搜索算法;伸缩因子;等比因子 文献标志码:A 中图分类号:TP273doi :10.3778/j.issn.1002-8331.1309-0211 基金项目:国家自然科学基金(No.51178373);陕西省教育厅自然科学计划项目(No.12JK0743)。 作者简介:刘培奇(1959—),男,博士,副教授,硕导,研究领域为人工智能,数据挖掘,计算机网络应用;田洋(1987—),女,硕士研 究生,研究领域为智能控制;孙阳阳(1987—),男,硕士研究生,研究领域为智能控制,先进控制在工业控制中的应用。E-mail :peiqiliu@https://www.wendangku.net/doc/ce13859359.html, 收稿日期:2013-09-16修回日期:2014-01-16文章编号:1002-8331(2015)19-0260-05 CNKI 网络优先出版:2014-02-24,https://www.wendangku.net/doc/ce13859359.html,/kcms/doi/10.3778/j.issn.1002-8331.1309-0211.html 260

(完整版)matlab模糊控制工具箱的使用

matlab模糊控制工具箱的使用 本学期选修了周川老师的智能控制及应用这门课程,大三时候曾上过周老师的英文版的控制工程基础这门课程,比较喜欢周老师上课的风格,智能控制这门课也收获不小,模糊控制是课程中讲到的第一个智能控制算法。 模糊不是真的模糊,模糊是为了精确。模糊控制中涉及到一个隶属度的概念,通常我们认为一个事物属于一个概念与否是确定的,比如数字电路的0与1,但是实际情况或者人们的思维习惯却不是这样的。比如规定18到30岁为青年,那么还差一天到18岁的人算不算青年呢?照规定看不算,但是如果我们加入概率的概念,比如说这个人90%属于青年人,可能更符合人们的思维习惯。 L.A.Zadeh在其《不相容原理》所述:“随着系统的复杂程度不断提高,人们对其精确而有意义地描述的能力不断的降低,以致在达到某一个阈值之后,系统的精确性和复杂性之间呈现出几乎是相互完全排斥的性质”。我们通常所用的控制算法一般是建立在模型比较确定的情况下,而模糊控制不依赖于对象的模型就可以进行控制决策,而且对系统参数变化具有较强的适应性。 对于模糊控制的原理,我不是很清楚,也没有这个心情去搞清楚,感觉知道大概怎么用就可以了。Matlab中集成了模糊控制工具箱,可以使用图像界面进行模糊控制器的设计,极大的简化了设计过程。下面介绍利用模糊工具箱进行控制系统设计的过程。 在matlab的主窗口中输入fuzzy即可调出模糊工具箱界面,退出界面的时候会提示保存,保存格式为fis,如果我们将文件保存为njust.fis,那么下次使用这个文件的时候在主窗口中输入fuzzy njust即可。 模糊控制器的建立过程如下:(1)设定误差E、误差变化率EC和控制量U的论域为,一般为[-6 6]。(2)设定E、EC、U的模糊集。一般可设为{NB、NM、NS、ZO、PS、PM、PB}。(3)设定隶属度函数。有高斯型隶属度函数、三角型隶属度函数等。(4)设定模糊控制规则。常用的模糊控制规则如图1所示,当然可以根据特定的控制对象和要求进行相应的调整。

模糊控制器的设计

4模糊控制器的设计 4 Design of Fuzzy Controllor 4.1概述(Introduction) 随着PLC在自动控制领域内的广泛应用及被控对象的日趋复杂化,PLC控制软件的开发单纯依靠工程人员的经验显然是行不通的,而必须要有科学、有效的软件开发方法作为指导。因此,结合PLC可编程逻辑控制器的特点,应用最新控制理论、技术和方法,是进一步提高PLC软件开发效率及质量的重要途径。 系统设计的目标之一就是要提高装车的均匀性,车厢中煤位的高度变化直接影响装车的均匀性,装车不均匀对车轴有很大的隐患。要保持高度值不变就必须不断的调整溜槽的角度,但是,在装车过程中,煤位的高度和溜槽角度之间无法建立精确的数学模型。模糊控制它最大的特点是[43-45]:不需建立控制对象精确数学模型,只需要将操作人员的经验总结描述成计算机语言即可,因此采用模糊控制思想实现均匀装车是行之有效的方法。虽然很多PLC生产厂家推出FZ模糊推理模块,但这些专用模块价格昂贵,需使用专门的编程设备,成本高通用性差,所以自主开发基于模糊控制理论的PLC控制器有很大的工程价值。 本章首先介绍了模糊控制的基本原理、模糊控制系统及模糊控制器的设计步骤;然后在对煤位高度控制系统分析的基础上,设计基于模糊理论的PLC控制,分别从查询表计算生成和PLC程序查询两个部分进行设计。 4.2模糊控制原理(Fuzzy Control Principle) 4.2.1模糊控制理论(Fuzzy Control Theory) 模糊控制理论是由美国加利福尼亚大学的自动控制理论专家L.A.Zadch教授首次提出,由英国的Mamdani首次用于工业控制的一种智能控制技术[46]。模糊控制(FUZZY)技术是一种由数学模型、计算机、人工智能、知识工程等多门科学领域相互渗透、理论性很强的科学技术。 模糊控制是以人的控制经验作为控制的知识模型,以模糊集合、模糊语言变量以及模糊逻辑推理作为控制算法的数学工具,用计算机来实现的一中计算机智能控制[47-48]。它的基本思想是:把人类专家对待特定的被控对象或过程的控制策略总结成一系列以“IF…THEN…”形式表示的控制规则,通过模糊推理得到控制作用集,作用与被控对象或过程。与传统的控制方法相比,它具有以下优点[48]:无需知道被控对象的数学模型;是一种反映人类智慧思维的智能控制;易被人们所接受;构造容易;鲁棒性好。

实验一--模糊控制器的MATLAB仿真

实验一 模糊控制器的MATLAB 仿真 一、实验目的 本实验要求利用MATLAB/SIMULINK 与FUZZYTOOLBOX 对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则;比较其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用 MATLAB 实现模糊控制系统仿真的方法。 实验时数:3学时。 二、实验设备:计算机系统、Matlab 仿真软件 三、实验原理 模糊控制器它包含有模糊化接口、规则库、模糊推理、清晰化接口等部分,输人变量是过程实测变量与系统设定值之差值。输出变量是系统的实时控制修正变量。模糊控制的核心部分是包含语言规则的规则库和模糊推理。模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。Mamdani 推理方法是一种广泛采用的方法。它包含三个过程:隶属度聚集、规则激活和输出总合。模糊控制器的体系结构如图1所示。 图1 模糊控制器的体系结构 四、实验步骤 (1)对循环流化床锅炉床温,对象模型为 ()()1140130120 ++s s 采用simulink 图库,实现常规PID 和模糊自整定PID 。 (2)确定模糊语言变量及其论域:模糊自整定PID 为2输入3输出的模糊控制器。该模糊控制器是以|e|和|ec|为输入语言变量,Kp 、Ki 、Kd 为输出语言变量,其各语言变量的论域如下:

误差绝对值:e={0,3,6,10}; 误差变化率绝对值:ec={0,2,4,6}; 输出Kp:Up={0,0.5,1.0,1.5}; 输出Ki:Ui={0,0.002,0.004,0.006}; 输出Kd:Ud={0,3,6,9}。 (3)语言变量值域的选取:输入语言变量|e|和|ec|的值域取值“大”(B)、“中”(M)、“小”(s)和“零”(Z) 4种;输出语言变量Kp、Ki、Kd的值域取值为“很大”(VB)、“大”(B)、“中”(M)、“小”(s) 4种。 (4)规则的制定:根据PID参数整定原则及运行经验,可列出输出变量Kp、Ki、Kd 的控制规则表。 (5)推理方法的确定 隐含采用“mamdani”方法:max-min; 推理方法,即“min”方法; 去模糊方法:面积中心法; 选择隶属函数的形式:三角型。

matlab计算模糊控制规则表

程序运行结果: 输出量的模糊集合表 U_control = Columns 1 through 8 -5.3500 -5.2353 -5.3500 -5.2353 -5.3500 -5.2353 -4.6923 -4.2581 -5.0000 -4.9474 -5.0000 -4.9474 -5.0000 -4.9474 -3.8571 -3.7143 -4.6923 -4.5217 -4.6923 -4.5217 -4.6923 -4.5217 -3.0526 -2.9302 -4.2581 -4.2581 -4.2581 -4.2581 -4.2581 -4.2581 -2.9302 -2.2909 -4.0000 -4.0000 -3.7812 -3.7586 -3.4706 -3.4194 -2.4318 -1.7925 -4.0000 -4.0000 -3.3636 -3.0769 -2.4667 -2.1176 -1.5000 -1.0476 -3.5882 -3.5484 -2.9250 -2.6000 -0.9600 -0.5094 0 0.5094 -2.9231 -2.9231 -2.3333 -1.9057 -0.2632 1.0476 1.5000 2.1176 -1.8056 -1.7879 -0.5652 -0.3137 0.4400 1.7925 2.4318 3.4194

-1.0000 -1.0000 0.2453 0.9385 1.4211 2.2909 2.9302 4.2581 -0.5833 -0.6364 0.6875 1.4211 1.9375 2.9302 3.0526 4.5217 -0.2333 -0.2414 1.1190 1.7925 2.3571 3.7143 3.8571 4.9474 0 0 1.2857 2.0000 2.7143 4.2581 4.6923 5.2353 Columns 9 through 13 -2.7143 -2.0000 -1.2857 0 0 -2.3571 -1.7925 -1.1190 0.2414 0.2333 -1.9375 -1.4211 -0.6875 0.6364 0.5833 -1.4211 -0.9385 -0.2453 1.0000 1.0000 -0.4400 -0.0364 0.1600 1.6000 1.6316 0.2632 1.9057 2.3333 2.9231 2.9231 0.9600 2.6000 2.9250 3.5484 3.5882 2.4667 3.0769 3.3636 4.0000 4.0000 3.4706 3.7586 3.7813 4.0000 4.0000 4.2581 4.2581 4.2581 4.2581 4.2581 4.6923 4.5217 4.6923 4.5217 4.6923 5.0000 4.9474 5.0000 4.9474 5.0000 5.3500 5.2353 5.3500 5.2353 5.3500

基于MATLAB的模糊控制系统设计

实验一基于MATLAB的模糊控制系统设计 1.1实验内容 (1)基于MATLAB图形模糊推理系统设计,小费模糊推理系统; (2)飞机下降速度模糊推理系统设计; (3)水箱液位模糊控制系统设计及仿真运行。 1.2实验步骤 1小费模糊推理系统设计 (1)在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。 (2)增加一个输入变量,将输入变量命名为service、food,输出变量为tip,这样建立了一个两输入单输出模糊推理系统框架。 (3)设计模糊化模块:双击变量图标打开Membership Fgunction Editor 窗口,分别将两个输入变量的论域均设为[0,10],输出论域为[0,30]。 通过增加隶属度函数来进行模糊空间划分。 输入变量service划分为三个模糊集:poor、good和excellent,隶属度函数均为高斯函数,参数分别为[1.5 0]、[1,5 5]和[1.5 10]; 输入变量food划分为两个模糊集:rancid和delicious,隶属度函数均为梯形函数,参数分别为[0 0 1 3]和[7 9 10 10]; 输出变量tip划分为三个模糊集:cheap、average和generous,隶属度函数均为三角形函数,参数分别为[0 5 10]、[10 15 20]和[20 25 30]。

(4)设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则: ①if (service is poor) or (food is rancid) then (tip is cheap) ②if (service is good) then (tip is average) ③if (service is excellent) or (food is delicious) then (tip is generous) 三条规则的权重均为 1.

查询表式模糊逻辑推理器指导书

查询表式模糊控制器设计实验指导书 一、 实验目的 利用Matlab 软件实现模糊控制系统仿真实验,了解模糊控制的查询表方法的基本原理及实现过程,并找出参数Ke ,Kec ,和Ku 对模糊控制器性能影响的规律。 二、 实验要求 设计一个二维模糊控制器分别控制一一个一阶被控对象1 1 )(11+=s T s G 。先用 模糊控制器进行控制,然后改变控制对象参数的大小,观察模糊控制的鲁棒性,找出参数Ke ,Kec ,和Ku 对模糊控制器性能影响的规律。 三、 实验内容 查询表法是模糊控制中的最基本的方法,用这种方法实现模糊控制决策过程最终转化为一个根据模糊控制系统的误差和误差变化(模糊量)来查询控制量(模糊量)的方法。本实验利用了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所示。

模糊控制系统及其MATLAB实现

模糊控制系统及其MATLAB实现 1. 模糊控制的相关理论和概念 1.1 模糊控制的发展 模糊控制理论是在美国加州伯克利大学的L.A.Zadeh教授于1965 年建立的模 糊集合论的数学基础上发展起来的。之后的几年间Zadeh又提出了模糊算法、模糊 决策、模糊排序、语言变量和模糊IF-THEN规则等理论,为模糊理论的发展奠定了 基础。 1975年,Mamdani和Assilian创立了模糊控制器的基本框架,并用于控制蒸 汽机。 1978年,Holmblad和Ostergaard为整个工业过程开发出了第一个模糊控制器——模糊水泥窑控制器。 20世纪80年代,模糊控制开始在工业中得到比较广泛的应用,日本仙台地铁 模糊控制系统的成功应用引起了模糊领域的一场巨变。到20世纪90年代初,市场 上已经出现了大量的模糊消费产品。 近30 年来, 因其不依赖于控制对象的数学模型、鲁棒性好、简单实用等优点, 模糊控制已广泛地应用到图像识别、语言处理、自动控制、故障诊断、信息并且渗透到社会科学和检索、地震研究、环境预测、楼宇自动化等学科和领域, 自然科学许多分支中去, 在理论和实际运用上都取得了引人注目的成果。 1.2 模糊控制的一些相关概念 用隶属度法来定义论域U中的集合A,引入了集合A的0-1隶属度函数, 用,()x表示,它满足: A xA,1, ,x(),,AxA,0,

用0-1之间的数来表示x属于集合A的程度,集合A等价与它的隶属度函 数,()x A 模糊系统是一种基于知识或基于规则的系统。它的核心就是由所谓的IF-THEN 规则所组成的知识库。一个模糊的IF-THEN规则就是一个用连续隶属度函数对所描述的某些句子所做的IF-THEN形式的陈述。例如: 如果一辆汽车的速度快,则施加给油门的力较小。 这里的“快”和“较小”分别用隶属度函数加以描述。模糊系统就是通过组合IF-THEN规则构成的。 构造一个模糊系统的出发点就是要得到一组来自于专家或基于该领域知识的模糊IF-THEN规则,然后将这些规则组合到单一系统中。不同的模糊系统可采用不用的组合原则。 用隶属度函数表征一个模糊描述后,实质上就将模糊描述的模糊消除了。 模糊控制系统设计的关键在于模糊控制器的设计。模糊控制器的设计主要有三个部分: (1) 输入量的模糊化 所谓模糊化(Fuzzification) 就是先将某个输入测量量的测量值作标准化处理,把该输入测量量的变化范围映射到相应论域中,再将论域中的各输入数据以相应的模糊语言值的形式表示,并构成模糊集合。这样就把输入的测量量转换为用 隶属度函数表示的某一模糊语言变量。 (2) 模糊逻辑推理 根据事先已定制好的一组模糊条件语句构成模糊规则库,运用模糊数学理论对 模糊控制规则进行推理计算,从而根据模糊控制规则对输入的一系列条件进行综合评估,以得到一个定性的用语言表示的量,即模糊输出量。完成这部分功能的过程就是模糊逻辑推理过程。

离散论域模糊控制表的离线计算

离散论域模糊控制表的离线计算 一、题目 已知单变量两维输入,一维输出模糊控制器,其两维输入为E,EC,一维输出为I,论域均为E,EC,I∈{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},E的论域划分为{NB,NM,NS,NZ,PZ,PS,PM,PB},共8个模糊子集,其各自的隶属度函数如表1所示。EC和I的论域划分为{NB,NM,NS,ZE,PS,PM,PB},共7个模糊子集,它们的隶属度函数都如表2所示。已知控制规则表如表3所示,试求解输出控制表(如当e=-6,ec=-6时,求输出i=?,最终输出的控制表格式如如表4所示)。其中输入采用单点模糊法,输出清晰量采用加权平均法进行解模糊,可以用MATLAB编程计算。 各变量的隶属度函数以及控制规则表如下: 表3 控制规则表

二、基本原理 这是一个二输入、单输出的模糊控制器的设计,主要包括输入模糊化、模糊推理、解模糊等基本过程,现在叙述如下: 1、输入模糊化 在本实验实际过程中采用单点模糊集合的方法实现输入的模糊化,例如e 为离散论域E={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6},则x *=,0的输入模糊集合可表示为: 00000010000006543210123456 A = ++++++++++++------ 2、模糊推理 设某一时刻偏差为e *,偏差变化量为ec *,则可根据由各条规则给出的模糊蕴含关系进行合成推理运算,得到相应的输出控制量的模糊值: * * * **1 1 1 **1 (){()}{()[()]} {[()][()]} m n m n m n l l l l l l l l m n l l l l l U e and ec R e and ec R e and ec A and B C e A C ec B C ???* ===?====→=→→ 其中,m 和n 分别表示e 和ec 的论域所划分的模糊自己的个数,在本实验中,m=8,n=7,对应着本题目中规定的56条控制规则。控制器设计的核心就是对上式进行编程。 3、解模糊 本实验采用加权平均的方式解模糊,其精确值的计算公式如下: 101 ()n i i i n i i z k z df z k ==== ∑∑ 三、实验程序: 实验最终采用的程序如文件program 中fuc1.m 所示,fuc1_1.m 和fuc1_2.m 为了说明程序优化使用。就本题目而言,三个程序都可以解决问题。Maxmin.m 是最大最小合成函数,供fuc1_1.m 运行时调用。各个excel 表格说明如下:Input1_Terms_Membership.xlsx 、Input2_Terms_Membership.xlsx 、Output_Terms_Membership.xlsx 分别为两个输入变量以及输出变量的隶属度函数表,用于在MA TLAB 执行程序的时候读入,Output_Result.xlsx 为程序运行结果。 本实验采用的程序如下:

基于MATLAB生成模糊控制规则离线查询表

0 引言 模糊控制隶属于智能控制,是一种基于规则的近似推理的非线性智能控制。如果说,传统的控制方式需要被控对象精确的数学模型,而模糊控制则是以人类智能活动的角度为基础实施控制,因此,在实际中,传统控制方法无能为力的非线性场合,模糊控制却能起到很好的控制作用。因此,实际应用中,由于系统复杂、很难建立精确数学模型的非线性系统,模糊控制已经成为一种最有效的控制方法。 模糊控制规则表是模糊控制的核心,其描述的是输入的偏差、偏差变化量与控制的输出之间的对应关系,采用手工计算方式,量大且费时;采用在线计算方式,往往又影响系统被控对象的实时控制效果。因此,在应用模糊控制时,首先针对输入的不同组合,采用离线计算方式算出相应的控制输出量,构成模糊控制规则查询表,实际控制时再将模糊控制规则查询表嵌入在各种控制平台,如单片机、PLC 等,实现离线计算、在线查表,这样,一方面减少了模糊控制的在线运算量,同时又实现了模糊控制的实时控制效果。 实际应用中发现,对模糊控制规则表的生成,在离散论域分档较少的条件下,多采用手工计算,而在离散论域分档较多的条件下,手工计算量太大,用MATLAB 软件编程实现,对MATLAB 软件的编程能力要求又较高,因此,本文以二维温度模糊控制规则查询表的生成为例来说明如何简单有效的利用MATLAB 软件生成模糊控制规则离线查询表。 1 实例分析 应用MATLAB2014a 软件说明生成模糊规则离线查询表的过程。 设二维温度模糊控制器[1 2]的输入为温度偏差E 和温度偏差变化率EC,输出为温控器输出电压U。模糊控制器模型见图1。 2 模糊控制规则离线查询表生成步骤[ 3 4 5] (1)利用模糊逻辑控制工具箱生成温度模糊推理系统在MATLAB2014a 命令窗口中输入fuzzy 打开模糊控制工具箱,编辑输入输出变量的隶属度函数和模糊控制规则,然后将模糊推理系统保存为mytest.fis。 设温度偏差E、偏差变化率EC 和温控器输出电压U 的模糊论域为[-6 6],三者的语言变量赋值均为{NB,NM,NS,Z,PS,PM,PB},各语言值的隶属函数均采用三角函数,如图2所示,并根据温度模糊控制规则表1逐条添加模糊控制规则,清晰化采用加权平均法。 (2)建立模糊逻辑控制器的MATLAB-Simulink 仿真模型在该模型中,模糊逻辑控制模块需要输入FIS matrix 参数,故 popularizing various practical applications with fuzzy control technology as the core.Key words : Fuzzy Control;Fuzzy Control Rules Off-line Query Table;MATLAB 图1 二维温度模糊控制器

matlab计算模糊控制表

Matlab计算模糊控制表 实现程序如下: clc; %清空命令窗口 clear; %清空工作空间 e=[1,,,,,0,0,0,0,0,0,0,0; ,,1,,,0,0,0,0,0,0,0,0; 0,,,,1,,,0,0,0,0,0,0; 0,0,0,0,,,1,0,0,0,0,0,0; 0,0,0,0,0,0,1,,,0,0,0,0; 0,0,0,0,0,0,,,1,,,,0; 0,0,0,0,0,0,0,0,,,1,,; | 0,0,0,0,0,0,0,0,,,,,1] %误差的隶属度函数表,8*13的矩阵 eb=[1,,,0,0,0,0,0,0,0,0,0,0; ,,1,,,0,0,0,0,0,0,0,0; 0,0,,,1,,,0,0,0,0,0,0; 0,0,0,0,,,1,,,0,0,0,0; 0,0,0,0,0,0,,,1,,,0,0; 0,0,0,0,0,0,0,0,,,1,,; 0,0,0,0,0,0,0,0,0,0,,,1] %误差变化率的隶属度函数表,7*13的矩阵; u=[1,,,0,0,0,0,0,0,0,0,0,0;

,,1,,,0,0,0,0,0,0,0,0; 0,0,,,1,,,0,0,0,0,0,0; ^ 0,0,0,0,,,1,,,0,0,0,0; 0,0,0,0,0,0,,,1,,,0,0; 0,0,0,0,0,0,0,0,,,1,,; 0,0,0,0,0,0,0,0,0,0,,,1] %输出控制量u,7*13的矩阵; rulelist=[1,1,1,1,2,4,4; 1,1,1,1,2,4,4; 2,2,2,2,4,5,5; 2,2,3,4,5,6,6; 2,2,3,4,5,6,6; 3,3,4,6,6,6,6; 4,4,6,7,7,7,7; ) 4,4,6,7,7,7,7] %控制规则表,为8*7=56条规则;for ey=1:13 % 输入变量e的13个取值:-6——6; for eby=1:13 %输入变量eb的13个取值:-6——6; for ex=1:8 % 输入变量e的8个语言变量NB----PB; for ebx=1:7 % 输入变量eb的7个语言变量NB---PB; arule=rulelist(ex,ebx); %取一条规则;

模糊控制器的查询表的实例计算过程

用模糊控制实现水箱水温的恒温控制。水箱由底部的电阻性电热元件加热,由电动搅拌器实现均温。设控制的目标温度为25oC ,以实测温度T 与目标温度R 之差,即误差e=T-R ,以及误差变化率ec 为输入,以固态继电器通电时间的变化量u (以一个控制周期内的占空比表示,控制电加热器的功率)为输出。设e 的基本论域为[-5,5] oC ,其语言变量E 的论域为[-5,5];ec 的基本论域为[-1,1] oC/s ,其语言变量EC 的论域为[-5,5];控制量u 的基本论域为[-5,5]单位,其语言变量U 的论域为[-5,5]。E 、EC 和U 都选5个语言值{NB ,NM ,NS ,Z ,PS ,PM ,PB},各语言值的隶属函数采用三角函数,其分布可用表1和表2表示,控制规则如表3所示。要求:1、画出模糊控制程序流程图;2、计算出模糊控制器的查询表,写出必要的计算步骤。 表 表 表3 模糊控制规则表( 解:步骤: 1)输入输出语言变量的选择。输入变量选为实测温度T 与目标温度R 之差,即误差e ,及误差变化率ec ;输出语言变量选固态继电器通电时间的变化量u ,故模糊控制系统为双输入—单输出的基本模糊控制器。 2)建立各语言变量的赋值表。设误差e 的基本论域为[-5,5]。C ,输入变量E 的论域为[-5,-4,-3,-2,-1,0,1,2,3,4,5],误差的量化因子为ke=5/5=1。语言变量E 选取5个语言值: ,,,,PB PS ZE NS NB 。表1为语言变量E 、EC 的赋值表,表2为语言变量U 的赋值表

3)建立模糊控制规则表,总结控制策略,得出一组由25条模糊条件语句构成的控制规 则,据此建立模糊控制规则表,如表3所示.表中行与列交叉处的每个元素及其所在列的第一行元素和所在行的第一列元素,对应于一个形式为”if E and EC then U”的模糊语句, 根据该模糊语句可得相应的模糊关系i R ,则总控制规则的总模糊关系为25 1 =i i R U R = 。 表3 模糊控制规则表(内容为控制量U) 4)建立查询表。根据推理合成原则,输出模糊集合2()T U E E R =?? ,利用判决结果可建立模糊控制器查询表。通过查表得出U,乘以比例因子K u ,(K u =u max /n=5/5=1),即查表得出的结果U 即为控制量的值u 。 5)流程图如下图所示 流程图

水箱液位matlab模糊控制例程sltank详解

一问题描述 水位控制系统是由水箱(Tank),进水管、出水管和控制阀门等构成。在进水管上,安装有一液压阀门,控制它的位置,可以控制流入水箱的流量。出水管道的面积(Out pipe crossection) 保持常数,因此,流出出水管的流量主要与水箱的水位和水压有关。系统具有明显的非线性特性。 我们的目的是构建一个模糊闭环控制系统。其控制目的是通过调整控制阀门的开度,达到控制水箱水位的目的,并使其能够快速跟随所设定的水位(给定输入)。 除控制对象外,控制系统应包含有水位检测装置,控制器(常规PID 控制器或模糊控制器)及执行机构。

二控制系统动态结构图 流速计算依据为简化伯努利方程或托里拆利定律,二者结论一致。其中托里拆利定律内容为:忽略粘滞性,任何液体止点从小孔中流出的速度与它从h高度处自由落下的速度相等。 Level flow out 动态模型中主要用到的计算关系式如下: 液位=容积/底面积level=tank volume/area 流量=流速*出水口面积 流速=(2*g*level)^0.5

被控对象水箱模型 搭建按照上述动态结构图进行,实际设计的水箱模型如下: 封装后 执行机构: VALVE

三水位控制系统模型 四模型使用方法 启动matlab,命令行输入sltank,既可打开水位模糊控制仿真模型。设置const大于等于0,系统工作于PID控制模式 设置const小于0,系统工作于模糊控制模式

模糊控制时液位输入输出关系(双击Comparison示波器) 液位动画

PID控制时液位的输入输出关系 比较两种控制模式下液位曲线可以发现PID控制有超调,这一点在液位动画中也有体现。 修改模型参数 PID参数的调整可以直接双击PID Controller模块设置,这里着重介绍模糊控制器参数的修改。用到的主要命令如下:

模糊控制器的查询表的实例计算过程

用模糊控制实现水箱水温得恒温控制。水箱山底部得电阻性电热元件加热,山电动搅拌器实现均温。设控制得訂标温度为25七,以实测温度T与U标温度R之差,即误差e=T-R. 以及误差变化率ec为输入,以固态继电器通电时间得变化量u(以一个控制周期内得占空比表示,控制电加热器得功率)为输出。设e得基本论域为卜5,5] 其语言变量E得论域为卜5,5];ec得基本论域为卜1」]七/s,其语言变量EC得论域为卜5,5];控制量u得基本论域为卜5,5]单位,其语言变量U得论域为[-5,5] o E、EC与U都选5个语言值{NB,NM,NSZPS,PM、PB},各语言值得隶属函数采用三角函数,其分布可用表1与表2表示,控制规则如表3所示。要求:1、画出模糊控制程序流程图;2、计算出模糊控制器得查询表,写出必要得计算步骤。 表1语言变量E、EC得赋值表 表2语言变量U得赋值表 解涉骤: 输入输出语言变量得选择。输入变量选为实测温度T与H标温度R之差,即误差e,及误差变化率ec;输出语言变量选固态继电器通电时间得变化量u,故模糊控制系统为双输入—单输出得基本模糊控制器。 建立各语言变量得赋值表。设误差e得基本论域为卜5,5「c,输入变量E得论域为卜5,?4,?3,?2,?1,0,1,2,3,4,5],误差得量化因子为ke=5/5=l。语言变量E选取5个语言值:PEP&Z 皮表1为语言变量E、EC得赋值表,表2为语言变量U得赋值表 表1语言变量E、EC得赋值表

表2语言变量U得赋值表 3)建立模糊控制规则表,总结控制策略,得出一组山25条模糊条件语句构成得控制规则,据此建立模糊控制规则表,如表3所示、表中行与列交义处得每个元素及其所在列得第一行元素与所在行得第一列元素,对应于一个形式为"if E and EC then U”得模糊语句, 25 根据该模糊语句可得相应得模糊关系R,则总控制规则得总模糊关系为R=u& ° i-i 表3模糊控制规则表(内容为控制量U) 建立查询表。根据推理合成原则,输出模糊集合U=(ExAE)r^R,利用判决结果可建立模糊控制器查询表。通过查表得出U,乘以比例因子K u,(Ku=Umax/n=5/5=l),B|lg表得出得结果U即为控制量得值u。 5)流程图如下图所示 流程图

相关文档
相关文档 最新文档