当前位置: 首页> 财经> 创投人物 > 厦门黄页_重庆建设工程信息网怎么录入备案_办公软件速成培训班_百度官网认证入口

厦门黄页_重庆建设工程信息网怎么录入备案_办公软件速成培训班_百度官网认证入口

时间:2025/7/9 13:20:45来源:https://blog.csdn.net/lzm12278828/article/details/146461397 浏览次数:2次
厦门黄页_重庆建设工程信息网怎么录入备案_办公软件速成培训班_百度官网认证入口

        我们前文已经深度解读了三角形、梯形、高斯、S型和Z型隶属函数,现在转向Pi型。当然我们先简要回顾不同隶属函数的特点和曲线效果。了解每种隶属函数的特性是为了更好的应用。

一、回顾五种隶属函数的特点

        1.从每种隶属函数的结构和特点角度对比。三角形隶属函数,结构简单,计算效率高,但可能不够平滑。梯形则扩展了三角形,有更宽的顶部,适用于更广的区间,但同样可能有突变的问题。高斯函数基于正态分布,平滑且对称,适合自然现象,但计算复杂一些。S型和Z型是互补的,S型递增,Z型递减,适合单边变化,但不能处理对称或多峰的情况。

        2.从优缺点角度对比。三角形需要提到简单高效,但不够灵活;梯形覆盖更广但不够平滑;高斯平滑但计算量大;S型适合单边但参数敏感;Z型类似但方向相反。以下是五种隶属函数优缺点的简单总结:

(1)三角形隶属函数

·优点:计算高效、简单直观,适合快速建模;

·缺点:隶属度变化不够平滑,无法描述宽泛区间。

详细内容可看我CSDN文章:https://lzm07.blog.csdn.net/article/details/146400949

(2)梯形隶属函数

·优点:支持更宽的隶属区间,灵活性略高于三角形;

·缺点:过渡区域仍有突变,不适用于自然渐变场景。

详细内容可看我CSDN文章:https://lzm07.blog.csdn.net/article/details/146400949

(3)高斯隶属函数

·优点:平滑对称,适合自然现象建模;

·缺点:计算复杂度较高,参数(标准差)物理意义不够直观。

详细内容可看我CSDN文章:https://lzm07.blog.csdn.net/article/details/146400949

(4)S型隶属函数

·优点:单边平滑递增,适合描述“高值”渐变;

·缺点:无法描述对称或多峰集合,参数调整敏感。

详细内容可看我CSDN文章:https://lzm07.blog.csdn.net/article/details/146439053

(5)Z型隶属函数

·优点:单边平滑递减,适合描述“低值”渐变;

·缺点:与S型类似,是S型的反向,无法覆盖对称逻辑,需结合其他函数使用。

详细内容可看我CSDN文章:https://lzm07.blog.csdn.net/article/details/146443321

        3.从如何选择适合的隶属函数角度对比。实时系统可能需要计算效率高的三角形或梯形,而需要平滑处理的情况可能用高斯或S/Z型。

        4.从参数调整的难易程度角度对比。三角形只能调整三个点,而梯形可以调整四个点。高斯函数的参数虽不如梯形直观,但通过标准差和均值调整比梯形灵活。S型Z型通过斜率和中心点调整,但需要处理正负参数,可能对新手不够直观。

二、对比五种隶属函数的图形

        接下来,对比三角形、梯形、高斯、S型和Z型隶属函数的图形,并将它们放在同一张图中展示,可以更直观的了解各隶属函数的不同。当然,由于这几种隶属函数的定义和参数不同,所以我们需要先确定每个函数的参数,三角形的a、b、c,梯形的a、b、c、d,高斯的中心和标准差,S型和Z型的斜率和中心点。为了图形美观,可能需要调整参数,使得各个函数在同一个x范围内(比如0到10)有部分重叠,便于比较。

        例如,设定x从0到10,三角形函数的参数是a=2, b=5, c=8,梯形是a=1, b=3, c=7, d=9,高斯中心在5,标准差1.5,S型中心在3,斜率2,Z型中心在7,斜率-2。这样各个函数在图形中分布合理,不会重叠太多,又能展示各自特点。

        以下是使用Python绘制三角形、梯形、高斯、S型和Z型隶属函数的综合图形代码,所有曲线在同一坐标系中展示:

