matlab实现炉温模糊控制器设计与仿真和PID控制器仿真比较详解

本文对比分析了模糊控制和PID控制在温度控制系统的应用,指出PID控制器在速度响应和稳定性方面优于模糊控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作业3

1.问题描述

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框键入)

 

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

c.根据规则表编辑规则

 

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

            

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

4.Matlab仿真

a.仿真结构图:

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

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

 

b.仿真结果

全局图

                 局部放大图

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

 

d.仿真结果为:

全局图

局部放大图

e.结果分析

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

5.PID控制器

a.仿真结构图

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

b.仿真结果

全局图

局部放大图

e.结果分析

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

6.比较分析:

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

 

评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值