2026a
# dsigmf
两个 S 型隶属度函数的差值
函数库:TyFuzzyLogic
# 语法
y = dsigmf(x,params)
# 说明
该函数通过计算两个 S 型(sigmoidal)隶属度函数的差值来得到模糊隶属度值。你也可以使用 fismf 对象计算该隶属度函数,更多信息请参阅《fismf 对象》(fismf Object)。
此隶属度函数与 sigmf(单 S 型函数)和 psigmf(两个 S 型函数的乘积)隶属度函数相关。
y = dsigmf(x,params) 返回通过两个 S 型隶属度函数差值计算得到的模糊隶属度值。每个 S 型函数的表达式为:
需将 params 指定为向量 [a1 c1 a2 c2] 来定义隶属度函数的参数,其中:
函数会为 x 中的每个输入值计算对应的隶属度值。
# 示例
计算两个 S 型函数的差值
指定论域内的输入值。
using TyFuzzyLogic
using TyPlot
x = 0:0.1:10;
计算输入值对应的隶属度函数值。
y = dsigmf(x,[5 2 5 7]);
绘制隶属度函数曲线。
plot(x,y)
title("dsigmf, P = [5 2 5 7]")
xlabel("x")
ylabel("Degree of Membership")
ylim([-0.05 1.05])

# 输入参数
x - 输入值标量 | 向量
需要计算隶属度值的输入值,指定为标量或向量。
params - 隶属度函数参数长度为4的向量
隶属度函数参数,指定为向量 [a_{1} c_{1} a_{2} c_{2}]:
- a_{1}、c_{1}:第一个 S 型函数的参数;
- a_{2}、c_{2}:第二个 S 型函数的参数。
对于每个 S 型函数:
- 指定 a 为负值:函数向左张开;
- 指定 a 为正值:函数向右张开;
- a 的绝对值:定义过渡区域的宽度;
- 参数 c:定义过渡区域的中心位置。
若要定义最大值为 1 的单峰隶属度函数,需满足:a_{1} 和 a_{2} 符号相同;c_{1} 和 c_{2} 取值足够远,使两个过渡区域都能达到 1。
# 输出参数
y - 隶属度值标量 | 向量
返回的隶属度值,为标量或向量,维度与 x 完全一致。y 的每个元素对应 x 中相应元素的隶属度计算结果。
# 另请参阅
fismf | fismftype2 | psigmf | sigmf | gaussmf | gauss2mf | trimf | pimf