【MATLAB】模糊控制篇 常用隶属函数介绍和实现

2023-10-27

        在Matlab中已经开发出了11种隶属函数,让初学模糊控制的同学容易一头雾水,到底这些隶属函数有什么区别,实现的函数效果是怎么样的?在实际应该怎么选择呢?

matlab模糊控制器的隶属函数选择

Trimf 三角形隶属函数 Trapmf 梯形隶属函数
Gbellmf 广义钟形隶属函数 Gaussmf 高斯型隶属函数
Gauss2mf 联合高斯型隶属函数 Sigmf S形隶属函数
Dsigmf S形隶属函数 Psigmf S形乘积隶属函数
Pimf II型隶属函数 Smf S状隶属函数
Zmf Z形隶属函数

常用的6个隶属函数介绍和实现方式:

1)、高斯型隶属函数

格式:y=gaussmf(x,[ σc]) 

说明σ:指代正态分布的标准偏差 c:指代正态分布中的均值μ

例子:x = 0:0.1:10;

           y = gaussmf(x,[2 5]);

           plot(x,y)

           xlabel('gaussmf, P=[2 5]')

2)、广义钟型隶属函数

格式  y = gbellmf(x,[a,b,c])

说明:x指定变量定义域范围,参数b通常为正,参数c位于曲线中心

例子:x = 0:0.1:10;

          y = gbellmf(x,[2 4 6]);

          plot(x,y)

         xlabel('gbellmf, P=[2 4 6]')

(3)、S型隶属函数

格式:y = smf(x,[a b])    

说明:% x为变量,ab参数,用于定位曲线的斜坡部分。

例子x = 0:0.1:10;

           y = sigmf(x,[2 4]);

          plot(x,y)

          xlabel('sigmf, P=[2 4]')

4)梯形隶属函数

格式  y = trapmf(x,[a b c d]) 

定义域由向量x确定,曲线形状由参数a,b,c,d确定,参数ad对应梯形下部的左右两个拐点,参数bc对应梯形上部的左右两个拐点。

例子: x = 0:0.1:10;

            y = trapmf(x,[1 5 8 9]);

           plot(x,y)

         xlabel('trapmf, P=[1 5 8 9]')

5)三角形隶属函数

格式: y = trimf(x,[a b c])

说明:定义域由向量x确定,曲线形状由参数a,b,c确定,参数ac对应三角形下部的左右两个顶点,参数b对应三角形上部的顶点,这里要求a,生成的隶属函数总有一个统一的高度

例子:x = 0:0.1:10;

         y = trimf(x,[3 6 9]);

         plot(x,y)

         xlabel('trimf, P=[3 6 9]')

6Z形隶属函数

格式:  y = zmf(x,[a b])   

说明:% x为自变量,ab为参数,确定曲线的形状

