欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    模糊控制程序实例.docx

    • 资源ID:3920428       资源大小:243.77KB        全文页数:22页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    模糊控制程序实例.docx

    1、模糊控制程序实例5.226模糊控制器设计实例1、单输入模糊控制器的设计【例5.12】已知某汽温控制系统结构如图 5.10所示,采用喷水减温进行控制。设计单输入模糊控制器,观察定值扰动和内部扰动的控制效果。图5.10单回路模糊控制系统按表5-2确定模糊变量 E U的隶属函数,按表 5-3确定模糊控制规则,选择温度偏差 e、控制量u的实际论域:e u 1.5,1.5,则可得到该系统的单输入模糊控制的仿真程序如 FC_SI_main.m所示,仿真结果如图5.11所示。设温度偏差e、控制量u的实际论域:e u 1.5,1.5,选择e、u的等级量论域为E U 3, 2, 1,0, 1, 2, 3量化因子

    2、K2 31.5 ( 1.5)选择模糊词集为NB,NS,ZO,PS,PB,根据人的控制经验,确定等级量 E,U的隶属函数曲线如图5-8所示。根据隶属函数曲线可以得到模糊变量 E、U的赋值表如表5-3所示。图5-8 E, U的隶属函数曲线pb000000.51ps000010.50Z0000.510.500NS00.510000nb10.500000依据人手动控制的一般经验,可以总结出一些控制规则,例如: 若误差E为0,说明温度接近希望值,喷水阀保持不动; 若误差 明温度低于希望值,应该减少喷水;若误差 明温度高于希望值,应该增加喷水。若采用数学符号描述,可总结如下模糊控制规则:若E负大,则U正大

    3、;若E负小,贝U U正小;若E为零,则U为零;若E正小,则U负小;若E正大,则U负大。写成模糊推理句:if E=NB then U=PBif E=NS then U=PSif E=Z0 then U=Z0if E=PS then U=NSif E=PB then U=NB由上述的控制规则可得到模糊控制规则表,如表 5-4所示。表5-4模糊控制规则表EnbNSZ0PSpbUpbPSZONSnb模糊控制规则实际上是一组多重条件语句,它可以表示从误差论域 旦到控制量论域 U的模糊关系R。按着上述控制规则,可以得到该温度偏差与喷水阀门开度之间的模糊关系 R:R E U(NBe PBu)U(NSe PS

    4、u)U(Z0e Z0u)U(PSe NSu)U(PBe NBu )计算模糊关系矩阵 R的子程序如F_Relation_1.m 所示。%莫糊关系计算子程序F_Relation_1.cfunction R,mfe,mfu, ne,n u,Me=F_Relatio n_1%#!俞入模糊变量赋值表(表 5-3)#ne=7;%等级量e的个数nu=7;%等级量u的个数Me=0 0 0 0 0 0.5 1;0 0 0 0 1 0.5 0;0 0 0.5 1 0.5 0 0;0 0.5 1 0 0 0 0;1 0.5 0 0 0 0 0;Mu=Me;%#定义模糊变量及其语言值 仁PB,2=PS,3=O,4=N

    5、S,5=NB,并输入模糊控制规则表(表 5-4 ) #mfc=5;%模糊变量E的语言值个数,控制规则表列数E=5 4 3 2 1;UC=1 2 3 4 5;%#计算 R=EX U#R=zeros (ne,nu);for i=1:mfciu=UC(i);ie=E(i);for k=1: nefor 1=1: nuif Me(ie,k)R(k,l)R(k,l)=Reu(k,l);endendendend运行结果如下:000000.51.000000.50.50.5000.50.51.00.50R 000.51.00.50000.51.00.50.5000.50.50.500001.00.50000

    6、0由此,可以得到各种输入时,模糊控制器的输出:E 1,由表5-2可以查出单输入时: U EoR例如:单输入时,设e 1.2,根据前面的等级量划分原则,其等级量E PS 0 0 0 0 1 0.5 0。根据式(5-5)可以得到:000000.51.000000.50.50.5000.50.51.00.50U 0 0 0 0 1 0.5 0 000.51.00.50000.51.00.50.5000.50.50.500001.00.5000000.5 0.5 1.0 0.5 0.5 0 0其模糊决策子程序如 F_Deduce_1.m所示。%单输入时模糊决策子程序 F_Deduce_1.mfun c

    7、tion FU=F_Deduce_1(fe,R, ne,nu)for i=1: nufor j=1: neif fe(j)EM;e1=EM;e ndif e1-EM;e1=-EM;e ndj=e1+EM+1;Fi=1;for i=2:mu图5.11单输入模糊控制器的控制效果从上述的仿真结果可以看到,定值扰动时系统可以达到稳定,但是有很大的静差,不能满足 工程上的要求,究其原因是,模糊控制器实质上是一个具有继电器型非线性特性的控制器(如图 5.11中所示的u),没有积分作用,对于有自平衡对象一定会产生静差,而且系统极容易产生震荡。 从图5.11就可看出,虽然设计的模糊控制器对定值扰动是稳定的,但

    8、对于内扰并不能使其稳定。非线性控制器的控制效果取决于各变量的论域及扰动量的大小 【,因此,模糊控制器的大范围工程应用还有许多问题需要研究。2、双输入模糊控制器的设计【例5.13】对于图5.10所示的系统,设计双输入模糊控制器,观察定值扰动和内部扰动的控制 效果。下面考虑两个输入的情况:设温度偏差e、偏差变化率ec及控制量u的实际论域:e ec u 1.5,1.5,选择它们的等级量论域分别为E 6, 5, 4, 3, 2,1, 0, 0, 1, 2, 3, 4, 5, 6EC6,5, 4,3,2, 1,0, 1, 2, 3, 4, 5, 6U 7,6,5, 4,3,2, 1,0, 1, 2, 3

    9、, 4, 5, 6, 7量化因子Ke ec2 64,Ku27 141.5 ( 1.5)1.5(1.5) 3假设选取E的模糊变量词集为 NB,NM , NS, NO, PO, PS, PM , PB选取模糊变量E的赋值表如表5-5所示。表5-5 e的等级量与模糊量的关系-6-5-4-3-2-1-0+0+ 1+2+3+4+5+6PB00000000000.10.40.81.0PM0000000000.20.71.00.70.2PS00000000.30.81.00.50.100PO00000001.00.60.10000NO00000.10.61.00000000NS000.10.51.00.80

    10、.30000000NM0.20.71.00.70.2000000000NB1.00.80.40.10000000000选取EC、U的模糊变量词集为NB,NM , NS,ZO, PS, PM ,PB选取模糊变量EC的赋值表如表5-2所示,模糊变量U的赋值表如表5-6所示。 表5-6等级量U与模糊量U的关系-7-6-5-4-3-2-10+ 1+2+3+4+5+6+7PB000000000000.10.40.81.0PM0000000000.20.71.00.70.20PS00000000.41.00.80.40.1000ZO0000000.51.00.5000000NS0000.10.40.81.

    11、00.40000000nm00.20.71.00.70.2000000000nb1.00.80.40.100000000000现将操作者在操作过程中遇到的各种出现的情况和相应的控制策略汇总为表 5-7。表5-7双输入时的模糊控制规则表nbnmnsnopopspmpbnbpbpbpmpmpmpsZOZOnmpbpbpmpmpmpsZOZOnspbpbpmpspsZOnsnmZOpbpmpsZOZOnsnmnbPSpmpmpsZOnsnsnmnbpmpmpsZOnsnmnmnbnbpbpsZOnsnmnmnbnbnb下面说明建立模糊控制规则表的基本思想。首先考虑误差为负的情况,当误差(希望值减去温

    12、度 值)为负大时(说明温度高于希望值),若误差变化率也为负,这时误差有增大的趋势,为尽快消除已 有的负大误差并抑制误差变大,所以控制量的变化取正大(控制量增大,意味着喷水阀门开度增大, 喷水量增加,使得温度下降,下同) 。当误差为负而误差变化率为正时,系统本身已有减少误差的趋势,所以,为尽快消除误差而又不 超调,应取较小的控制量。当误差为负中时,控制量的变化应使误差尽快消除,基于这种原则,控制量的变化选取同误差为 负大时相同。当误差为负小时,系统接近稳态,若误差变化微小时,选取控制量变化为正中,以抑制误差往负 方向变化;若误差变化为正时,系统本身有消除负小的误差的趋势,选取控制量变化为正小。上

    13、述选取控制量变化的原则:当误差大或较大时,选择控制量以尽快消除误差为主;当误差较小 时,选择控制量要注意防止超调,以系统稳定性为主要出发点。按着上述控制规则,可以得到温度偏差及偏差变化率与喷水阀门开度之间的模糊关系 R :R (E U)o(EC U ) E EC U(NBe NBec PBu)U(NMe NBec PBu ) U( NSe NBec PMu )UL L其中角标E,EC U分别表示误差、误差变化率和控制量。设e、ec、u的等级量分别为 nfe、nfec、nfu,贝U R是一个nfe nfec行nfu列的矩阵。计算模糊关系矩阵R的子程序如F_Relation_2.m 所示。%莫糊关

    14、系计算子程序 F_Relation_2.cfun ctio n R, n,nE,n EC, nU, nfe,nfec,n fu,Me,Mec=fu nc()%#3定义 E的模糊变量值仁PB,2=PM,3=PS,4=-O,5=+0,6=NS,7=NM,8=NB并输入表(5-5 ) # nE=8;%模糊变量E的语言值个数?控制表列数E=8 7 6 5 4 3 2 1;nfe=14;%E的等级量个数Me=O 0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.0;0 0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.2;0 0 0 0 0 0 0 0.3 0.8 1.0

    15、 0.5 0.1 0 0;0 0 0 0 0 0 0 1.0 0.6 0.1 0 0 0 0;0 0 0 0 0.1 0.6 1.0 0 0 0 0 0 0 0;0 0 0.1 0.5 1.0 0.8 0.3 0 0 0 0 0 0 0;0.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0 0;1.0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0 0;%#定义 EC的模糊变量值 1=PB,2=PM,3=PS,4=0,5=NS,6=NM,7=NB并输入表(5-2 ) #nEC=7;%模糊变量EC勺语言值个数?控制表行数EC=7 6 5 4 3 2 1;n fec=

    16、13;%EC的等级量个数Mec=0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.0;0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.2;0 0 0 0 0 0 0 0.9 1.0 0.7 0.2 0 0;0 0 0 0 0 0.5 1.0 0.5 0 0 0 0 0;0 0 0.2 0.7 1.0 0.9 0 0 0 0 0 0 0;0.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0;1.0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0;%#定义 U的模糊变量值 仁PB,2=PM,3=PS,4=0,5=NS,6=NM,7=N

    17、B并输入表(5-6 ) #nU=7;%模糊变量U的语言值个数U=7 6 5 4 3 2 1;nfu=15;%U的等级量个数Mu=0 0 0 0 0 0 0 0 0 0 0 0.1 0.4 0.8 1.0;0 0 0 0 0 0 0 0 0 0.2 0.7 1.0 0.7 0.2 0;0 0 0 0 0 0 0 0.4 1.0 0.8 0.4 0.1 0 0 0;0 0 0 0 0 0 0.5 1.0 0.5 0 0 0 0 0 0;0 0 0 0.1 0.4 0.8 1.0 0.4 0 0 0 0 0 0 0;0 0.2 0.7 1.0 0.7 0.2 0 0 0 0 0 0 0 0 0;1.

    18、0 0.8 0.4 0.1 0 0 0 0 0 0 0 0 0 0 0;%#耕俞入模糊控制规则表(表 5-7)#nfc=8;%模糊变量E的语言值个数,模糊控制表列数 mfc=7;%模糊变量EC勺语言值个数,模糊控制表行数UC=1 1 2 2 2 3 4 4;1 1 2 2 2 3 4 4;1 1 2 3 3 4 5 6;1 2 3 4 4 5 6 7;2 2 3 4 5 5 6 7;2 3 4 5 6 6 7 7;3 4 5 6 6 7 7 7;%#计算 R= ( EX ECX U) #R=zeros( nfe*nfec,n fu);for i=1:mfcfor j=1: nfc%E X EC

    19、ie=E(j);iec=EC(i);for k=1: nfefor 1=1: nfecif Me(ie,k)Mec(iec,l) Reec(k,l)=Me(ie,k); elseReec(k,l)=Mec(iec,l); endendend%E xECX Uiu=UC(i,j);n=0;for k=1: nfefor l=1: nfecn=n+1;for t=1: nfuif Reec(k,l)R(k,l) R(k,l)=Reecu(k,l); endendendendend然后双输入时,先根据 e、ec计算出相应的等级量 E、EC,再根据表(5-2)查出相应的E, EC ,按式(5-6)计算

    20、出模糊控制器的输出。其模糊决策子程序如 F_Deduce_2.m所示。%双输入时模糊决策子程序 F_Deduce_2.mfunction FU=F_Deduce_2(fe,fec,R, n,n fe, nfec,nfu)%#5计算 ex EC#n=0;for i=1: nfefor j=1: nfecn=n+1;if fe(i)fec(j)feec( n)=fe(i);elsefeec( n)=fec(j);endendend%#5计算(E x EC)。R#for 1=1: nfufor i=1: nif feec(i)EM;e1=EM;e ndif e1-EM;e1=-EM;e ndif e10;j=e1+EM+1;e ndif (e1=0)&(e0);j=8;e ndif e10;j=e1+EM+2;e nd%得到e的模糊语言值Fi=1;mfE=Me(1,j);for i=2: nEif Me(i,j)mfE;Fi=i;mfE=Me(i,j);e ndendfe=Me(Fi,:);%# 变量 ec 模糊化处理 #ec=(e-eO)/DT; e0=e; 计算 ec 的确切量ec仁rou nd(Kec*ec);% 把ec转换成等级量if ec1ECM;ec1=ECM;e ndif ec1-ECM;e1


    注意事项

    本文(模糊控制程序实例.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开