【MATLAB数据处理实用案例详解(19)】——利用神经模糊控制实现对洗衣机的控制

news2024/11/24 23:06:39

目录

    • 一、问题描述
    • 二、洗衣机模糊控制
    • 三、运行结果
    • 四、完整代码

一、问题描述

20世纪90年代初期,日本松下公司推出了神经模糊控制全自动洗衣机这种洗衣机能够自动判断衣物质地的软硬程度、衣量多少、脏污程度和性质等,应用神经模糊控制技术,自动生成模糊控制规则和隶属度函数,预设洗衣水位、水流强度和洗涤时间,在整个洗衣过程中实时调整这些参数,达到最佳的洗衣效果。
洗衣机的主要被控参量为洗涤时间和水流强度,而影响这一输出参量的主要因子是被洗
物的浑油程度和浑浊性质,后者可用浑浊度的变化率来描述。在洗涤过程中,油污的浑浊度变化率小,泥污的浑浊度变化率大。因此,浑浊度及其变化率可以作为控制系统的输入参量,而洗涤时间和水流强度可作为控制量,即系统的输出。实际上,洗衣过程中的这类输入和输出之间很难用一定的数学模型进行描述。系统运行过程中具有较大的不确定性,控制过程在很大程度上依赖操作者的经验,这样一来常规控制方法难以奏效,因此引入模糊控制。

二、洗衣机模糊控制

根据上述的模糊控制基本原理,可得出确定洗涤时间的模糊推理框图,其输入量为洗涤水的浑浊度及其变化率,输出量为洗涤时间,如下图。考虑到适当的控制性能需要和简化程序。定义输入量浑浊度的模糊词集为{清、较浊、浊、 很浊},定义浑浊度变化率的模糊词集为{零、小、中、大},定义输出变量洗涤时间的模糊词集为{短、较短、标准、长}。描述输入/输出变量的词集都具有模糊特性,可以用模糊集合表示。因此模糊概念的确定问题就直接转换为求取模糊集合的隶属函数问题。
在这里插入图片描述
洗衣机的模糊控制规则可以归纳为16条,如下:

洗衣机的模糊控制规则表
洗涤时间浑浊度
较浊很浊
变化率
较短标准标准
很小标准标准标准标准
标准
标准标准

模糊控制的过程是这样的:首先洗衣机获取的浑浊度信息由传感器送到信息处理单元,分为浑独度和浑浊度变化率,送入模糊控制器。对于输入的模糊量,需要将其转换成模糊变量,通过单元片机,利用查表法按照模糊推理法则做出决策,结果被认为是模糊变量,经过去模糊化单元处理,再由执行机构去修改洗涤时间,这样就完成了一次模糊控制算法过程。

一般的模糊控制洗衣机将“专家经验”通过模糊控制规则表现出来,运行中通过查表做出控制决策,这比需要操作者设定程序的电脑控制洗衣机前进了一大步。但是,这种洗衣机由于规则表需要占用大量的内存空间,查表反应速度慢,只能够按照已经编入的规则进行控制因此不够理想。而把神经网络和模糊控制相结合,则能够解决这些问题。

洗衣机的神经网络模糊控制是利用离线训练好的网络,通过在线计算即可得到最佳输出。这种控制模式的反应速度快,而且神经网络又具有自学习功能和联想能力,对于未在训练中出现的样本,也可以通过联系记忆的功能,做出控制决策,表现非常灵活。

洗衣机的神经网络模糊控制器的控制系统中含有多个神经模糊环节,下面仅介绍以浑浊
度和浑浊度变化率为输入变量来确定洗涤时间的控制器。神经模糊控制器在输入/输出参量的选择及模糊论域和模糊子集的确定方面,与一般模糊控制器没有什么区别,只是在推理手段上引入了神经网络。令x1~ x7为输入量浑浊度的模糊子集,x8~ x14为输入量浑浊度变化率的模糊子集,y1 ~ y8为输出控制量的模糊子集。由上图可以看出其中有16条控制规则,每条规则都有一对样本,则共有16对样本。例如,当浑浊度为“清”,浑浊度变化率为“零”时,袭击事件应该为“短”,这个样本可以表示为:
x = [ 1 , 0.6 , 0.1 , 0 , 0 , 0 , 0 , 1.0 , 0.5 , 0 , 0 , 0 , 0 , 0 ] T , y = [ 1.0 , 0.5 , 0 , 0 , 0 , 0 , 0 , 0 ] T x=[1,0.6,0.1,0,0,0,0,1.0,0.5,0,0,0,0,0]^T,y=[1.0,0.5,0,0,0,0,0,0]^T x=[1,0.6,0.1,0,0,0,0,1.0,0.5,0,0,0,0,0]T,y=[1.0,0.5,0,0,0,0,0,0]T