例子:x = 0:0.1:10;

           y = zmf(x,[3 8]);

          plot(x,y)

          xlabel('zmf, P=[3 8]')

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【MATLAB】模糊控制篇 常用隶属函数介绍和实现 的相关文章

  • 在 MATLAB 中绘图后恢复轴

    从文本文件绘制多种方法的输出后 未显示轴的右侧和上侧 我需要拥有它们并将它们加粗 就像当前的轴一样 绘制的数据来自存储每种方法数据的文件 每个数据文件都是一个 256x2 文件 包含 0 1 之间的值 第一列是精度 第二列是召回率 figu
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • Mathworks 生成 Matlab HTML 文档的方法是什么?

    我正在开发共享的 Matlab 代码 我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享 我知道以下生成文档的方法 编写一个类似于 C 文件的转换器 这是在中完成的将 Doxygen 与 Matlab 结合使用 http ww
  • 绘制布朗运动 matlab

    首先 我只想说我不太习惯使用matlab 但我需要一个作业 我应该创建一个 布朗运动 我的代码目前如下所示 clf hold on prompt Ge ett input size input prompt numParticles inp
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • 拟合具有扭曲时基的正弦波

    我想知道在 Matlab 中拟合具有扭曲时基的正弦波的最佳方法 时间失真由 n 阶多项式 n 10 给出 其形式为t distort P t 例如 考虑失真t distort 8 12t 6t 2 t 3 这只是幂级数展开 t 2 3 这将
  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • MATLAB 子图标题和轴标签

    我有以下脚本来最终绘制 4 x 2 子图 files getAllFiles preliminaries n size files cases cell 1 n m cell 1 n for i 1 1 n S load files i c
  • 在 Matlab/Java 中将手部运动建模为 3D 曲线

    我只需要一些关于我遇到的问题 在哪里查看等的指导 我在我的一个项目中使用了运动跟踪手套 它返回每个手指和手掌的 X Y 和 Z 值 我想做的是首先根据这些坐标创建每个手指运动的表示 然后将它们每个附加到手掌的运动 以获得手的表示 一旦我完成
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • Matlab:如何读取以逗号作为小数分隔符的数字?

    我有很多 数十万 相当大 gt 0 5MB 的文件 其中数据是数字 但以逗号作为小数分隔符 使用像这样的外部工具对我来说是不切实际的sed s g 当分隔符是点时 我只使用textscan fid f f f 但我看不到更改小数点分隔符的选
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • MATLAB - 从目录读取文件?

    我希望从目录中读取文件并对每个文件迭代执行操作 此操作不需要更改文件 我知道我应该为此使用 for 循环 到目前为止我已经尝试过 FILES ls path to folder for i 1 size FILES 1 STRU pdbre
  • matlab中简单正弦波的傅里叶变换

    我尝试显示简单正弦波的频谱 因为我们知道具有固定频率的单个正弦波必须在其频谱中出现峰值我编写了这段代码 但我无法得到这个峰值我的代码中有什么问题 clc nsteps 200 number of signal elements in tim
  • matlab 中的 for 或 while 循环

    我刚刚开始在编程课的 matlab 中使用 for 循环 基本的东西对我来说很好 但是我被要求 使用循环创建一个 3 x 5 矩阵 其中每个元素的值是其行号其列号除以行号和列号之和的幂 例如元素 2 3 的值为 2 3 2 3 1 6 那么
  • Matlab 的 fftn 在多线程下变得更慢?

    我可以访问 12 核机器和一些严重依赖 fftn 的 matlab 代码 我想加快我的代码速度 由于 fft 可以并行化 我认为更多的内核会有所帮助 但我看到的恰恰相反 这是一个例子 X peaks 1028 ncores feature
  • MATLAB 中的内存映射文件?

    我决定使用 memmapfile 因为我的数据 通常为 30Gb 到 60Gb 太大 无法放入计算机内存中 我的数据文件由两列数据组成 对应于两个传感器的输出 并且它们采用 bin 和 txt 格式 m memmapfile G E Str
  • 如何使用 MATLAB 的“等值面”函数创建三角球体

    如何创建一个三角球体 其中每个三角形的面面积相同 我想要这样的东西 http imageshack us a img198 5041 71183923 png http imageshack us a img198 5041 7118392
  • 在 Matlab 中将绘图从高斯混合变换为均匀分布

    考虑以下抽签2x1Matlab 中的向量 其概率分布是两个高斯分量的混合 P 10 3 number draws v 1 First component mu a 0 0 5 sigma a v 0 0 v Second component

