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

上传人:ba****u 文档编号:113398194 上传时间:2022-06-25 格式:DOCX 页数:5 大小:28.52KB
收藏 版权申诉 举报 下载
离散论域模糊控制表的离线计算_第1页
第1页 / 共5页
离散论域模糊控制表的离线计算_第2页
第2页 / 共5页
离散论域模糊控制表的离线计算_第3页
第3页 / 共5页
资源描述:

《离散论域模糊控制表的离线计算》由会员分享,可在线阅读,更多相关《离散论域模糊控制表的离线计算(5页珍藏版)》请在装配图网上搜索。

1、离散论域模糊控制表的离线计算一、题目已知单变量两维输入,一维输出模糊控制器,其两维输入为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所示)。其中输入采用单点模糊法,输出清晰量采用加权平均法进行解模糊,可以用M

2、ATLAB编程计算。各变量的隶属度函数以及控制规则表如下:表1输入变量E的隶属度函数表E-6-5-4-3-2-10123456NB1.00.80.60.40.200000000NM0.20.61.00.60.200000000NS000.30.71.00.70.3000000NZ00000.10.61.0000000PZ0000001.00.60.10000PS0000000.30.71.00.70.300PM000000000.20.61.00.60.2PB000000000.20.40.60.81.0表2变量EC和I的隶属度函数表-6-5-4-3-2-10123456NB1.00.60.2

3、0000000000NM0.20.61.00.60.200000000NS000.20.61.00.60.2000000ZE00000.20.61.00.60.20000PS0000000.20.61.00.60.200PM000000000.20.61.00.60.2PB00000000000.20.61.0表3控制规则表4NBNMNSZEPSPMPBNBNBNBNBNBNMZEZENMNBNBNBNBNMZEZENSNMNMNMNMZEPSPSNZNMNMNSZEPSPMPMPZNMNMNSZEPSPMPMPSNSNSZEPMPMPMPMPMZEZEPMPBPBPBPBPBZEZEPMPB

