ImageVerifierCode 换一换
格式:DOCX , 页数:6 ,大小:245.84KB ,
资源ID:7202306      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7202306.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(利用Matlab工具箱设计模糊控制器.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

利用Matlab工具箱设计模糊控制器.docx

1、利用Matlab工具箱设计模糊控制器利用Matlab工具箱设计模糊控制器文章来源:不详 作者:佚名 该文章讲述了利用Matlab工具箱设计模糊控制器.下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。 Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。首先我们在Matlab的命令窗口(command window)中输入fuzzy,回车就会出来这样一个窗口。下面我们都是在这样一个窗口中进行模糊控制器的设计。1确定模糊控制

2、器结构:即根据具体的系统确定输入、输出量。这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为E,EC和U,我们可以选择增加输入(Add Variable)来实现双入单出控制结构。2输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。首先我们要确定描述输入输出变量语言值的模糊子集,如NB,NM,NS,ZO,PS,PM,PB,并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为-3,-2,-1,0,1,2,3;然后我们为模糊语言变量选取相应的隶属度函数。在模糊

3、控制工具箱中,我们在Member Function Edit中即可完成这些步骤。首先我们打开Member Function Edit窗口.然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为-3 3,添加隶属函数的个数为7.然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。3模糊推理决策算法设计:即根据模糊控制规则进行模糊推理,并决策出模糊输出量。首先要确定模糊规则,即专家经验。对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则(一般来说,这些规则都是现成的,很多教科书上都有),如图。制定完之后,会形成一个模糊控制规则

4、矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。4对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。5然后Export to disk,即可得到一个.fis文件,这就是你所设计的模糊控制器。下面我们检验一下,看看我们的控制器到底怎么样。以一个简单的电机控制为例,我们在Simulink中建立了它的模糊控制系统如下:在用这个控制器之前,需要用readfis指令将fuzzy1.fis加载到matlab的工作空间,比如我们用这样的指令:myFLC=readfis(fuzzy1.fis);就创

5、建了一个叫myFLC的结构体到工作空间,并在fuzzy logic controller中参数设为:myFLC。可以看到,在模糊控制器的输入和输出均有一个比例系数,我们叫它量化因子,它反映的是模糊论域范围与实际范围之间的比例关系,例如,模糊控制器输入输出的论域范围均为-3,3,而实际误差的范围是-10,10,误差变化率范围是-100,100,控制量的范围是-24,24,那么我们就可以算出量化因子分别为0.3,0.03,8。量化因子的选取对于模糊控制器的控制效果有很大的影响,因此要根据实际情况认真选取哦。好,现在我们可以设定仿真步长,比如定步长的10ms,就可以运行了。运行后,产生这样一个错误:

6、MinMax blocks do not accept boolean signals. The input signal(s) of block test_fuzzy/Fuzzy Logic Controller/FIS Wizard/Defuzzification1/Max (COA) must be one of the MATLAB uint8, uint16, uint32, int8, int16, int32, single, or double data types我想很多朋友做模糊控制的时候都会遇到这个情况。没关系,这里提供两个解决办法:1直接在Defuzzification1这个模块中的那个比较环节后加入数据类型转换模块,将boolean转化为double型,或者双击那个比较模块,选中show additional parameters,将输出数据类型改为specify via dialog,然后选uint(8)即可;但是在仿真之后,又会发现很多地方都存在这个问题,因此你不得不一个一个去修改,如果你不怕累的话。2第二个方法是最简单的,直接在simulation parameters-advanced将boolean logic signals选为off,强烈推荐你用这个。好了,这些都解决了,我们就可以仿真了,例如给个方波信号,可以得到仿真曲线如下

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1