![智能控制:理论基础、算法设计与应用](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=1738812252-05IObcpRl7GBr8Mb4p2mP3ksZdTXHdST-0-6f0ba56ba28448d18633c6ad41a45f83)
其中,参数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=1738812252-dQZT0WF4myt62qDYmIkvmoFCxd62dijn-0-fc2ca8faf37e819a253b293e46e6f31b)
其中,参数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=1738812252-4zyzLYT6tgP7ZusbHlqmQRV42HeqXYdw-0-4dcbf83e58124052fe59e1cf42f73169)
其中,参数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=1738812252-S6XIxaqZJsllR8E1AeK5A37pZlMzR6Te-0-ed1c43f8bd5a74162f3bccf292de05bf)
其中,参数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=1738812252-IZxu9b7WICq7Do1SgB0qaMcJWCbhZyie-0-da529ff3967dee56178c799ada40cd27)
其中,参数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=1738812252-SyLZuahflcho2m2QsxwuEZEVHKxx63oD-0-f921194aa64823dad6bc1b7b439cf79f)
图2.2 高斯型隶属函数(M=1)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1868.jpg?sign=1738812252-JEC1mNNBIcgFSVi7kkbZS3yHgoeVkuNq-0-5b33a2a090c26dc2d184a4ad05a7db2e)
图2.3 广义钟形隶属函数(M=2)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1871.jpg?sign=1738812252-eNAxZtj7NCBZQuM6Em8ozXX7vFSkwGRW-0-5b72061344c66216ab052a21213caa3d)
图2.4 S形隶属函数(M=3)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P32_1874.jpg?sign=1738812252-JQzC3vaObAgKKMs4wiYSjQ3j4SnNlSir-0-a4474630465094642a13bf82427e3923)
图2.5 梯形隶属函数(M=4)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1881.jpg?sign=1738812252-6jDmgY2b7MDn9ucGCaKFhEgLVpV6jMNi-0-744bc026ea3fe1f826d83af20d7329e9)
图2.6 三角形隶属函数(M=5)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1884.jpg?sign=1738812252-JoMnX2YmhG1rU7LcnT8JQlWlnyb1UoEk-0-f465dd1f5c260f37e8343fcb4ccf99fc)
图2.7 Z形隶属函数(M=6)
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P33_1887.jpg?sign=1738812252-iGAAc9Os2bN99FAKE8qgRbCMDvxvM6Di-0-79d5be9697b96dea1a7156f361de43a9)
图2.8 三角形隶属函数
仿真程序:chap2_2.m
![](https://epubservercos.yuewen.com/5343CC/17035792805330906/epubprivate/OEBPS/Images/Figure-P31_1862.jpg?sign=1738812252-PMROECsdwcYEXWprJkiY3oARcLWggggK-0-9cb3440d8eeed50609c509a297ee0581)
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=1738812252-boT3gPfrxYLLU3u4jD6iG9O4zBwRVrr3-0-df4fd674742cb6cf250d25674a0eaaa2)
图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=1738812252-PYed3lnwEG4p8ybgCnRRoOXnQ5h56AQK-0-6e89e08ec4531557b70132a1490151c3)
(2)主观经验法。
当论域为离散论域时,可根据主观认识,结合个人经验,经过分析和推理,直接给出隶属度,这种确定隶属函数的方法已经被广泛应用。
(3)神经网络法。
利用神经网络的学习功能,由神经网络自动生成隶属函数,并通过网络的学习自动调整隶属函数的值。