【智能控制】实验,基于MATLAB的模糊推理系统设计,模糊控制系统设计

关注作者了解更多

我的其他CSDN专栏

过程控制系统

工程测试技术

虚拟仪器技术

可编程控制器

工业现场总线

数字图像处理

智能控制

传感器技术

嵌入式系统

复变函数与积分变换

单片机原理

线性代数

大学物理

热工与工程流体力学

数字信号处理

光电融合集成电路技术

电路原理

模拟电子技术

高等数学

概率论与数理统计

数据结构

C语言

模式识别原理

自动控制原理

数字电子技术

关注作者了解更多

资料来源于网络,如有侵权请联系编者

目录

基于MATLAB的模糊推理系统设计

模糊逻辑工具箱的介绍

1.  FIS编辑器:

2. 隶属函数编辑器

3. 模糊规则编辑器

4. 模糊规则观察器

5. 输出曲面观测器

(二)小费模糊推理系统设计

(三)水箱液位模糊控制系统设计

模糊控制系统设计

(一)模糊控制器设计

1. 模糊集合及论域的定义

2. 模糊控制规则设计

3. 建立仿真模型

(二)分析模糊控制隶属度函数对控制效果的影响

(三)系统参数对控制效果的影响


基于MATLAB的模糊推理系统设计

模糊逻辑工具箱的介绍

模糊逻辑工具箱提供的图形用户界面(GUI)工具有五个:模糊推理系统(FIS)编辑器;隶属函数编辑器;模糊规则编辑器;模糊规则观察器;输出曲面观察器。

1.  FIS编辑器:

Matlab的FIS界面如图1所示。FIS处理系统有多少个输入变量输出变量名称是什么模糊算子“与”(min,prod乘积,custom自定义),“或”(max大,probor 概率统计方法,custom),推理方法(min,prod,custom),聚类方法(max,probor,sum,custom),解模糊的方法(centroid质心法,bisector中位线法,middle of maximum,largest of maximum,smallest of maximum)。

推理的类型有mamdani和sugeno 推理。

1 模糊推理系统(FIS)界面

  Mamdani推理:一种在模糊控制中普遍使用的方法,它本质上仍然是一种合成推理方法,只不过对模糊蕴涵关系取不同的形式而已。Mamdani型推理从每个规则的结果中得到的模糊集通过聚类运算后得到结果模糊集,被反模糊化后得到系统输出。

2. 隶属函数编辑器

   确定各个变量的论域和显示范围(左下角编辑区内),如图2所示。定义每个变量的模糊集的名称和个数(Edit菜单中Add MFs),以及每个模糊变量的隶属函数类型和参数(点击变量的隶属函数曲线后在右下角编辑区内修改)。隶属函数的类型有:trimf,trapmf,gbellmf, gaussmf,gauss2mf,sigmf,dsigmf,psigmf,pimf,smf,zmf

3. 模糊规则编辑器

   完成了对变量的命名,隶属函数也有了适当的形状和名字,就可以编辑模糊规则。选择连接关系(and 或者or),权重,在编辑器左边选择一个输入变量,并选择它的语言值,然后在编辑器右边的输出变量中选择一个输出变量,并选中它的语言值,然后将这种联系添加到模糊规则中。

   Options/Format 下可以选择模糊规则不同的格式,默认的是verbose(模糊规则的详细格式),还有symbolic(符号格式),indexed(高度压缩格式)

4. 模糊规则观察器

    模糊规则观察器的功能是可以令用户观察模糊推理图,并观察模糊推理系统的行为是否与预期的一样。可以观察到输入变量(默认色是黄色)和输出变量(默认色是蓝色)如何应用在模糊规则中;反模糊化的数值是多少。

5. 输出曲面观测器

模糊规则观察器非常详细的显示了在某一个时刻的计算。如果看到模糊推理系统的全部输出曲面,即与整个输入区间相对应的输出区间,就要打开输出曲面观测器。View/view surface

小费模糊推理系统设计

1. 在MATLAB的命令窗口输入fuzzy命令,打开模糊逻辑工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统

2. 增加一个输入变量,在弹出的窗口中选择Edit→Add Variable→input;在name中更改input1为“service”,input2为“food”,output为“tip”,建立了一个两输入单输出模糊推理系统框架。

 

3. 双击变量图标进行模糊化模块设计:

