![智能控制:理论基础、算法设计与应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/210/31476210/b_31476210.jpg)
2.3 隶属函数
2.3.1 隶属函数的特点
普通集合用特征函数来表示,模糊集合用隶属函数来描述。隶属函数很好地描述了事物的模糊性。隶属函数有以下两个特点。
(1)隶属函数的值域为[0,1],它将普通集合只能取0,1两个值,推广到[0,1]闭区间上连续取值。隶属函数的值μA(x)越接近于1,表示元素x属于模糊集合A的程度越大。反之,μA(x)越接近于0,表示元素x属于模糊集合A的程度越小。
(2)隶属函数完全刻画了模糊集合,隶属函数是模糊数学的基本概念,不同的隶属函数所描述的模糊集合也不同。
2.3.2 几种典型的隶属函数及其MATLAB表示
典型的隶属函数有11种,即双S形隶属函数、联合高斯型隶属函数、高斯型隶属函数、广义钟形隶属函数、∏形隶属函数、双S形乘积隶属函数、S状隶属函数、S形隶属函数、梯形隶属函数、三角形隶属函数、Z形隶属函数。
在模糊控制中应用较多的隶属函数有以下6种。
(1)高斯型隶属函数。
高斯型隶属函数由两个参数σ和c确定
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P29_12247.jpg?sign=1739281038-Wm2hrk9TPMZsmvhfeeJNnmnKg7xhX6kS-0-57c3bc086b086c45c9cc4e0ea893fd30)
其中,参数b通常为正,参数c用于确定曲线的中心。MATLAB表示为gaussmf(x,[σ,c])。
(2)广义钟型隶属函数。
广义钟型隶属函数由3个参数a、b和c确定
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P30_12251.jpg?sign=1739281038-oWSFMTCx65JQus2x5Hts883BGMWK0o2m-0-f7ec92d19a62024d1207fd093b05f392)
其中,参数b通常为正,参数c用于确定曲线的中心。MATLAB表示为gbellmf(x,[a,b,c])。
(3)S形隶属函数。
S形函数sigmf(x,[a c])由参数a和c决定
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P30_12253.jpg?sign=1739281038-PTySyGYeDAjw1bPqDgyIFIGgaPPXhN83-0-7ecea4e30aae2db85ee154a0c3075909)
其中,参数a的正负符号决定了S形隶属函数的开口朝左或朝右,用来表示“正大”或“负大”的概念。MATLAB表示为sigmf(x,[a,c])。
(4)梯形隶属函数。
梯形曲线由4个参数a、b、c和d确定
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P30_12254.jpg?sign=1739281038-w0ey7NagEzbMVZF2G2WWFMFCPse73VDt-0-e3075c7a454e6ed8089fe4cfa103687a)
其中,参数a和d确定梯形的“脚”,参数b和c确定梯形的“肩膀”。MATLAB表示为trapmf(x,[a,b,c,d])。
(5)三角形隶属函数。
三角形曲线的形状由3个参数a、b和c确定
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P30_12255.jpg?sign=1739281038-9taOtUpV4cIeATGLbI85V7RjviLYfCrR-0-6e27ee98c66bc004f6746d000df398bb)
其中,参数a和c确定三角形的“脚”,参数b确定三角形的“峰”。MATLAB表示为trimf(x,[a,b,c])。
(6)Z形隶属函数。
这是基于样条函数的曲线,因其呈现Z形状而得名。参数a和b确定了曲线的形状。MATLAB表示为zmf(x,[a,b])。
例2.5 针对上述描述的6种隶属函数进行仿真。x∈[0,10],M为隶属函数的类型,其中M=1为高斯型隶属函数,M=2为广义钟形隶属函数,M=3为S形隶属函数,M=4为梯形隶属函数,M=5为三角形隶属函数,M=6为Z形隶属函数。
仿真程序见chap2_2.m,仿真结果如图2.2~图2.8所示。
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P31_1863.jpg?sign=1739281038-EVoo7xaBmpVPGiyhJgeSrozMxw469xq4-0-b09eabf8fa92bf86b7a49058045f64fc)
图2.2 高斯型隶属函数(M=1)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1868.jpg?sign=1739281038-J6cCnKCXx9HlKSBKC71suy6b4MIh1rF1-0-068c6f9ad51ee0cf9c718af2ca95b7c0)
图2.3 广义钟形隶属函数(M=2)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1871.jpg?sign=1739281038-wkvULbKZJIwot9dUe4M5dMt92mqdnpvp-0-82e11791732640471453f616b36b4b4f)
图2.4 S形隶属函数(M=3)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1874.jpg?sign=1739281038-q8tHzG0oBLckvxLQsBRQFRgCwnw9XoKU-0-49a3df415120ff33e049a1e88ca9b9bb)
图2.5 梯形隶属函数(M=4)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1881.jpg?sign=1739281038-bqCXepPUt3M7YNYW14qQ9APIhjFeOsII-0-c28423c5fde98b544070c9ce46e10785)
图2.6 三角形隶属函数(M=5)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1884.jpg?sign=1739281038-sLz3w3lEGh1r9VGryFGNJ8uAq6vep4lS-0-508b9dd683815e08e8019d2d82ed2089)
图2.7 Z形隶属函数(M=6)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1887.jpg?sign=1739281038-esXeDTYzCPd9GHaEHjfRI2cs5YsKR1K7-0-4040357d8d8d3827314bd9f6e1253fd3)
图2.8 三角形隶属函数
仿真程序:chap2_2.m
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P31_1862.jpg?sign=1739281038-GG4hTKc6n9uOfueBGx5aqizkgffZV2yE-0-3b8bb939c940644c49f880e96cb98bcb)
2.3.3 模糊系统的设计
根据参数的变化范围,通过设定模糊集和隶属函数来进行参数的模糊化。针对变量x,变化范围为[-3,3],设定3个模糊集(负、零、正),采用三角形隶属函数进行模糊化,可建立一个模糊系统,该模糊系统设计程序见chap2_3.m,仿真结果如图2.8所示。
同理,针对变量x,变化范围为[-3,3],设定七个模糊集(负大,负中,负小,零,正小,正中,正大),采用三角形隶属函数进行模糊化,可建立一个模糊系统,该模糊系统设计程序见chap2_3.m,仿真结果如图2.9所示。
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P34_1897.jpg?sign=1739281038-EjjngoJZ2z0mABeASlRW1e18WO73i3fd-0-42e05aa2781bf579a5a07d0ed288b919)
图2.9 由三角形隶属函数构成的模糊系统
仿真程序:chap2_3.m
%Define N+1 triangle membership function clear all; close all; N=6; x=-3:0.01:3; for i=1:N+1 f(i)=-3+6/N*(i-1); end u=trimf(x,[f(1),f(1),f(2)]); figure(1); plot(x,u); for j=2:N u=trimf(x,[f(j-1),f(j),f(j+1)]); hold on; plot(x,u); end u=trimf(x,[f(N),f(N+1),f(N+1)]); hold on; plot(x,u); xlabel('x)'; ylabel('Degree of membership');
2.3.4 隶属函数的确定方法
隶属函数是模糊控制的应用基础。目前还没有成熟的方法来确定隶属函数,主要还停留在经验和实验的基础上。通常的方法是初步确定粗略的隶属函数,然后通过学习和实践来不断地调整和完善。遵照这一原则的隶属函数选择方法有以下几种。
(1)模糊统计法。
根据所提出的模糊概念进行调查统计,提出与之对应的模糊集A,通过统计实验,确定不同元素隶属于A的程度,即
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P35_12261.jpg?sign=1739281038-1sxJbNzUeJZmY376sugQ2uJcONS1jsVz-0-9aca74f40366ae8ba85456d0c551cd9a)
(2)主观经验法。
当论域为离散论域时,可根据主观认识,结合个人经验,经过分析和推理,直接给出隶属度,这种确定隶属函数的方法已经被广泛应用。
(3)神经网络法。
利用神经网络的学习功能,由神经网络自动生成隶属函数,并通过网络的学习自动调整隶属函数的值。