《智能控制MATLAB演示文稿2》由会员分享,可在线阅读,更多相关《智能控制MATLAB演示文稿2(17页珍藏版)》请在金锄头文库上搜索。
1、智能控制智能控制MATLAB演演示文稿示文稿2三、系统设计要求:1、输入变量:偏差e、偏差变化率de;输出变量:u相应隶属度函数为:2、规则要求:3、模糊化方法:平均最大隶属度函数法mom。4、程序运行后要求用图形显示输入、输出变量的隶属度函数曲线;显示模糊控制系统的推理过程结构框图,并把此系统保存到fuzzy.fis文件中。四、设计步骤:1、进入MATLAB系统,先新建一个 .m文件,在其中用命令行形式写入完成本系统的相应程序。2、运行本程序看结果。3、把fuzzy.fis文件导入到MATLAB模糊工具箱的图形界面可视化工具中看输出情况。五、设计结果要求1、画出显示的模糊控制系统的推理过程结
2、构框图。2、当e=1,de=2时u为多少?当e=2,de=1时u为多少?进入MATLAB系统,先新建一个 .m文件: 写入相应程序 :a=newfis(fuzzy);a=addvar(a,input,e,-3,3);a=addmf(a,input,1,N,trimf,-3,-3,0);a=addmf(a,input,1,Z,trimf,-3,0,3);a=addmf(a,input,1,P,trimf,0,3,3);figure(1); %图1plotmf(a,input,1);a=addvar(a,input,de,-3,3);a=addmf(a,input,2,N,trimf,-3,-3,
3、0);a=addmf(a,input,2,Z,trimf,-3,0,3);a=addmf(a,input,2,P,trimf,0,3,3);figure(2); %图2plotmf(a,input,2);a=addvar(a,output,u,-4,4);a=addmf(a,output,1,NB,zmf,-4,-1);a=addmf(a,output,1,NS,trimf,-4,-2,1);a=addmf(a,output,1,ZE,trimf,-2,0,2);a=addmf(a,output,1,PS,trimf,-1,2,4);a=addmf(a,output,1,PB,smf,1,4)
4、;figure(3); %图3plotmf(a,output,1);例程:试画出图1、图3?rulelist=1 1 5 1 1; 1 2 4 1 1; 1 3 3 1 1; 2 1 3 1 1; 2 2 3 1 1; 2 3 2 1 1; 3 1 2 1 1 3 2 2 1 1; 3 3 1 1 1;a=addrule(a,rulelist);a1=setfis(a,DefuzzMethod,mom);writefis(a1,fuzzy);a2=readfis(fuzzy);试根据rulelist画出规则表?Ulist=zeros(7,7); 创立一个77的全0的矩阵for i=1:7 fo
5、r j=1:7 e(i)=-4+i; de(j)=-4+j; Ulist(i,j)=evalfis(e(i),de(j),a2); endendUlist=ceil(Ulist) 取整(向大数取)figure(4); 图4plotfis(a2);运行结果(输出矩阵):Ulist = 4 4 2 2 2 0 0 4 4 2 2 2 0 0 0 0 0 0 0 -1 -1 0 0 0 0 0 -1 -2 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -3 -3 -2 -1 -1 -2 -1 -3 -4问:当e=1,de=2时u为多少?当e=2,de=1时u为多少?运行结果(图):把已保存的fuzzy.fis文件导入的图形界面可视化工具中:例程:a1=setfis(a,DefuzzMethod,mom);writefis(a1,fuzzy);a2=readfis(fuzzy);练习:某个模糊逻辑控制器的输入X、Y和输出Z的隶属度函数分别如图1、图2、图3所示。已知模糊控制规则:试应用玛达尼推理法计算当输入X=3,Y=6时,输出Z=?(精确化计算采用重心法)。采用Matlab进行仿真,写出图1所示隶属度函数设计仿真程序;若已知Y的隶属度函数添加顺序为B1,B2,B3;Z添加顺序为C1,C2,C3,试用仿真程序完成模糊规则添加。