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

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

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

Trimf三角形隶属函数Trapmf梯形隶属函数
Gbellmf广义钟形隶属函数Gaussmf高斯型隶属函数
Gauss2mf联合高斯型隶属函数SigmfS形隶属函数
DsigmfS形隶属函数PsigmfS形乘积隶属函数
Pimf II型隶属函数SmfS状隶属函数
ZmfZ形隶属函数

常用的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]')

 

  • 35
    点赞
  • 315
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值