计算智能——模糊控制器设计实验

模糊控制

模糊控制是指,要根据几个变量的输入以及一组模糊表述的规则,来决定输出。
模糊控制器包括四部分:
(1)模糊化。主要作用是选定模糊控制器的输入量,并将其转换为系统可识别的模糊量,具体包含以下三步:
第一,对输入量进行满足模糊控制需求的处理;
第二,对输入量进行尺度变换;
第三,确定各输入量的模糊语言取值和相应的隶属度函数。
(2)规则库。根据人类专家的经验建立模糊规则库。模糊规则库包含众多控制规则,是从实际控制经验过渡到模糊控制器的关键步骤。
(3)模糊推理。主要实现基于知识的推理决策。
(4)解模糊。主要作用是将推理得到的控制量转化为控制输出。

代码

该模糊控制器实现了车辆跟驰情景。
根据生活经验,当两车距离比较长,两车的相对速度比较小时,后车可以加快速度;当两车距离比较短,两车相对速度比较大时,后车应该减慢速度,等等。

%模糊控制器设计
a=newfis('fuzzf');                   %创建新的模糊推理系统

%输入1
f1=1; 
a=addvar(a,'input','distance',[-3*f1,3*f1]);                   
 %添加 e 的模糊语言变量
a=addmf(a,'input',1,'Lb','smf',[1.2*f1,3*f1]);          
 %添加 e 的模糊语言变量的隶属度函数(s型)
a=addmf(a,'input',1,'Ls','smf',[0.3*f1,2.4*f1]);      
  %隶属度函数为三角形
a=addmf(a,'input',1,'Z','trimf',[-1.4*f1,0.3*f1,1*f1]); 
a=addmf(a,'input',1,'Sb','zmf',[-2.1*f1,-0.6*f1]); 
a=addmf(a,'input',1,'Ss','zmf',[-3*f1,-1.3*f1]);

%输入2
f2=1;
a=addvar(a,'input','relativeVelocity',[-4*f2,4*f2]);                   
 %添加 ec 的模糊语言变量
a=addmf(a,'input',2,'Qb','smf',[2.7*f2,4*f2]); 
a=addmf(a,'input',2,'Qs','trimf',[0,1.3*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值