基于MATLAB的PID模糊控制器的设计与仿真一、模糊控制器的设计步骤(l进行系统分析,确定模糊控制器的输人变量、输出变量及控制器的结构;(2定义输入、输出变量的论域和隶属函数、建立控制规则、确定运算子、选择反模糊化方法;(3模拟试验,可以离线进行仿真试验,也可以在线进行实时测量。二、MATLAB中的具体操作进入MATLAI3编辑环境后,键人fuzzy即可进人FIS编辑器。根据题目要求,控制器有两个输入e,de和一个输出u。在fis编辑器里添加两个输入和一个输出edit-addvariable-input/output根据系统实际情况,选择e,de和u的论域erange:[-11]derange:[-0.10.1]urange:[02]e,de和u语言变量的选取e8个:NB,NM,NS,NZ,PZ,PS,PM,PBde7个:NB,NM,NS,Z,PS,PM,PBU7个:NB,NM,NS,Z,PS,PM,PB对de和u按照要求设计成与e相同的样子,根据规则表将55条规则输入到控制器中,点击addrule添加规则。制定完之后,会形成一个模糊控制规则矩阵,然后根据模糊输入量按照相应的模糊推理算法完成计算,并决策出模糊输出量。对输出模糊量的解模糊:模糊控制器的输出量是一个模糊集合,通过反模糊化方法判决出一个确切的精确量,凡模糊化方法很多,我们这里选取重心法。然后Exporttodisk/workspace,即可得到一个.fis文件,命名为fuzzy这就是你所设计的模糊控制器。三、仿真验证控制器的设计刚才我们已经完成了对控制的设计,并将它命名为fuzzy,在MATLAB中在用这个控制器之前,需要用readfis指令将fuzzy.fis加载到matlab的工作空间,比如我们用这样的指令:myFLC=readfis(‘fuzzy.fis’;就创建了一个叫myFLC的结构体到工作空间,并在fuzzylogiccontroller中参数设为:myFLC。MATLAB中将会出现你的myFLC如下:myFLC=name:'fuzzy'type:'mamdani'andMethod:'min'orMethod:'max'defuzzMethod:'centroid'impMethod:'min'aggMethod:'max'input:[1x2struct]output:[1x1struct]rule:[1x55struct]接下来我们在Simulink中建立了它的模糊控制系统,控制模型如下:Fuzzylogiccontroller的属性设为myFLC