模糊控制实验报告.doc
- 文档编号:140788
- 上传时间:2022-10-04
- 格式:DOC
- 页数:9
- 大小:473.50KB
模糊控制实验报告.doc
《模糊控制实验报告.doc》由会员分享,可在线阅读,更多相关《模糊控制实验报告.doc(9页珍藏版)》请在冰豆网上搜索。
实验报告
课程名称模糊控制
专业班级自动化1041
姓名赵伟
学号1004421112
电气与信息学院
和谐勤奋求是创新
实验题目
隶属度函数仿真
实验室
一教机房
实验时间
2013年03月25日
实验类别
验证
同组人数
成绩
一、实验目的
1.通过实验熟悉并掌握各种模糊控制系统工具箱函数的用法
2.通过实验熟悉并掌握典型隶属度函数的Matlab仿真
3.通过实验熟悉并掌握Matlab软件的使用方法
二、实验内容
1.根据给定参数编制模糊推理系统数据结构管理功能函数及整个“tipper”模糊推理系统的Matlab仿真程序。
2.运行所编制的程序,得到各功能函数的仿真结果,完成FIS的求解。
3.根据给定参数编制获得各种典型隶属度函数的Matlab仿真程序。
4.运行所编制的程序,得到隶属度函数仿真曲线,并研究参数变化对曲线特性的影响,完成典型隶属度函数的仿真研究。
三、实验步骤
1.针对“tipper”模糊推理系统,编制相应的数据结构管理功能函数的Matlab仿真程序。
2.运行所编制的程序,得到各功能函数的仿真结果。
3.根据给定参数编制整个“tipper”模糊推理系统的仿真程序,并求解在给定作用下FIS的输出。
4.熟悉Matlab软件,编制获得各种典型隶属度函数的Matlab仿真程序。
5.运行所编制的程序,得到典型隶属度函数的仿真曲线。
6.改变隶属度函数的参数,观测参数的变化对仿真曲线的影响。
7.分析实验结果,完成实验报告。
四、实验参数要求
1.在tipper模糊系统中,'input'1即'service'的范围为[010],且分为'poor','good','excellent'三个模糊集,3个模糊集均采用'gaussmf'型隶属函数,区间分别为[1.50],[1.55],[1.510];input
(2)即'food'的范围为[010],且分为'rancid','delicious'2个模糊集,2个模糊集均采用'trapmf'型隶属函数,区间分别为[-2013],[791012];output
(1)即'tip''的范围为[030],且分为'cheap','average','generous'三个模糊集,3个模糊集均采用'trimf'型隶属函数,区间分别为[0510],[101520],[202530]
④求解输入分别为[12]和[35;27]时系统的输出
2.Gaussian型隶属度函数σ=2,c=5
3.gbellmf隶属度函数a=2,b=4,c=6
4.Sigmoidal隶属度函数a1=2,c1=4;a2=2,c2=4;
5.trapezoid隶属度函数a=1,b=5,c=7,d=8
6.triangle隶属度函数a=3,b=6,c=8
7.Z形隶属度函数a=3,b=7
8.根据给定参数,设计自定义隶属函数的Matlab仿真程序
①以年龄为论域,取x=[0,150],设计模糊集“年轻”的隶属函数的Matlab仿真程序
②设计一个三角形隶属函数,按[-6,6]范围分为七个等级,建立一个模糊系统,用来表示
{负大,负中,负小,零,正小,正中,正大}。
五、程序及仿真图形
1“tipper”模糊推理系统
程序如下:
a=newfis('tipper');
a=addvar(a,'input','service',[010]);
a=addmf(a,'input',1,'poor','gaussmf',[1.50]);
a=addmf(a,'input',1,'good','gaussmf',[1.55]);
a=addmf(a,'input',1,'excellent','gaussmf',[1.510]);
a=addvar(a,'input','food',[010]);
a=addmf(a,'input',1,'rancid','trapmf',[-2013]);
a=addmf(a,'input',1,'delicious','trapmf',[791012]);
a=addvar(a,'output','tip',[030]);
a=addmf(a,'output',1,'cheap','trimf',[0510]);
a=addmf(a,'output',1,'average','trimf',[101520]);
a=addmf(a,'output',1,'generous','trimf',[202530]);
a2=readfis('tipper');
figure
(1);
plotfis(a2);
figure
(2);
plotmf(a,'input',1);
figure(3);
plotmf(a,'output',1);
④求解输入分别为[12]和[35;27]时系统的输出
1)当输入为[12]时系统的输出:
程序如下:
a=newfis('tipper');
a=addvar(a,'input','service',[010]);
a=addmf(a,'input',1,'poor','gaussmf',[1.50]);
a=addmf(a,'input',1,'good','gaussmf',[1.55]);
a=addmf(a,'input',1,'excellent','gaussmf',[1.510]);
a=addvar(a,'input','food',[010]);
a=addmf(a,'input',1,'rancid','trapmf',[-2013]);
a=addmf(a,'input',1,'delicious','trapmf',[791012]);
a=addvar(a,'output','tip',[030]);
a=addmf(a,'output',1,'cheap','trimf',[0510]);
a=addmf(a,'output',1,'average','trimf',[101520]);
a=addmf(a,'output',1,'generous','trimf',[202530]);
fismat=readfis('tipper');
out=evalfis([12],fismat)
a2=readfis('tipper');
figure
(1);
plotfis(a2);
figure
(2);
plotmf(a,'input',1);
figure(3);
plotmf(a,'output',1);
2)当输入为[35;27]时系统的输出:
程序如下:
a=newfis('tipper');
a=addvar(a,'input','service',[010]);
a=addmf(a,'input',1,'poor','gaussmf',[1.50]);
a=addmf(a,'input',1,'good','gaussmf',[1.55]);
a=addmf(a,'input',1,'excellent','gaussmf',[1.510]);
a=addvar(a,'input','food',[010]);
a=addmf(a,'input',1,'rancid','trapmf',[-2013]);
a=addmf(a,'input',1,'delicious','trapmf',[791012]);
a=addvar(a,'output','tip',[030]);
a=addmf(a,'output',1,'cheap','trimf',[0510]);
a=addmf(a,'output',1,'average','trimf',[101520]);
a=addmf(a,'output',1,'generous','trimf',[202530]);
fismat=readfis('tipper');
out=evalfis([35;27],fismat)
a2=readfis('tipper');
figure
(1);
plotfis(a2);
figure
(2);
plotmf(a,'input',1);
figure(3);
plotmf(a,'output',1);
2.Gaussian型隶属度函数σ=2,c=5
程序如下:
x=0:
0.1:
10;
y=gaussmf(x,[25])
plot(x,y);
xlabel('x');ylabel('y');
3.gbellmf隶属度函数a=2,b=4,c=6
程序如下:
x=0:
0.1:
10;
y=gbellmf(x,[246])
plot(x,y);
xlabel('x');ylabel('y');
4.Sigmoidal隶属度函数a1=2,c1=4;a2=2,c2=4;
程序如下:
x=0:
0.1:
10;
y=sigmf(x,[2424])
plot(x,y);
xlabel('x');ylabel('y');
5.trapezoid隶属度函数a=1,b=5,c=7,d=8
程序如下:
x=0:
0.1:
10;
y=trapmf(x,[1578])
plot(x,y);
xlabel('x');ylabel('y');
6.triangle隶属度函数a=3,b=6,c=8
程序如下:
x=0:
0.1:
10;
y=trimf(x,[368]);
plot(x,y);
xlabel('x');ylabel('y');
7.Z形隶属度函数a=3,b=7
程序如下:
x=0:
0.1:
10;
y=zmf(x,[37]);
plot(x,y);
xlabel('x');ylabel('y');
8.根据给定参数,设计自定义隶属函数的Matlab仿真程序
①以年龄为论域,取x=[0,150],设计模糊集“年轻”的隶属函数的Matlab仿真程序
程序如下:
%MembershipfunctionforYoungPeople
clearall;
closeall;
fork=1:
1:
1501
x(k)=(k-1)*0.10;
ifx(k)>=0&x(k)<=35
y(k)=1.0;
else
y(k)=1/(1+((x(k)-35)/5)^2);
end
end
plot(x,y,'k');
xlabel('xyears');ylabel('Degreeofmembership');
②设计一个三角形隶属函数,按[-6,6]范围分为七个等级,建立一个模糊系统,用来表示
程序如下:
a=newfis('t');
a=addvar(a,'input','e',[-6,6]);
a=addmf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模糊 控制 实验 报告