(1)打开Membership Function Editor窗口,在Range和Display Range中设置隶属函数图的取值范围,将两个输入变量的论域均设为[0,10],输出论域为[0,30]。

(2)选择Edit→Add MFs→numbers of MFs 中选择模糊集个数

通过增加隶属度函数来进行模糊空间划分。

输入变量service划分为三个模糊集:更改mf1~mf3的参数,分别命名为poorgoodexcellent,隶属度函数均为高斯函数( 'gaussmf'),参数分别为[1.5 0][1.5 5][1.5 10]

    输入变量food划分为两个模糊集:ranciddelicious,隶属度函数均为梯形函数('trapmf '),参数分别为[0 0 1 3][7 9 10 10]

  输出变量tip划分为三个模糊集:cheapaveragegenerous,隶属度函数均为三角形函数('trimf'),参数分别为[0 5 10][10 15 20][20 25 30]

4. 设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:

 if (service is poor) or (food is rancid) then (tip is cheap)

 if (service is good) then (tip is average)

 if (service is excellent) or (food is delicious) then (tip is generous)

三条规则的权重均为1

5. 模糊推理参数均使用默认值,通过曲面观察器(View→Surface)查看小费模糊推理的输入输出关系曲面。通过规则观察器(View→Rules)查看对具体输入的模糊推理及输出情况,输入各种不同的数据,查看模糊推理情况及输出数据。

6. 增加规则,查看曲面的变化、推理输出的变化。

水箱液位模糊控制系统设计

  

1. 打开模糊工具箱的图形用户界面窗口,新建一个Madmdani模糊推理系统。

2. 增加一个输入变量,将输入变量命名为levelrate,输出变量为valve,这样建立了一个两输入单输出模糊推理系统,保存为tank.fis

3. 设计模糊化模块:将输入变量rate的论域设为[-0.1,0.1],另外两个变量采用论域[-1,1]

通过增加隶属度函数来进行模糊空间划分。

输入变量level划分为三个模糊集:highokaylow,隶属度函数均为高斯函数,参数分别为[0.3  -1][0.3  0][0.3  1]

输入变量rate划分为三个模糊集:negativenonepositive,隶属度函数均为高斯函数,参数分别为[0.03  -0.1][0.03  0][0.03  0.1]

输出变量valve划分为五个模糊集:close_fastclose_slowno_changeopen_slowopen_fast,隶属度函数均为三角形函数,参数分别为[-1  -0.9  -0.8][-0.6  -0.5  -0.4] [-0.1  0  0.1][0.2  0.3  0.4][0.8  0.9  1]

4. 设置模糊规则:打开Rule Editor窗口,通过选择添加三条模糊规则:

if (level is okay) then (valve is no_change)

if (level is low) then (valve is open_fast)

if (level is high) then (valve is close_fast)

if (level is okay) and (rate is positive) then (valve is close_slow)

if (level is okay) and (rate is negative) then (valve is poen_slow)

五条的权重均为1

5. 通过曲面观察器(Surface Viewer)查看水箱液位模糊推理的输入输出关系曲面。通过规则观察器(Rule Viewer)查看对具体输入的模糊推理及输出情况。

模糊控制系统设计

(一)模糊控制器设计

   

1. 模糊集合及论域的定义

选定误差E和误差变化EC作为模糊控制器的输入(二维模糊控制器),控制量U作为模糊控制器的输出。EECU的模糊集定义如下:

E、ECU的模糊集均为{NB, NM, NS, O, PS, PM, PB}

E和EC的论域为{-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6}

U的论域为{-7、-6、-5、-4、-3、-2、-1、0、1、2、3、4、5、6、7}

上述3个模糊集合都选取了7个元素,主要目的是着眼于提高稳态精度。E、EC和U的隶属度函数图形如图所示:

2. 模糊控制规则设计

表1 模糊控制规则

U   E

EC

NB

NM

NS

0

PS

PM

PB

NB

PS

PS

PS

PS

PM

PB

PB

NM

NS

PS

PS

PS

PM

PM

PB

NS

NM

NS

0

0

PS

PM

PM

0

NB

NM

NS

0

PS

PM

PM

PS

NB

NM

NS

0

0

PS

PM

PM

NB

NB

NM

NS

NS

PS

PS

PB

NB

NB

NM

NS

NS

NS

PS

    