import numpy as npimport matplotlib.pyplot as plt# ========================# 隶属函数定义# ========================def triangular_mf(x, a, b, c):"""三角形隶属函数"""return np.where(x <= a, 0,np.where(x <= b, (x - a)/(b - a),np.where(x <= c, (c - x)/(c - b), 0)))def trapezoidal_mf(x, a, b, c, d):"""梯形隶属函数"""return np.where(x <= a, 0,np.where(x <= b, (x - a)/(b - a),np.where(x <= c, 1,np.where(x <= d, (d - x)/(d - c), 0))))def gaussian_mf(x, center, sigma):"""高斯隶属函数"""return np.exp(-(x - center)**2 / (2 * sigma**2))def sigmoid_mf(x, slope, center):"""S型隶属函数"""return 1 / (1 + np.exp(-slope * (x - center)))def z_mf(x, slope, center):"""Z型隶属函数(S型的反向)"""return 1 - sigmoid_mf(x, slope, center)# ========================# 参数设置与计算# ========================x = np.linspace(0, 10, 1000)  # X轴范围# 参数配置tri_params = (2, 5, 8)           # 三角形参数 (a, b, c)trap_params = (1, 3, 7, 9)        # 梯形参数 (a, b, c, d)gauss_params = (5, 1.2)           # 高斯参数 (μ, σ)s_params = (2, 3)                 # S型参数 (k, x₀)z_params = (-2, 7)                # Z型参数 (k, x₀)# 计算所有隶属度y_tri = triangular_mf(x, *tri_params)y_trap = trapezoidal_mf(x, *trap_params)y_gauss = gaussian_mf(x, *gauss_params)y_s = sigmoid_mf(x, *s_params)y_z = z_mf(x, *z_params)# ========================# 可视化设置# ========================plt.figure(figsize=(10, 6), dpi=100)# 启用数学文本渲染plt.rcParams.update({"text.usetex": False,          # 不使用LaTeX(避免依赖)"mathtext.default": "regular", # 普通数学字体"font.family": "serif",        # 衬线字体"font.serif": ["Times New Roman"],"axes.unicode_minus": False    # 解决负号显示问题})# 绘制所有曲线(使用LaTeX语法)plt.plot(x, y_tri, lw=3,label=r'Triangular $(a=2,\ b=5,\ c=8)$')plt.plot(x, y_trap, lw=3,label=r'Trapezoidal $(a=1,\ b=3,\ c=7,\ d=9)$')plt.plot(x, y_gauss, lw=3,label=r'Gaussian $(\mu=5,\ \sigma=1.2)$')plt.plot(x, y_s, '--', lw=3,label=r'S-shaped $(k=2,\ x_0=3)$')plt.plot(x, y_z, ':', lw=3,label=r'Z-shaped $(k=-2,\ x_0=7)$')# 图形装饰plt.title('Membership Function Comparison', fontsize=14, pad=20)plt.xlabel(r'Input Value $(x)$', fontsize=12)plt.ylabel(r'Membership Degree $(\mu)$', fontsize=12)plt.legend(loc='upper right', framealpha=0.9)plt.grid(True, alpha=0.3)plt.xlim(0, 10)plt.ylim(-0.05, 1.05)# 添加辅助线plt.axhline(0, color='black', lw=0.5)plt.axhline(1, color='black', lw=0.5)plt.tight_layout()plt.show()

输出图形说明:

(1)实线:三角形(蓝色)、梯形(橙色)、高斯(绿色)

(2)虚线:S型(红色)

(3)点线:Z型(紫色)

参数设置特点:

(1)三角形(2,5,8):Triangular (a=2, b=5, c=8),展示标准对称三角形

(2)梯形(1,3,7,9):Trapezoidal (a=1, b=3, c=7, d=9),展示宽平台特性

(3)高斯(5,1.2):Gaussian (μ=5, σ=1.2),中心对称平滑曲线

(4)S型(斜率2, 中心3):S-shaped (k=2, x₀=3),左侧快速上升

(5)Z型(斜率-2, 中心7):Z-shaped (k=-2, x₀=7),右侧快速下降

三、Pi型隶属函数

        经以上对比分析,我们了解到每一种隶属函数都有优缺点。接下来学习Pi型隶属函数。

        Pi型隶属函数(Π-shaped Membership Function)是一种对称的隶属函数,其形状类似于希腊字母“Π”,中间区域隶属度为1,两侧通过S型或Z型函数平滑过渡到0。它常用于描述“中等范围”或“接近目标值”的模糊概念,例如“适中温度”或“正常风险”。

1. 数学定义

Pi型隶属函数通常由两个S型函数组合而成

·左侧:递增S型函数(从0到1)。

·右侧:递减Z型函数(从1到0)。