下表为每一个输入参量的模糊量:

输入参量的模糊量
输入参量模糊量
浑浊度1 0.6 0.1 0 0 0 0
较浊0 0.6 0.6 0 0 0 0
0 0 0.6 1 0 0 0
很浊0 0 0 0 1 0.6 0
浑浊度变化率1 0.5 0 0 0 0 0
很小0 0.5 1 0.4 0 0 0
0 0 0 0.4 1 0.6 0
0 0 0 0 0 0 0.8
洗涤时间1 0.5 0 0 0 0 0 0
较短0.4 0.8 1 0.8 0.4 0.2 0 0
标准0 0 0 0.2 0.6 1 0.6 0.2
0 0 0 0 0 0.2 0.5 0.8

根据模糊规则,可以得到网络的训练样本P和T,完整的MATLAB代码如下。

三、运行结果

误差曲线如下:
在这里插入图片描述
网络经过266次迭代,误差效果满足要求:
在这里插入图片描述

四、完整代码

完整代码可以参考资源:
https://download.csdn.net/download/didi_ya/87740580。


ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript实现输入成绩,输出成绩等级的代码

以下为实现输入成绩,输出成绩等级(switch语句)的代码和运行截图 目录 前言 一、实现输入成绩,输出成绩等级 1.1 运行流程及思想 1.2 代码段 1.3 JavaScript语句代码 1.4 运行截图 前言 1.若有选择,您可以在目录…

C#底层库--自定义进制转换器(可去除特殊字符,非Convert.ToString方式)

系列文章 C#底层库–程序日志记录类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 C#底层库–MySQLBuilder脚本构建类(select、insert、update、in、带条件的SQL自动生成) 本文链接:https://blog.csd…

从南极到你家,易开得,一支“中国芯”的奇幻漂流

2023年的AWE,精彩程度比我想象中还要夸张! 一方面是热度空前,现场人头攒动,有一家老中幼三代一起来观展的,有经销商、客户来问价采购的,还有行业媒体举着单反、手机、摄像机激情拍照的,让我们正…

4月30日第壹简报,星期日,农历三月十一

4月30日第壹简报,星期日,农历三月十一坚持阅读,静待花开1. 五一小长假首日全国铁路迎客流高峰,创铁路单日客流历史新高,旅游订单量较春节假期首日增长668%。2. 六大国有银行一季报业绩披露:共赚近3600亿元&…

chatgpt 数据相关应用论文策略简介

hatGPT等预训练大模型,一个核心能力就是经过海量语料的训练加上强化学习的引导,其具有强大的接近人类的文本生成能力。这个能力的一大用途,就是可以为我们生产数据或者标注数据,再基于这些数据训练我们自己的模型。 On the Feasi…

B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能

B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能 文章目录 B/S 结构系统的 缓存机制(Cookie) 以及基于 cookie 机制实现 oa 十天免登录的功能每博一文案1. Cookie 的概述2. session 与 Cookie 之间的联系:3. Cookie 的作用&#xff…

Android 9.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

1.前言 在9.0的系统rom产品定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的通知背景默认是白色四角的背景, 由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通知显示流程,设置默认下拉状态栏UI中的…

LaTeX基础文本排版命令

LaTeX基础文本排版命令 1. 字体大小2. 字体的粗体与斜体2.1. 粗体2.2 斜体2.3 同时启用粗体和斜体 3. 空格长度4. 高度与宽度尺寸 在LaTeX中,文本排版可以通过简单的命令实现,这些命令可以控制字体大小、粗体与斜体、空格、行高和宽度等方面,…

