隶属函数在matlab中应用

上传人:n**** 文档编号:88914979 上传时间:2019-05-13 格式:PDF 页数:27 大小:214.99KB
返回 下载 相关 举报
隶属函数在matlab中应用_第1页
第1页 / 共27页
隶属函数在matlab中应用_第2页
第2页 / 共27页
隶属函数在matlab中应用_第3页
第3页 / 共27页
隶属函数在matlab中应用_第4页
第4页 / 共27页
隶属函数在matlab中应用_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《隶属函数在matlab中应用》由会员分享,可在线阅读,更多相关《隶属函数在matlab中应用(27页珍藏版)》请在金锄头文库上搜索。

1、第 6 章 模糊逻辑 201 第第 6 章章 模糊逻辑模糊逻辑 6.1 隶属函数隶属函数 6.1.1 高斯隶属函数高斯隶属函数 函数 gaussmf 格式 y=gaussmf(x,sig c) 说明 高斯隶属函数的数学表达式为: 2 2 2 )cx( e)c ,; x(f =,其中c ,为参数,x 为自变 量,sig 为数学表达式中的参数。 例 6-1 x=0:0.1:10; y=gaussmf(x,2 5); plot(x,y) xlabel(gaussmf, P=2 5) 结果为图 6-1。 0246810 0 0.2 0.4 0.6 0.8 1 gaussmf, P=2 5 图 6-1

2、6.1.2 两边型高斯隶属函数两边型高斯隶属函数 函数 gauss2mf 格式 y = gauss2mf(x,sig1 c1 sig2 c2) 说明 sig1、c1、sig2、c2 为命令 1 中数学表达式中的两对参数 例 6-2 x = (0:0.1:10); y1 = gauss2mf(x, 2 4 1 8); y2 = gauss2mf(x, 2 5 1 7); y3 = gauss2mf(x, 2 6 1 6); y4 = gauss2mf(x, 2 7 1 5); y5 = gauss2mf(x, 2 8 1 4); MATLAB6.0 数学手册 202 plot(x, y1 y2

3、y3 y4 y5); set(gcf, name, gauss2mf, numbertitle, off); 结果为图 6-2。 6.1.3 建立一般钟型隶属函数建立一般钟型隶属函数 函数 gbellmf 格式 y = gbellmf(x,params) 说明 一般钟型隶属函数依靠函数表达式 b2 | a cx |1 1 ) c, b, a;x( f + = 这里 x 指定变量定义域范围,参数 b 通常为正,参数 c 位于曲线中心,第二个参数变量 params 是一个各项分别为 a,b 和 c 的向量。 例 6-3 x=0:0.1:10; y=gbellmf(x,2 4 6); plot(x,

4、y) xlabel(gbellmf, P=2 4 6) 结果为图 6-3。 0246810 0 0.2 0.4 0.6 0.8 1 0246810 0 0.2 0.4 0.6 0.8 1 gbellmf, P=2 4 6 图 6-2 图 6-3 6.1.4 两个两个 sigmoid 型隶属函数之差组成的隶属函数型隶属函数之差组成的隶属函数 函数 dsigmf 格式 y = dsigmf(x,a1 c1 a2 c2) 说明 这里 sigmoid 型隶属函数由下式给出 ) cx(a e1 1 ) c, a;x( f + = x 是变量,a,c 是参数。dsigmf 使用四个参数 a1,c1,a2,

5、c2,并且是两个 sigmoid 型函 数之差:)c,a;x(f)c,a;x(f 222111 ,参数按顺序caca 2211 列出。 例 6-4 x=0:0.1:10; y=dsigmf(x,5 2 5 7); plot(x,y) 结果为图 6-4 第 6 章 模糊逻辑 203 0246810 0 0.2 0.4 0.6 0.8 1 图 6-4 6.1.5 通用隶属函数计算通用隶属函数计算 函数 evalmf 格式 y = evalmf(x, mfParams, mfType) 说明 evalmf 可以计算任意隶属函数,这里 x 是变量定义域,mfType 是工具箱提供的 一种隶属函数, m

6、fParams 是此隶属函数的相应参数, 如果你想创建自定义的隶属函数, evalmf 仍可以工作,因为它可以计算它不知道名字的任意隶属函数。 例 6-5 x=0:0.1:10; mfparams = 2 4 6; mftype = gbellmf; y=evalmf(x,mfparams,mftype); plot(x,y) xlabel(gbellmf, P=2 4 6) 结果为图 6-5。 0246810 0 0.2 0.4 0.6 0.8 1 gbellmf, P=2 4 6 图 6-5 6.1.6 建立型隶属函数建立型隶属函数 函数 primf 格式 y = pimf(x,a b c

7、 d) 说明 向量 x 指定函数自变量的定义域,该函数在向量 x 的指定点处进行计算,参数 a,b,c,d决定了函数的形状,a 和 d 分别对应曲线下部的左右两个拐点,b 和 c 分别对应曲线 上部的左右两个拐点。 例 6-6 MATLAB6.0 数学手册 204 x=0:0.1:10; y=pimf(x,1 4 5 10); plot(x,y) xlabel(pimf, P=1 4 5 10) 结果为图 6-6。 6.1.7 通过两个通过两个 sigmoid 型隶属函数的乘积构造隶属函数型隶属函数的乘积构造隶属函数 函数 psigmf 格式 y = psigmf(x,a1 c1 a2 c2)

8、 说明 这里 sigmoid 型隶属函数由下式给出 ) cx(a e1 1 ) c, a;x( f + = x 是变量,a,c 是参数。psigmf 使用四个参数 a1,c1,a2,c2,并且是两个 sigmoid 型函 数之积:)c,a;x(f)c,a;x(f 222111 ,参数按顺序caca 2211 列出。 例 6-7 x=0:0.1:10; y=psigmf(x,2 3 -5 8); plot(x,y) xlabel(psigmf, P=2 3 -5 8) 结果为图 6-7。 0246810 0 0.2 0.4 0.6 0.8 1 pimf, P=1 4 5 10 0246810 0

9、 0.2 0.4 0.6 0.8 1 psigmf, P=2 3 -5 8 图 6-6 图 6-7 6.1.8 建立建立 Sigmoid 型隶属函数型隶属函数 函数 sigmf 格式 y = sigmf(x,a c) 说明 ) cx(a e1 1 ) c, a;x( f + =,定义域由向量 x 给出,形状由参数 a 和 c 确定。 例 6-8 x=0:0.1:10; y=sigmf(x,2 4); plot(x,y) xlabel(sigmf, P=2 4) 结果为图 6-8。 第 6 章 模糊逻辑 205 012345678910 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

10、 0.8 0.9 1 sigmf, P=2 4 图 6-8 例 6-9 x = (0:0.2:10); y1 = sigmf(x,-1 5); y2 = sigmf(x,-3 5); y3 = sigmf(x,4 5); y4 = sigmf(x,8 5); subplot(2,1,1),plot(x,y1 y2 y3 y4); y1 = sigmf(x,5 2); y2 = sigmf(x,5 4); y3 = sigmf(x,5 6); y4 = sigmf(x,5 8); subplot(2,1,2),plot(x,y1 y2 y3 y4); 结果为图 6-9。 0246810 0 0.

11、5 1 0246810 0 0.5 1 图 6-9 6.1.9 建立建立 S 型隶属函数型隶属函数 函数 smf 格式 y = smf(x,a b) % x 为变量,a 为 b 参数,用于定位曲线的斜坡部分。 例 6-10 x=0:0.1:10; y=smf(x,1 8); plot(x,y) 结果为图 6-10。 MATLAB6.0 数学手册 206 0246810 0 0.2 0.4 0.6 0.8 1 smf, P=1 8 图 6-10 例 6-11 x = 0:0.1:10; subplot(3,1,1);plot(x,smf(x,2 8); subplot(3,1,2);plot(x

12、,smf(x,4 6); subplot(3,1,3);plot(x,smf(x,6 4); 结果为图 6-11。 012345678910 0 0.5 1 012345678910 0 0.5 1 012345678910 0 0.5 1 图 6-11 6.1.10 建立梯形隶属函数建立梯形隶属函数 函数 trapmf 格式 y = trapmf(x,a b c d) 说明 这里梯形隶属函数表达式: = xd0 dxc, cd xd cxb, 1 bxa, ab ax ax, 0 )d, c, b, a;x( f 或 f(x;a,b,c,d) = max(min()0), cd xd , 1

13、 , ab ax ,定义域由向量 x 确定,曲线形状由参数 a,b,c,d 确定,参数 a 和 d 对应梯形下部的左右两个拐点,参数 b 和 c 对应梯形上部的左右两 第 6 章 模糊逻辑 207 个拐点。 例 6-12 x=0:0.1:10; y=trapmf(x,1 5 7 8); plot(x,y) xlabel(trapmf, P=1 5 7 8) 结果为图 6-12。 例 6-13 x = (0:0.1:10); y1 = trapmf(x,2 3 7 9); y2 = trapmf(x,3 4 6 8); y3 = trapmf(x,4 5 5 7); y4 = trapmf(x,

14、5 6 4 6); plot(x,y1 y2 y3 y4); 结果为图 6-13。 012345678910 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 trapmf, P=1 5 7 80246810 0 0.2 0.4 0.6 0.8 1 图 6-12 图 6-13 6.1.11 建立三角形隶属函数建立三角形隶属函数 函数 trimf 格式 y = trimf(x,params) y = trimf(x,a b c) 说明 三角形隶属函数表达式: = xc0 cxb, bc xc bxa, ab ax ax, 0 ) , c, b, a;x( f 或者

15、f(x;a,b,c,) = max(min()0), bc xc , ab ax 定义域由向量 x 确定,曲线形状由参数 a,b,c 确定,参数 a 和 c 对应三角形下部的左右 两个顶点, 参数 b 对应三角形上部的顶点, 这里要求 acb ,生成的隶属函数总有一个统一 的高度,若想有一个高度小于统一高度的三角形隶属函数,则使用 trapmf 函数。 例 6-14 MATLAB6.0 数学手册 208 x=0:0.1:10; y=trimf(x,3 6 8); plot(x,y) xlabel(trimf, P=3 6 8) 结果为图 6-14。 012345678910 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 trimf, P=3 6 8 图 6-14 例 6-15 x = (0:0.2:10); y1 = trimf(x,3 4 5); y2 = trimf(x,2 4 7 )

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号