随机推荐

  • java季度时间获取工具类

    1 获取当前季度 第一天或最后一天 获取季度 第一天或最后一天 param quarters 0本季度 1下季度 1上季度 以此类推 param isFirst true获取开始时间 false获取结束时间 return java lang
  • 数据可视化:地图使用案例

    推荐技术栈 amap g2 amap L7 mapbox deck gl echarts gl 地理相关库 amapmapboxLeafletCesiumdeck glg2 map类turfjs 工具 http geojson io map
  • linux如何输入命令,linux中的命令如何输入

    1 linux中的命令如何输入 方法是多动手 动脑 学习时要经常与Windows进行对比 建议你先安装RedHat Linux 然后练习如何配置它 如何使用Linux命令 如何在X WINDOWS下操作 如何在Linux下安装应用软件 如何
  • 笔记本电池信息查询与电池更换

    文章目录 前言 电池信息查询 电池购买与更换 前言 笔记本用时间长了电池肯定会挂掉 变成了只能插着电使用的台式机 这种情况下如果不想更换电脑的话只要买个新电池换上就行 而且笔记本换电池也不麻烦 这篇文章将介绍下相关内容 电池信息查询 Win
  • Flask后端笔记(五)图书小例、数据库迁移、邮件扩展、蓝图

    Flask后端笔记 图书小例 数据库迁移 创建迁移仓库 创建迁移脚本 更新数据库 回退数据库 Flask Mail 不使用蓝图划分模块 循环导入问题 解决方法一 解决方法二 蓝图Blueprint 为什么学习蓝图 什么是蓝图 蓝图的运行机制
  • 分页按钮。

  • 颠倒字节数组顺序,然后加上51,输出十六进制字符串

    public static String byteTostring byte bytes 颠倒顺序 for int i 0 i lt bytes length 2 i byte temp bytes i bytes i bytes byte
  • 字节跳动前端实习生一面总结与反思

    一面采用了视频面试 面试过程如下 重点是考官出题 环节 一 自我介绍 二 考官出题 1 CSS样式 2 算法题 3 延迟问题 4 Event Loop JS事件循环机制 5 变量提升 作用域 6 CSS样式 7 算法题 8 算法题 三 项目
  • windows开启Hyper-V虚拟化功能并创建虚拟机

    Hyper V是微软Windows 10 自带的一款虚拟化产品 可以在windows10系统上创建虚拟机 Windows 11也自带Hyper V 以下是在Windows 11上开启的流程 进入BIOS开启序列化 笔者是华硕的主板 开机时狂
  • STM32 特殊引脚作为普通IO口使用的问题

    开发平台 Keil5 硬件平台 STM32F103RCT6 之前有有弄过的东西 因为没有记录忘记了 所以还得重新找资料寻找答案 所以说 博客还是得写啊 不然搞过的东西 又得重新再来一遍 1 OSC IN 引脚接有源晶振 OSC OUT 做普
  • 集线器、交换机、路由器、网桥、网关之间的区别

    集线器 HUB 集线器就是将网线集中到一起的机器 也就是多台主机和设备的连接器 集线器的主要功能以扩大网络的传输距离 是中继器的一种形式 区别在于集线器能够提供多端口服务 也称为多口中继器 集线器在OSI RM中的物理层 集线器的基本功能是
  • Ubuntu20.04搭建ftp服务(亲测通过)

    安装 sudo apt get install vsftpd 设置开机启动并启动ftp服务 systemctl enable vsftpd systemctl start vsftpd 启动 查看其运行状态 systemctl status
  • oracle insert into select 大数据量_Oracle的批量插入操作

    MySQL中支持一条SQL语句执行批量插入 Oracle中支持的形式有些不同 但是殊途同归 用的就是insert all into语法 创建测试表 SQL gt create table a1 id number a varchar2 1
  • 苹果手机怎么升级鸿蒙系统,鸿蒙2.0首个升级版本 与苹果的iOS14.3的安装包相当...

    华为如果失去了自研芯片 与国内其他手机厂商就没有区别了吗 并不是这样 与其他手机厂商完全依赖国外资源 仅仅只是组装零件不同 华为在没有自研芯片后 还有自研的鸿蒙系统 在去年年底华为就发布了鸿蒙2 0系统的测试版本 允许开发者自行申请进行测试
  • 时间序列概念及主要模型(白噪声,AR, MA, ARMA, ARIMA)

    时间序列分析 时间序列是按照时间顺序 按照一定时间间隔取得的一系列观测值 怎样做时间序列分析 时间序列分析尝试找出序列值在过去呈现的特征模式 假定这种模式在未来能够持续 进而对未来进行预测 时间序列基本特征 趋势性 序列相关性 随机性 时间
  • 老毛桃通过虚拟光驱安装Window10

    1 电脑插入老毛桃启动进入winPE 2 点击 开始 所有程序 磁盘管理 虚拟磁盘驱动器 2 打开后点击挂载 选择映像文件 即U盘里面的iso文件 右下角选择只读媒体 点击确定 关闭窗口 3 点击 开始 所有程序 安装维护 WinNTSet
  • Keil 出现报错:undefined symbol

    这个问题的意思是出现未定义的符号 主要有下面两种解决方式 目录 c文件没有添加进路径 工程文件没有添加 c文件没有添加进路径 出现这个问题首先看一下是不是 c文件没有添加进路径 我们写好了 c文件之后 保存在文件夹里 还需要文件夹里的 c文
  • 支付全流程的测试

    聚合支付与微信和支付宝区别与联系 聚合支付 支付宝和微信扫同一个二维码都可以支付 支持多种支付方式 聚合支付是与多方合作的平台 支付宝 微信 京东 有合作关系 支付宝 微信 京东 为第三方持牌照 支付牌照 机构 为什么要使用聚合支付方式 统
  • 学习FPGA之四:FPGA开发方法

    FPGA是一个很特殊的芯片 可能在2个月前 我还对它一无所知 我们熟知的芯片都是CPU GPU 或者知道ASIC的概念 但实际上 FPGA已经走过了30个年头 它目前已经成为一个包含各种先进电路 逻辑单元 接口 芯片封装 制造等技术的 集大
  • 【MATLAB】模糊控制篇 常用隶属函数介绍和实现

    在Matlab中已经开发出了11种隶属函数 让初学模糊控制的同学容易一头雾水 到底这些隶属函数有什么区别 实现的函数效果是怎么样的 在实际应该怎么选择呢 matlab模糊控制器的隶属函数选择 Trimf 三角形隶属函数 Trapmf 梯形隶