【C++】模板进阶:非类型模板参数模板的特化模板分离编译

文章目录 1. 非类型模板参数2. 模板的特化1. 概念2. 函数模板特化3.类模板特化 3. 模板分离编译4. 模板总结 在之前的博客中我们初次接触到了泛型编程和模板的概念 【C】模板初阶,当时只讲了一些基本的用法,现在做一些补充 1. 非类型模板参数 模板参数…

js判断是否为null,undefined,NaN,空串或者空对象

js判断是否为null,undefined,NaN,空串或者空对象 这里写目录标题 js判断是否为null,undefined,NaN,空串或者空对象特殊值nullundefinedNaN空字符串("")空对象(…

【Linux】4. 开发工具的使用(yum/vim)

前言 工具的本质就是指令 在介绍工具之前先介绍一下互联网生态 Linux 软件包管理器 yum 1. 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以…

【算法】一文彻底搞懂ZAB算法

文章目录 什么是ZAB 算法?深入ZAB算法1. 消息广播两阶段提交ZAB消息广播过程 2. 崩溃恢复选举参数选举流程 ZAB算法需要解决的两大问题1. 已经被处理的消息不能丢2. 被丢弃的消息不能再次出现 最近需要设计一个分布式系统,需要一个中间件来存储共享的信息…

手把手教你开发第一个HarmonyOS (鸿蒙)移动应用

⼀、移动应⽤开发的介绍 移动应⽤开发: AndroidIOSHarmonyOS (鸿蒙) ⼆、HarmonyOS介绍 文档概览-HarmonyOS应用开发官网 2.1 系统的定义 2.1.1 系统的定位 HarmonyOS有三⼤特征: 搭载该操作系统的设备在系统层⾯融为⼀体、形成超级终…

常见元件、封装、尺寸、表面处理等

参考:https://www.bilibili.com/read/cv11024927?fromsearch&spm_id_from333.337.0.0 参考:https://www.bilibili.com/read/cv18413169?fromsearch&spm_id_from333.337.0.0 目录 通孔插件(THT)和表面贴装(SMT)技术封装类型SOP/SOIC封装DIP封装…

实战打靶集锦-018-decoy

提示:本文记录了博主的一次打靶过程 目录 1. 主机发现2. 端口扫描3. 服务枚举4. 服务探查4.1 浏览器探查 5. 突破边界6. 提权6.1 rbash绕过6.2 枚举系统信息6.3 枚举定时任务6.4 枚举可执行文件 7. 获取flag 1. 主机发现 目前只知道目标靶机在65.xx网段&#xff0c…

thinkphp6数据库操作

文章目录 数据库链接 查询构造器查询 添加修改删除链式操作链式操作wheretablefieldpageodrderjoincache 聚合查询分页查询 数据库 链接 在config下有个database.php文件,一般情况下我们配置这个文件即可 return [default > mysql,connections > …

学习记录:2023.4.27

2023.4.27 实习学习记录 Vue连接远程数据库Java基础 Vue cursor: pointer; 表示鼠标指针在该元素上时会变成手形,表示该元素可以被点击或者有交互性。这是一种CSS样式属性,常用于网页设计中。VueECharts实现热词图: 1、安装依赖:…

Linux命令集(Linux常用命令--cat指令篇)

Linux命令集(Linux常用命令--cat指令篇) Linux常用命令集(cat指令篇)4.cat(concatenate)1. 查看文件内容:2. 连接多个文件:3. 创建文件并通过终端写入内容4. 输出内容编号 Linux常用命令集(cat指…

操作系统概述

概述 一、简单描述 1、系统资源的管理者; 2、最接近硬件的一层软件; 3、向上层提供方便容易使用的服务; 二、提供的功能 1、处理机管理; 2、储存器管理; 3、文件管理; 4、设备管理; 举例说明…

Redis学习——day01

Redis学习基础 Nosql:Redis入门:Redis安装:Windows:Linux安装: Nosql: Nosql Not Only Sql(不仅仅Sql)NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起&#…