实验一模糊控制器MATLAB仿真 下载本文

内容发布更新时间 : 2024/9/20 16:34:36星期一 下面是文章的全部内容请认真阅读。

实验一 模糊控制器的MATLAB仿真

一、实验目的

本实验要求利用MATLAB/SIMULINK与FUZZYTOOLBOX对给定的二阶动态系统,确定模糊控制器的结构,输入和输出语言变量、语言值及隶属函数,模糊控制规则;比较其与常规控制器的控制效果;研究改变模糊控制器参数时,系统响应的变化情况;掌握用 MATLAB 实现模糊控制系统仿真的方法。

二、实验设备:计算机系统、Matlab 仿真软件 三、实验原理

模糊控制器它包含有模糊化接口、规则库、模糊推理、清晰化接口等部分,输人变量是过程实测变量与系统设定值之差值。输出变量是系统的实时控制修正变量。模糊控制的核心部分是包含语言规则的规则库和模糊推理。模糊推理就是一种模糊变换,它将输入变量模糊集变换为输出变量的模糊集,实现论域的转换。工程上为了便于微机实现,通常采用“或”运算处理这种较为简单的推理方法。Mamdani推理方法是一种广泛采用的方法。它包含三个过程:隶属度聚集、规则激活和输出总合。模糊控制器的体系结构如图1所示。

Fuzzy controller Defuzzification

FuzzificationReference inputr(t)InferencemechanismInputsu(t)ProcessOutputsy(t)Rule-base图1 模糊控制器的体系结构

四、实验步骤

(1)对循环流化床锅炉床温,对象模型为

120?30s?1??140s?1?

采用simulink图库,实现常规PID和模糊自整定PID。

(2)确定模糊语言变量及其论域:模糊自整定PID为2输入3输出的模糊控制器。该模糊控制器是以|e|和|ec|为输入语言变量,Kp、Ki、Kd为输出语言变量,其各语言变量的论域如下:

误差绝对值:e={0,3,6,10};

误差变化率绝对值:ec={0,2,4,6}; 输出Kp:Up={0,0.5,1.0,1.5}; 输出Ki:Ui={0,0.002,0.004,0.006}; 输出Kd:Ud={0,3,6,9}。

(3)语言变量值域的选取:输入语言变量|e|和|ec|的值域取值“大”(B)、“中”(M)、“小”(s)和“零”(Z) 4种;输出语言变量Kp、Ki、Kd的值域取值为“很大”(VB)、 “大”(B)、“中”(M)、“小”(s) 4种。 步骤如下:

在MATLAB控制窗口输入:Fuzzy回撤

增加输入变量和输出变量:

修改输入变量和输出变量的名称得到:

双击每个输入变量和输出变量进行分别设计: