如何利用matlab将模糊逻辑转化为查询表

查表 模糊逻辑_如何利用matlab将模糊逻辑转化为查询表 本文借鉴以下文章matlab版本:matlab2010b第一步:利用matlab模糊控制工具箱设计模糊控制器。1、在matlab命令窗口中输入 fuzzy ,产生如下窗口。 2、确定模糊控制器结构,即根据具体的系统确定输入、输出量。这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。输入变量的添加通过 Edit -> Add Variable -> Inp... 阅读详情

本文借鉴以下文章

http://foundy.blog.163.com/blog/static/2633834420090212202156/

http://foundy.blog.163.com/blog/static/2633834420100150439615/

 

matlab版本:matlab2010b

第一步:利用matlab模糊控制工具箱设计模糊控制器。

1、在matlab命令窗口中输入 fuzzy ,产生如下窗口。

2、确定模糊控制器结构,即根据具体的系统确定输入、输出量。

这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。输入变量的添加通过 Edit -> Add Variable -> Input 实现。

3、语言值及隶属函数的确定。

首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZE,PS,PM,PB},并设置输入输出变量的论域,例如我们设置误差E、误差变化EC的论域为[-6 6],控制量U的论域为[-10 10];然后为模糊语言变量选取相应的隶属度函数。通过 Edit -> Membership Functions 打开隶属度函数编辑器,然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-6 6],添加隶属函数的个数为7。(注:隶属度函数编辑器初始时已为每个变量定义了3个隶属函数,再通过 Edit -> Add MFs 添加隶属函数时,个数选择4即可)

4、模糊控制规则的制定。

对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则。

5、解模糊。

模糊控制器的输出量是一个模糊集合,通过解模糊化方法判决出一个确切的精确量,解模糊化方法很多,我们这里选取重心法。

6、保存建立的模糊控制器。

File -> Export -> To File,文件名为 fuzzy_control。

第二步:建立Simulink模型。

1、在matlab命令窗口中输入simulink,产生如下窗口。

2、新建模糊控制器模型,样式如下。

3、在matlab命令窗口下输入 fuzzy = readfis('fuzzy_control') ,将之前建立的模糊控制器加载到工作空间,并将Fuzzy Logic Contrtoller的参数设置为fuzzy。

4、保存该模型,命名为 fuzzy_model

第三步:系统测试界面的设置。

1、通过 Tools -> System Test -> Launch System Test 进入系统测试界面。

2、添加测试模型。

鼠标选中Main Test ,菜单栏 Insert -> Test Element -> Simulink ,选择第二步中建立的模型 fuzzy_model 。

3、变量定义。

在Test Vectors 项里定义两个测试向量,变量名分别为 input1、input2,input1 = [-6:1:6], input2 = [-6:1:6];在Test Variables 里定义测试变量,变量名为output。

4、变量映射。

把测试向量input1、input2分别映射到模糊控制器的输入口 in1、in2,做为输入测试信号。把测试变量 output 映射到模糊控制器输出口out1。设置后的界面如下:

输入测试向量到模糊模型输入口映射:

 

模糊控制器输出保存映射:

5、测试数据保存。

在测试界面点Save Results项,设置如下:

6、运行测试,注意在Main Test(169 Iterations)(169次迭代,运算代价),等待测试结束。

第四步:模糊控制查询表的生成

1、系统测试结果保存在 stresults.ResultsDataSet.output 中,为169*1 cell的单元数组。(注:单元cell为 [n*1 double] 结构,表示系统被测试了n次)。

2、在matlab命令窗口下输入 test_data = stresults.ResultsDataSet.output ,将测试结果另存在变量 test_data 中。

3、测试结果格式转换。

由于所建的二维查询表为13行13列,所需的数据应该为13*13 double数组,但因为test_data为 169*1 cell 的单元数组,无法直接作为表格数据输入,因此需先进行格式转换。

在matlab命令窗口下输入 table_data = Cell2Array( test_data ,  1 , 13 , 13 ) ,调用Cell2Array函数,取每个单元数组中的第一行元素,即第一次测试数据,返回结果保存在 table_data 中。

源码如下:

 

4、新建二维查询表模型,样式如下:

5、点开二维查询表进行如下设置:

6、点 Edit 按钮,即可查看所生成的表格。 

MATLAB中模糊控制的表格生成方法 为了使生成嵌入式代码提高运行效率,将MATLAB中的模糊控制逻辑生成表格的形式,通过查表获得模糊输出值。 立即下载

相关推荐

用matlab求模糊查询表

用matlab求模糊查询表,简单异易懂,大大简化了求查询表的工作量

用MATLAB生成模糊控制离线查询表

以双输入—单输出系统为例,计算模糊控制器的查询表。假设控制器输入为误差e和误差变化率ec,输出为控制量u,其基本论域分别为[emin,emax],[ecmin,ecmax],[umin,umax],对应的语言变量E、EC和U的论域为{-6,-5,…,5,6},E、EC和U都选7个语言值{NB,NM,NS,Z,PS,PM,PB},各语言值的隶属函数采用三角函数。如果在模糊集合的论域上,有多个点u的隶属度都取最大值,可取这些点中坐标绝对值最大的点ulom作为模糊集合的代表点,这个方法称为最大隶属度最大值法。

w18478272407的博客 2209

模糊控制查询表matlab程序

在模糊控制中,离线计算得到查询表的matlab代码,已验证正确!

matlab的详细使用方法

matlab;使用方法;简要函数

Mr_Ren0722的博客 1万+

ai数字人系统部署

这段代码实现了基本的语音交互闭环,用户通过语音输入问题,数字人识别语音后进行自然语言理解并生成回复,再将回复转换为语音输出。但实际应用中的 AI 数字人系统更为复杂,如形象渲染需专业图形引擎(如 Unity、Unreal Engine),自然语言处理也会涉及更复杂的模型微调及多轮对话管理等。一个完整的 AI 数字人系统涵盖形象生成、自然语言处理、动作控制等多个复杂功能,下面为你提供一个 Python 示例,整合多个库来实现数字人基础功能,包括语音交互、简单的自然语言理解以及通过虚拟形象展示对话。

weixin_ggwwsscc的博客 370

对称加密中GCM和CBC俩种加密模式的区别

**CBC(Cipher Block Chaining)** 和 **GCM(Galois/Counter Mode)** 是两种常见的对称加密模式。它们的主要区别体现在加密方式、性能和安全性上。

闲人 1109

matlab离线查询表,使用MATLAB生成模糊控制的离线查询表

1.打开模糊控制工具箱,编辑输入输出变量的隶属度函数和模糊控制规则,如下图所示,导出为fuzzy_control.fis文件。2.打开Simulink模块,建立下图所示的系统框图,两输入,一输出,处理模块是Fuzzy Logic Controller with Ruleviewer(或者Fuzzy Logic Controller)。3.在MATLAB窗口命令下输入fuzzy=readfis(‘f...

weixin_29446529的博客 1157

瑞芯微RK3568与RK3566芯片选型指南:从接口差异到应用场景深度解析

在嵌入式系统与边缘计算领域,芯片选型是决定产品成败的关键一步。其核心在于理解芯片的架构、接口扩展能力与系统可靠性之间的平衡。以瑞芯微(Rockchip)的RK3568和RK3566为例,这两款同为四核A55架构的芯片,在基础算力上相近,但其面向的应用赛道却因接口配置而截然不同。RK3568凭借其双千兆网口、PCIe 3.0高速接口以及全链路ECC内存支持,在技术价值上更侧重于构建高可靠、高扩展性的系统,如边缘计算网关、工业控制器和网络视频录像机(NVR)。相比之下,RK3566则以其精简的接口配置,精准服务

weixin_33314040的博客 480

MATLAB 之 基本概述

MATLAB 的主要功能,操作界面和基本操作。

每天进步一点点! 1万+

AWR射频仿真基本操作(一)

这里只讲述一个基本的操作: 软件是AWR 14版本

钢丝 2万+

Windows下Python安装geopandas全攻略:解决GDAL依赖问题的5个关键步骤

本文详细解析了在Windows系统下安装Python地理空间分析库geopandas时,如何有效解决其核心依赖GDAL的编译难题。文章提供了五个关键步骤,包括理解依赖关系、获取预编译wheel文件、顺序安装及环境验证,旨在帮助用户绕过复杂的C++编译环境,顺利完成geopandas的安装部署。

weixin_28221501的博客 285

matlab里的rulelist,Matlab 的 Fuzzy 工具箱实现模糊控制(rulelist的确定)

引用如何在MATLAB下把模糊推理系统转化为查询表(原创) Matlab 2009-12-26 22:05:01 阅读161 评论0 字号:大中小订阅引用foundy的如何在MATLAB下把模糊推理系统转化为查询表(原创)李会先摘要:该文论述了将MATLAB下调试成功的模糊逻辑转换为查询表的一种技巧,这种技巧不直接使用MATLAB的矩阵计算方法,操作者多数情况下只需点击鼠标就可完成任务,效率比较高...

weixin_33805938的博客 1116

手把手教你设计MTBF加速寿命试验:从阿伦尼斯模型到卡方计算(含Excel模板)

本文详细介绍了如何设计MTBF加速寿命试验,从阿伦尼斯模型到卡方计算,帮助工程师在合理时间内获得准确的MTBF数据。通过工业电源模块的实例演示,涵盖活化能确定、温度应力设计、样本量计算及数据记录规范,并提供Excel模板实现自动化计算,显著提升测试效率。

weixin_42563415的博客 545

MATLAB中模糊控制的表格生成方法:高效代码优化的利器

MATLAB中模糊控制的表格生成方法:高效代码优化的利器 去发现同类优质开源项目:https://gitcode.com/ 在MATLAB中实现模糊控制逻辑,一直是嵌入式系统设计的重要环节。本项目——MATLAB中模糊控制的表格生成方法,提供了一个创新思路,将模糊控制逻辑转化为表格形式,以提升代码执行效率。下面,我们来详细了解一下这个项目的核心功能、技术优势及其应用场景。 项目介绍 本项目旨在解决...

gitblog_06735的博客 344

手把手拆解UCIe协议层:从Raw Mode到Flit Mode,数据包到底经历了什么?

本文深入解析UCIe协议层的数据包处理机制,从Raw Mode到Flit Mode的三大变体(Standard 256B、68B-Enhanced、Latency-Optimized),详细揭示数据包在不同模式下的封装与转换过程。通过工程师视角,展示协议层如何实现多模式动态切换、错误恢复及与D2D Adapter的协同设计,为芯片级互连技术提供实践指导。

weixin_28728495的博客 239

发那科 Fanuc PLC 报文通讯,报文解析。附源程序

发那科 Fanuc PLC 报文通讯,最详细的发那科 PLC报文解析,不再局限在官方提供的库,也不用再局限在windows平台。

ITOfDragon的博客 1748

MATLAB模糊逻辑工具箱实战:从规则设计到Simulink集成全流程解析

本文详细解析了使用MATLAB模糊逻辑工具箱进行模糊控制器设计的全流程。从模糊推理系统的规则设计、隶属度函数配置,到最终与Simulink集成并进行动态仿真,提供了从理论到实践的完整指南。文章还探讨了性能调优、生成查询表以用于嵌入式部署等进阶技巧,帮助工程师高效实现智能控制算法。

lake5的博客 1104

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

新版本matlab将模糊PID规则表导出离线查询表

为了将仿真的模糊PID规则应用到硬件现实中去,需要把模糊PID规则表导出为离线查询表的模式,在这篇文章里我给出来2016a版本后的matlab/Simulink完成模糊规则转化成离线查询表的具体操作。

HIPIPI的博客 1648

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

从零开始:用MATLAB/Simulink构建你的第一个模糊逻辑控制器

本文详细介绍了如何在MATLAB/Simulink环境中从零开始构建模糊逻辑控制器。通过讲解模糊控制基础、MATLAB工具箱使用、模糊推理系统构建以及Simulink集成实现,帮助读者掌握这一强大的控制技术,特别适合处理复杂系统中的不确定性问题。

alice7model的博客 841

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: Matlab2013a许可证过期问题,反复提示激活
下一篇: Simulink中lookup-Table的使用
小白study
博客等级 码龄12年 659粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值