(要输入49条,真心心累)

  进行模糊控制仿真时,首先要将FIS发送到Matlab工作空间(workspace)中,用FIS窗口下File/Export/to workspace实现,用户建立一个工作空间变量名(例如fuzzy control),这个变量将FIS系统作为Matlab的一个结构进行工作。仿真时,打开fuzzy logic controller输入FIS变量名,就可以进行仿真了。

3. 建立仿真模型

在MATLAB的simulink仿真环境中建立模糊控制系统的方框图如图4所示。系统所选用的参数Saturation、Saturation1、Saturation2的范围分别为[-6 6]、[-6 6]、[-7 7],Transport Delay=2s。

通过调试得到PID模糊控制的参数:Gain1=0.6,Gain=2.1,Gain2=0.11。

(手动在simulink上搭建)

4. 仿真结果

系统的阶跃响应曲线如图5所示,其中上方的曲线代表系统的阶跃响应,下方的曲线是系统的模糊控制量的变化。

(停止时间设100s就行)

分析模糊控制隶属度函数对控制效果的影响

如下图所示改变模糊控制器中的隶属度函数为梯形隶属函数。

图6  E的隶属度函数

图7   EC的隶属度函数

图8   U的隶属度函数

  

记录此时系统的阶跃响应曲线,分析梯形隶属度函数和三角形隶属度函数对控制效果的影响,撰写实验报告

系统参数对控制效果的影响

改变系统参数进行仿真,记录系统的阶跃响应曲线,依次分析以下三种情况对控制效果的影响,撰写实验报告。

K=25

K=30

K=35

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/930521.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

泷羽sec:shell编程(9)不同脚本的互相调用和重定向操作

声明: 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&#…

记事本建java及java命名规范

1.桌面开发:c# 2. 记事本建java: 以class的名称(类名)为名,名称.java 编译jdk:javac 名称.java 调动运行jre : java 名称 查看名称.java里面的内容:cat 名称.java java 的命名规范 大驼峰(每个单词首…

数据结构---队列(Queue)

1. 简介 队列(Queue)是一种常用的数据结构,它遵循先进先出(FIFO,First In First Out)的原则。这意味着第一个进入队列的元素将是第一个被移除的元素。队列在计算机科学中有着广泛的应用,比如任…

3D 生成重建016-SA3D从nerf中分割一切

3D 生成重建016-SA3D从nerf中分割一切 文章目录 0 论文工作1 方法介绍2 实验结果 0 论文工作 1 SAM的背景和目标: SAM 是一种强大的二维视觉基础模型,能够在 2D 图像中进行任意物体的分割。传统上,SAM 在二维空间表现出色,但其无…

Ubuntu环境安装RabbitMQ

1.安装Erlang RabbitMq需要Erlang语⾔的⽀持,在安装rabbitMq之前需要安装erlang # 更新软件包 sudo apt-get update # 安装 erlang sudo apt-get install erlang 查看erlang版本 : erl 退出命令:halt(). 2. 安装RabbitMQ # 更新软件包 sudo apt-get update # 安装 …

FSWIND脉动风-风载时程生成器软件原理

大量风的实测资料表明,在风的时程曲线中,瞬时风速包含两个部分:一部分是自振周期一般在 10 分钟以上的平均风,另一部分是周期一般只有几秒左右的脉动风。平均风由于其周期一般比结构的自振周期大,因而考虑其作用性质相…

【JavaWeb后端学习笔记】MySQL的数据查询语言(Data Query Language,DQL)

MySQL DQL 1、DQL语法与数据准备1.1 DQL语法1.2 数据准备 2、基础查询2.1 查询指定字段2.2 查询返回所有字段2.3 给查询结果起别名2.4 去除重复记录 3、条件查询3.1 条件查询语法3.2 条件查询案例分析 4、分组查询4.1 分组查询语法4.2 分组查询案例分析 5、排序查询5.1 排序查询…

优化工业应用的振动筛

了解如何使用 Ansys Rocky 优化振动筛性能。 振动筛 振动筛在许多散装物料处理过程中发挥着重要作用,可实现有效的颗粒分离和分类。 它们在采矿、采石、建筑、回收和食品加工行业尤为常见。它们的设计和操作需要仔细考虑材料特性、工艺要求和环境因素,…

git修改某次commit(白痴版)