其数学表达式为:

其中:

S(x,a,c) 是S型函数:

c:中心点,隶属度为1的区间中心。

w:控制隶属度为1的区间宽度(半宽)。

a1 ,a2:分别控制左侧和右侧曲线的陡峭程度。

2. 特点

(1)对称性:关于中心点c 对称

(2)平滑过渡:两侧通过S型函数平滑下降到0

(3)灵活调整:w 控制中间平坦区域的宽度。a1 ,a2控制左右两侧的陡峭程度(|a|越大,过渡越陡峭)

(4)应用场景:适合描述对称且需要中间高隶属度的模糊集合。

3. 应用场景

(1)温度控制:定义“适中温度”区间。

(2)风险评估:描述“正常风险”范围。

(3)工业控制:设定设备运行的“理想转速区间”。

(4)图像处理:识别“中等亮度”像素。

4. Python实现与可视化

以下是生成Pi型隶属函数图的Python代码示例:

import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x, a, c):"""S型函数"""return 1 / (1 + np.exp(-a * (x - c)))def pi_shaped_mf(x, c, w, a_left, a_right):"""Pi型隶属函数"""left = sigmoid(x, a_left, c - w)right = 1 - sigmoid(x, a_right, c + w)return left * right# 定义参数c = 5.0    # 中心点w = 2.0    # 半宽(隶属度为1的区间为 [c - w, c + w])a_left = 3.0  # 左侧S型斜率a_right = 3.0  # 右侧Z型斜率# 生成输入值x = np.linspace(0, 10, 1000)# 计算隶属度y = [pi_shaped_mf(t, c, w, a_left, a_right) for t in x]# 绘制图形plt.figure(figsize=(8, 4))plt.plot(x, y, label=f'Π-shaped MF: c={c}, w={w}, a_left={a_left}, a_right={a_right}')plt.title('Π-shaped Membership Function')plt.xlabel('x')plt.ylabel('Membership Degree (μ)')plt.legend()plt.grid(True)plt.show()

 代码说明

(1)函数定义:

·sigmoid:实现S型函数,用于构建Pi型函数的左侧和右侧。

·pi_shaped_mf:通过左侧S型函数和右侧Z型函数的乘积生成Pi型隶属度。

(2)参数设置:

·c = 5.0:中心点,隶属度为1的区间中心为x=5。

·w = 2.0:半宽,隶属度为1的区间为[5-2,5+2]=[3,7]。

·a_left = 3.0和a_right = 3.0:控制左右两侧的陡峭程度。

(3)运行结果:

图形在x=3到x=7之间隶属度接近1,两侧平滑下降至0。

5. 参数调整示例

(1)调整半宽w:

w = 1.0  # 隶属度为1的区间变窄([4, 6])

中间高隶属度区域缩小,两侧过渡更快。

(2)调整斜率a:

a_left = 5.0  # 左侧更陡峭a_right = 1.0  # 右侧更平缓

左侧从0到1的过渡更陡,右侧从1到0的过渡更平缓。

6. 与高斯隶属函数的对比

特征

Pi型隶属函数

高斯隶属函数

数学形式

S型函数组合

指数函数

对称性

对称

对称

计算复杂度

中等(涉及多个指数运算)

中等(单指数运算)

参数意义

中心点c、半宽w、斜率a

中心点c、标准差σ

适用场景

需明确平坦区间的对称模糊集合

自然现象中的对称模糊集合

7. 优缺点分析

优点:明确控制中间平坦区间的宽度(w)。两侧过渡陡峭程度可独立调整(aleft,aright)。

缺点:计算复杂度略高于高斯函数。参数较多,调整需要更多经验。

8. 实际应用案例

案例:空调系统的“适中温度”控制

(1)输入变量:温度T(范围:10°C到30°C)。

(2)Pi型参数:c=20°C,w=5°C,aleft=aright=2.0。

(3)逻辑说明:

当温度在15°C 到25°C 之间时,隶属度为1(完全属于“适中温度”)。

温度低于15°C 或高于25°C 时,隶属度平滑下降。

9. 总结

        Pi型隶属函数通过组合S型和Z型函数,提供了对对称中间区域的灵活描述能力。它特别适用于需要明确平坦区间且两侧需平滑过渡的场景(如控制系统的“理想范围”)。通过调整参数c,w,a,可快速适配不同需求,是模糊逻辑工具箱中的重要组成部分。

关键字:厦门黄页_重庆建设工程信息网怎么录入备案_办公软件速成培训班_百度官网认证入口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: