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

上传人:woxinch****an2018 文档编号:39314343 上传时间:2018-05-14 格式:DOC 页数:6 大小:101.50KB
返回 下载 相关 举报
离散论域模糊控制表的离线计算_第1页
第1页 / 共6页
离散论域模糊控制表的离线计算_第2页
第2页 / 共6页
离散论域模糊控制表的离线计算_第3页
第3页 / 共6页
离散论域模糊控制表的离线计算_第4页
第4页 / 共6页
离散论域模糊控制表的离线计算_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《离散论域模糊控制表的离线计算》由会员分享,可在线阅读,更多相关《离散论域模糊控制表的离线计算(6页珍藏版)》请在金锄头文库上搜索。

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=?,最终输出的控制表格

2、式如如表 4 所示) 。其中输入采用单点 模糊法,输出清晰量采用加权平均法进行解模糊,可以用 MATLAB 编程计算。 各变量的隶属度函数以及控制规则表如下: 表表 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.2PB0

3、00000000.20.40.60.81.0表表 2 变量变量 EC 和和 I 的隶属度函数表的隶属度函数表-6-5-4-3-2-10123456NB1.00.60.20000000000NM0.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 控制规则表控制规则表NBNMNSZEPSPMPBNBNBNBNBNBNMZEZENMNBNBNBNBNMZEZ

4、ENSNMNMNMNMZEPSPSNZNMNMNSZEPSPMPMPZNMNMNSZEPSPMPMPSNSNSZEPMPMPMPMPMZEZEPMPBPBPBPBPBZEZEPMPBPBPBPB 表表 4 输出控制表(输出控制表(e,ec,i 均为清晰量)均为清晰量)-6-5-4-3-2-10123456-6- 5.4 444 - 5.3 750 - 4.7 917 - 4.2 963 - 4.0 000 - 4.0 000 - 3.4 063 - 2.9 714 - 1.7 813 - 1.0 286 - 0.5 938 0.0 000 0.0 000 -5- 5.2 857 - 5.2 8

5、57 - 4.5 500 - 4.3 077 - 4.0 000 - 4.0 000 - 3.3 214 - 3.0 000 - 1.7 500 - 1.0 000 - 0.6 786 0.0 000 0.0 000 -4- 5.4 444 - 5.3 750 - 4.7 917 - 4.2 963 - 3.7 500 - 3.4 815 - 2.8 611 - 2.5 128 - 0.5 250 0.0 000 0.4 250 1.1 250 1.0 588 -3- 5.2 857 - 5.2 857 - 4.5 500 - 4.3 077 - 3.7 083 - 3.0 000 - 2.3

6、 750 - 2.0 000 - 0.2 045 0.9 259 1.3 542 2.0 000 2.0 000 -2- 5.4 444 - 5.3 750 - 4.7 917 - 4.2 963 - 3.4 000 - 2.5 641 - 0.8 696 - 0.4 255 0.2 750 1.4 894 2.0 976 2.8 750 2.9 412 -1- 5.2 857 - 5.2 857 - 4.5 500 - 4.3 077 - 3.3 077 - 2.0 000 - 0.3 333 0.9 259 1.7 500 2.3 478 2.9 189 4.3 077 4.3 077 0

7、- 4.9 091 - 4.8 000 - 3.4 688 - 3.2 000 - 2.5 833 - 1.5 745 0.0 000 1.5 745 2.5 833 3.2 000 3.4 688 4.8 000 4.9 091 1- 4.3 077 - 4.3 077 - 2.9 189 - 2.3 478 - 1.7 500 - 0.9 259 0.3 333 2.0 000 3.3 077 4.3 077 4.5 500 5.2 857 5.2 857 2- 2.9 412 - 2.8 750 - 2.0 976 - 1.4 894 - 0.2 750 0.4 255 0.8 696

8、2.5 641 3.4 000 4.2 963 4.7 917 5.3 750 5.4 444 eiecECIE3- 2.0 000 - 2.0 000 - 1.3 542 - 0.9 259 0.2 045 2.0 000 2.3 750 3.0 000 3.7 083 4.3 077 4.5 500 5.2 857 5.2 857 4- 1.0 588 - 1.1 250 - 0.4 250 0.0 000 0.5 250 2.5 128 2.8 611 3.4 815 3.7 500 4.2 963 4.7 917 5.3 750 5.4 444 50.0 000 0.0 000 0.6

9、 786 1.0 000 1.7 500 3.0 000 3.3 214 4.0 000 4.0 000 4.3 077 4.5 500 5.2 857 5.2 857 60.0 000 0.0 000 0.5 938 1.0 286 1.7 813 2.9 714 3.4 063 4.0 000 4.0 000 4.2 963 4.7 917 5.3 750 5.4 444 二、基本原理二、基本原理 这是一个二输入、单输出的模糊控制器的设计,主要包括输入模糊化、模糊推理、解 模糊等基本过程,现在叙述如下: 1、输入模糊化 在本实验实际过程中采用单点模糊集合的方法实现输入的模糊化,例如 e 为

10、离散论域 E=-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,则 x*=,0 的输入模糊集合可表示为: 0000001000000 6543210123456A 2、模糊推理设某一时刻偏差为 e*,偏差变化量为 ec*,则可根据由各条规则给出的模糊蕴含关系进 行合成推理运算,得到相应的输出控制量的模糊值:*111*1()()() ()()()m nm nm nlllll lllm nllll lUeand ecReand ecReand ecA and BCeACecBC ooooIoUUUU其中,m 和 n 分别表示 e 和 ec 的论域所划分的模糊自己的个数,在本实验中,

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

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

13、read(Input2_Terms_Membership.xlsx);Output_Terms_Membership=xlsread(Output_Terms_Membership.xlsx);Rule=xlsread(Rule.xlsx); %语言规则录入 %如果论域长度和隶属度函数列数不同,程序报错 if length(e_domain)=size(Input1_Terms_Membership,2)fprintf(Error!Please input the membership of input1 again!)endif length(ec_domain)=size(Input2_T

14、erms_Membership,2)fprintf(Error!Please input the membership of input2 again!)endif length(u_domain)=size(Output_Terms_Membership,2)fprintf(Error!Please input the membership of output again!)endfor m=1:length(ec_domain) for k=1:length(e_domain) %单点模糊化ec=zeros(1,length(ec_domain);ec(m)=1;e=zeros(1,len

15、gth(e_domain); e(k)=1;Uo=zeros(1,length(u_domain); for i=1:size(Input1_Terms_Membership,1)for j=1:size(Input2_Terms_Membership,1)a=Input1_Terms_Membership(i,:);b=Input2_Terms_Membership(j,:);c=Output_Terms_Membership(Rule(i,j),:);A1=a*ones(size(c);B1=ones(size(a)*c;R1=min(A1,B1); A2=b*ones(size(c);B

16、2=ones(size(b)*c;R2=min(A2,B2);%最大-最小合成运算U1a=zeros(size(e,1),size(R1,2);U1b=zeros(size(ec,1),size(R2,2);for s=1:size(e,1)for t=1:size(R1,2)U1a(s,t)=max(min(e(s,:),R1(:,t);endendfor s=1:size(ec,1)for t=1:size(R2,2)U1b(s,t)=max(min(ec(s,:),R2(:,t);endendU1=min(U1a,U1b);Uo=max(Uo,U1);endend%解模糊 U(m,k)=sum(u_domain.*Uo)/sum(Uo); endendxlswrite(Output_Result.xlsx,U

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号