第一步 在bash窗口运行 git rebase --interactive commitId^ 比如要改的commitId是 abcedf git rebase --interactive abcedf^键盘 按 i 或者 ins 进入编辑状态 进入insert 编辑状态 在bash窗口手动把对应commit前面的pick改为e或edit 按 esc 进入退出程序 输入 :wq 保存退出…

基于 RNN(GRU, LSTM)+CNN 的红点位置检测(pytorch)

文章目录 1 项目背景2 数据集3 思路4 实验结果5 代码 1 项目背景 需要在图片精确识别三跟红线所在的位置,并输出这三个像素的位置。 其中,每跟红线占据不止一个像素,并且像素颜色也并不是饱和度和亮度极高的红黑配色,每个红线放大…

word如何快速创建目录?

文章目录 1,先自己写出目录的各级标题。2、选中目标标题,然后给它们编号3、给标题按照个人需求开始分级4、插入域构建目录。4.1、利用快捷键插入域构建目录4.2、手动插入域构建目录 听懂掌声!学会了吗? 前提声明:我在此…

【金猿CIO展】复旦大学附属中山医院计算机网络中心副主任张俊钦:推进数据安全风险评估,防范化解数据安全风险,筑牢医疗数据安全防线...

‍ 张俊钦 本文由复旦大学附属中山医院计算机网络中心副主任张俊钦撰写并投递参与“数据猿年度金猿策划活动——2024大数据产业年度优秀CIO榜单及奖项”评选。 大数据产业创新服务媒体 ——聚焦数据 改变商业 数据要素时代,医疗数据已成为医院运营与决策的重要基石…

【工具变量】上市公司企业劳动密集度数据(2008-2023年)

一、测算方式: 参考《数量经济技术经济研究》陈勇兵(2023)老师的做法,使用员工数量与销售收入的比值作为劳动密集度的度量标准* o/ b% C( e* U我们做的比他完善,分为四类大家可以做核心变量或者稳健性检验Labor1&…

实现RAGFlow-0.14.1的输入框多行输入和消息框的多行显示

一、Chat页面输入框的修改 1. macOS配置 我使用MacBook Pro,chip 是 Apple M3 Pro,Memory是18GB,macOS是 Sonoma 14.6.1。 2. 修改chat输入框代码 目前RAGFlow前端的chat功能,输入的内容是单行的,不能主动使用Shift…

【漫话机器学习系列】Adaboost算法

Adaboost(Adaptive Boosting)是一种经典的集成学习方法,主要思想是通过将多个弱学习器(通常是简单模型,如决策树桩)加权组合,来提升整体模型的预测能力。Adaboost 是一种自适应的学习方法&#…

第四学期-智能数据分析-期末复习题

智能数据分析期末复习(2024春) 【考试形式】:闭卷,90分钟,笔试 【题型分布】: 单选题10题,每题3分,共计30分 判断题10题,每题2分,共计20分 填空题5题&…

数据结构初阶---栈和队列

一、栈Stack 1.栈的概念 栈是一种特殊的线性表,只允许在固定的一端进行插入与删除操作。进行插入与删除操作的一端被称之为栈顶,另一端称之为栈底。栈中的数据元素遵循先进后出(FILO)或者说后进先出(LIFO)原则 栈的插入操作称之为压栈/入栈/进栈&…

ASP.NET Web UI 框架 Razor Pages/MVC/Web API/Blazor

前言 💢 🎯 记得以前用 Asp.net 做 网页开发 是的时候那时候还是 Web Forms ,后来 MVC 出来后也是火的不得了。那个时候还没有所谓的前后端分离一说,像 Vue.js、React 、Angular 的这些前端框架还没出生,那时候 Jquery…

YOLOV11 快速使用教程

概述 这里主要记录使用NVIDIA GPU pytorch 检测系列模型的快速使用方式,可以快速解决一些工业应用的问题,比如:无网、数据大需要改路径、需要记录不同实验结果等问题。 安装 参考官网,自己安装好Python > 3.8和pytorch >…

双绞线直连两台电脑的方法及遇到的问题

文章目录 前言一、步骤二、问题总结:问题1:遇到ping不通的问题。问题2:访问其他电脑上的共享文件时提示输入网络凭证问题3:局域网共享文件时提示“没有权限访问,请与网络管理员联系请求访问权限” 前言 办公室里有两台电脑,一台装了显卡用于…