matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3

作业3

1.问题描述

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第1张图片

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第2张图片

2.分析

a.模糊控制器的结构

输入为实际输出与理论输出之差e和偏差变化率de。输出为炉温u。模糊控制器为两输入一输出。

b.定义输入、输出模糊集

输入和输出均分为7个模糊子集,均为{NB,NM,NS,ZO,PS,PM,PB}。e的论域为[-100 100],de的论域为[-55],u的论域为[-100 100]。

c.输入输出隶属函数

  NB和PB均采用gaussmf(高斯)隶属函数,其它均采用trimf(三角)隶属函数

d.建立模糊控制规则表(共有49条规则)

de

e

NB

NM

NS

ZO

PS

PM

PB

NB

NB

NB

NM

NM

NS

NS

ZO

NM

NB

NM

NM

NS

NS

ZO

PS

NS

NM

NM

NS

NS

ZO

PS

PS

ZO

NM

NS

NS

ZO

PS

PS

PM

PS

NS

NS

ZO

PS

PS

PM

PM

PM

NS

ZO

PS

PS

PM

PM

PB

PB

ZO

PS

PS

PM

PM

PB

PB

 

e.反模糊化

采用centroid面积重心法进行反模糊化。

3.建立Matlab模糊系统

a.打开FIS编辑器,(在Commond Window 输入fuzzy或在“应用程序”中点击“fuzzy logic designer"),建立双输入单输出模糊系统(edit/add variable/input),并根据分析的内容确定相应参数(名字在name框里键入,范围要双击对应输入输出,然后在range框键入)

 matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第3张图片

b.添加隶属度函数(隶属度函数中间范围较窄,两边较宽,以使误差较小时快速稳定)(双击输入或输出框后出现如下图,edit/add mfs,选择添加的个数即可)并设置相应参数

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第4张图片

c.根据规则表编辑规则

 matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第5张图片

d.查看规则编辑器和曲面观测器(view/rules  view/surface)

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第6张图片

  matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第7张图片          

e.保存并导入到workspace(file/export/to file  to workspace或者在命令行窗口键入:文件名=readfis('文件名.fis'),回车)

4.Matlab仿真

a.仿真结构图:

输入为终值为200的阶跃函数(saturation的范围及对应e,de,u的范围,fuzzy logic controller的参数为文件名)。如下图:

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第8张图片

各参数配置(simulation/model configuration parameters)尤其是zero-crossing control,严重影响仿真速度甚至效

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第9张图片 

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第10张图片

b.仿真结果

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第11张图片

全局图

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第12张图片

                 局部放大图

c.后发现Saturation模块可去掉,仿真结果几乎相同。可见,一旦设定输入输出论域,模糊控制器的输入输出会自动约束到相应范围,如下图:

 matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第13张图片

d.仿真结果为:

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第14张图片

全局图

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第15张图片

局部放大图

e.结果分析

由图看出,150s时才趋于稳定,存在稳态误差,并在稳态值附近有细小震荡。这是因为设计的模糊控制器相当于PD控制器,PD控制器本身存在稳态误差,模糊控制属于离散控制,所以会有波动。

5.PID控制器

a.仿真结构图

不断调整PID各参数,发现P=1.2、I=0.01、D=1时效果较好,如下图所示:

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第16张图片

b.仿真结果

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第17张图片

全局图

matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解_智能计算期末3_第18张图片

局部放大图

e.结果分析

由图可知,PID控制器稳定速度很快,约5秒就稳定了,并且稳定后无波动。

 

6.比较分析:

    由运行结果可知,PID控制在速度上优于模糊控制,并且稳态无波动。PID控制器仿真稳定速度比模糊控制器快很多。这是因为常规PID 控制算法计算量小,实时性也好。模糊控制的计算量大,具有较大的惯性和滞后性。

 


你可能感兴趣的:(智能计算,matlab)