4、PBPBPB表4输出控制表(e,ec,i均为清晰量)-6-5-4-3-2-10123456-6-5.4-5.3-4.7-4.2-4.0-4.0-3.4-2.9-1.7-1.0-0.50.00.04447509179631000000063714813286(938000000-5-5.2-5.2-4.5-4.3-4.0-4.0-3.3-3.0-1.7-1.0-0.60.00.0857857500077000000214000500000786000000-4-5.4-5.3-4.7-4.2-3.7-3.4-2.8-2.5-0.50.00.41.11.0444750917963500815611

5、128250000250250588-3-5.2-5.2-4.5-4.3-3.7-3.0-2.3-2.0-0.20.91.32.02.0857857500077083000750000045259542000000-2-5.4-5.3-4.7-4.2-3.4-2.5-0.8-0.40.21.42.02.82.9444750917963000641696255750894976750412-1-5.2-5.2-4.5-4.3-3.3-2.0-0.30.91.72.32.94.34.38578575000770770003332595004781890770770-4.9-4.8-3.4-3.2-

6、2.5-1.50.01.52.53.23.44.84.90910006880008337450007458330006880000911-4.3-4.3-2.9-2.3-1.7-0.90.32.03.34.34.55.25.207707718947815002593330000770775008578572-2.9-2.8-2.0-1.4-0.20.40.82.53.44.24.75.35.44127509768947502556966410009639177504443-2.0-2.0-1.3-0.90.22.02.33.03.74.34.55.25.20000005422590450007

7、500000830775008578574-1.0-1.1-0.40.00.52.52.83.43.74.24.75.35.458825025000025012861181550096391775044450.00.00.61.01.73.03.34.04.04.34.55.25.200000078600050000021400000007750085785760.00.00.51.01.72.93.44.04.04.24.75.35.4000000938286813714063000000963917750444二、基本原理这是一个二输入、单输出的模糊控制器的设计,主要包括输入模糊化、模糊推

8、理、解模糊等基本过程,现在叙述如下:1输入模糊化在本实验实际过程中采用单点模糊集合的方法实现输入的模糊化,例如e为离散论域E=-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,则x*=,0的输入模糊集合可表示为:A0000001000000A-_6-5-3-2-101234562、模糊推理设某一时刻偏差为e*,偏差变化量为ec*,则可根据由各条规则给出的模糊蕴含关系进行合成推理运算,得到相应的输出控制量的模糊值:mm妙mxnU=(e讯andecjUR=U(eandec)*R=U(eandecp(AandBi)tCi14IV1=1mn-e*(ACi)ec*(BiCi)ia其中,m和

9、n分别表示e和ec的论域所划分的模糊自己的个数,在本实验中,m=8,n=7,对应着本题目中规定的56条控制规则。控制器设计的核心就是对上式进行编程。3、解模糊本实验采用加权平均的方式解模糊,其精确值的计算公式如下:n、Zikiz0=df(Z)nkii=1三、实验程序:实验最终采用的程序如文件program中fuc1.m所示,fuc1_1.m和fuc1_2.m为了说明程序优化使用。就本题目而言,三个程序都可以解决问题。Maxmin.m是最大最小合成函数,供fuc1_1.m运行时调用。各个excel表格说明如下:Input1_Terms_Membership.xlsx、Input2_Terms_M

10、embership.xIsx、Output_Terms_Membership.xlsx分别为两个输入变量以及输出变量的隶属度函数表,用于在MATLAB执行程序的时候读入,Output_Result.xlsx为程序运行结果。本实验采用的程序如下:%离散论域模糊控制表的离线计算e_domain=-6:6;ec_domain=e_domain;u_domain=e_domain;湍属度函数读入Input1_Terms_Membership=xIsread(Input2_Terms_Membership=xIsread(Output_Terms_Membership=xIsread(Rule=xlsr

11、ead(Rule.xlsx);%如果论域长度和隶属度函数列数不同,程序报错Input1_Terms_Membership.xIsxInput2_Terms_Membership.xIsxOutput_Terms_Membership.xIsx%语言规则录入);););iflength(edomain)=size(lnput1TermsMembership,2)fprintf(Error!Pleaseinputthemembershipofinputlagain!)endiflength(ec_domain)=size(lnput2_Terms_Membership,2)fprintf(Erro

12、r!Pleaseinputthemembershipofinput2again!)endiflength(u_domain)=size(Output_Terms_Membership,2)fprintf(Error!Pleaseinputthemembershipofoutputagain!)endform=1:length(ec_domain)fork=1:length(e_domain)%单点模糊化ec=zeros(1,length(ec_domain);ec(m)=1;e=zeros(1,length(e_domain);e(k)=1;Uo=zeros(1,length(u_domain

13、);fori=1:size(Input1_Terms_Membership,1)forj=1:size(Input2_Terms_Membership,1)a=lnput1_Terms_Membership(i,:);b=lnput2_Terms_Membership(j,:);c=Output_Terms_Membership(Rule(i,j),:);A1=a*ones(size(c);B1=ones(size(a)*c;R仁min(A1,B1);A2=b*ones(size(c);B2=ones(size(b)*c;R2=min(A2,B2);%最大-最小合成运算U1a=zeros(si

14、ze(e,1),size(R1,2);U1b=zeros(size(ec,1),size(R2,2);fors=1:size(e,1)fort=1:size(R1,2)U1a(s,t)=max(min(e(s,:),R1(:,t);endendfors=1:size(ec,1)fort=1:size(R2,2)U1b(s,t)=max(min(ec(s,:),R2(:,t);endendU仁min(U1a,U1b);Uo=max(Uo,U1);endend%解模糊U(m,k)=sum(u_domain.*Uo)/sum(Uo);endendxlswrite(Output_Result.xlsx

15、,U);%将结果以excel表格的形式给岀运行结果如题目中的表格4所示,各个精确量保留四位小数。四、程序优化及讨论1此程序中各个变量表的输入都是通过excel实现的。让MATLAB通过程序从excel表中读入数组到工作空间中,同时为了方便查看结果,又将结果写到excel表中。这样,我们在设计一个二输入单输出的模糊控制器时,只需要在四个excel表中输入相应的数值,而不需要进行程序的修改,唯一需要修改的就是各个变量的论域。整个程序的适应性还是比较强的,具有通用性。但付出的代价就是计算时间的延长,而时间延长的主要部分就花费在读取excel表上:tic;Input1_Terms_Membership

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

17、;Elapsedtimeis7.668543seconds.此外,其中求56条规则的并采用在循环中每一次都与上一次求并,并且用此次的计算值冲掉上一次的计算值,这样就节省了硬件上RAM空间的开销。2、在最开始的编程中,计算最大最小合成以及蕴含模糊关系时,我采用了子函数调用的方式,这样可以使得主程序变得简洁,而如果一个功能相同的程序段在程序中重复出现时,我们考虑到程序的简洁性,就采用子程序调用的方法,但这个方法带来的代价也是程序调用花费的时间开销。这种方法的实现是通过fuc11.m实现的,程序段如下:R1=maxmin(a,c);R2=maxmin(b,c);U1a=maxmin(e,R1);U1

18、b=maxmin(ec,R2);子程序如下:functionT=maxmin(R,S)%最大最小合成运算T=zeros(size(R,1),size(S,2);fors=1:size(R,1)fort=1:size(S,2)T(s,t)=max(min(R(s,:),S(:,t);endendend其时间复杂度为:tic;fuc1_1;tocElapsedtimeis9.216143seconds.可见,该方法相比实验采用的程序,速度要慢。3、如果仅考虑该实验,而不用考虑程序的通用性,直接在.m文件中输入各个变量,即略去读写excel的过程,同时也不采用子程序调用的方式,这样的程序运行速度就要

19、快很多。程序如fuc12.m所示。其时间复杂度为:tic;fuc1_2;tocElapsedtimeis0.905725seconds.该程序运行所花费的时间明显要低很多。4、综合分析为了程序的通用性,同时考虑到在实际应用中,二输入单输出的情况居多,因此我采用了excel读入输入量的方法,并且省去了子程序调用的过程,采用fuc1.m的方式。该程序对于二输入单输出模糊控制器的设计都是适用的。五、心得与体会通过此次实验的编程,我对二维模糊控制器的设计流程以及其计算原理有了更深的印象。设计一个MATLAB程序,我觉得需要考虑的因素主要有时间复杂度、空间开销以及程序的通用性等。在针对一个问题进行编程时,好的思维习惯是能够尽量地将这一个问题抽象成一类问题,而针对这一类问题编程。最后根据实际的问题综合考虑各个因素编写出最终的程序。而且随着经验的不断增加,我们考虑问题就会变得越来越全面。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!