2026a

# fismf


一型模糊隶属度函数

函数库:TyFuzzyLogic

# 描述

使用 fismf 对象表示一型模糊隶属度函数。在模糊推理系统(FIS)中,每个输入/输出变量的语言集合由一个或多个隶属度函数定义。有关隶属度函数的详细信息,请参阅《模糊逻辑基础》。

# 创建方式

# 语法

mf = fismf
mf = fismf(type,parameters)
mf = fismf(___,Name=name)

# 说明

mf = fismf 返回一个具有默认类型、参数和名称的一型模糊隶属度函数(MF)。要修改隶属度函数的属性,可使用点标记法。


mf = fismf(type,parameters) 指定隶属度函数的类型和参数。


mf = fismf(___,Name=name) 为上述两种语法创建的隶属度函数指定名称。

# 输入参数

type - 隶属度函数类型
"trimf"(默认值)| 字符串 | 字符向量 | 函数句柄

隶属度函数类型,指定为当前工作文件夹或 MLang 路径下的函数名称(字符串/字符向量),也可指定该函数的句柄。指定 type 时必须同时指定 parameters。

下表列出了 type 支持的取值:

隶属度函数类型 说明 参考文档
"gbellmf" 广义钟形隶属度函数 gbellmf
"gaussmf" 高斯型隶属度函数 gaussmf
"gauss2mf" 复合高斯型隶属度函数 addInput
"trimf" 三角形隶属度函数 trimf
"trapmf" 梯形隶属度函数 trapmf
"linsmf" 线性 S 型饱和隶属度函数(R2022a 起支持) linsmf
"linzmf" 线性 Z 型饱和隶属度函数(R2022a 起支持) linzmf
"sigmf" S 型隶属度函数 sigmf
"dsigmf" 双 S 型差值隶属度函数 dsigmf
"psigmf" 双 S 型乘积隶属度函数 psigmf
"zmf" Z 型隶属度函数 zmf
"pimf" Π 型隶属度函数 pimf
"smf" S 型隶属度函数 smf
"constant" Sugeno 输出隶属度函数专用的常数型隶属度函数 Sugeno Fuzzy Inference Systems
"linear" Sugeno 输出隶属度函数专用的线性隶属度函数 Sugeno Fuzzy Inference Systems
字符串/字符向量 当前工作文件夹或 MLang 路径下的自定义隶属度函数名称(Sugeno 系统不支持自定义输出隶属度函数) Build Fuzzy Systems Using Custom Functions
函数句柄 当前工作文件夹或 MLang 路径下的自定义隶属度函数句柄(Sugeno 系统不支持自定义输出隶属度函数) Build Fuzzy Systems Using Custom Functions

该参数用于设置 Type 属性。

parameters - 隶属度函数参数
[0 0.5 1](默认值)| 向量

隶属度函数参数,指定为向量,向量长度取决于隶属度函数类型。指定 parameters 时必须同时指定 type。

该参数用于设置 Parameters 属性。

隶属度函数名称,指定为字符串或字符向量。

该参数用于设置 Name 属性。

# 属性

Name - 隶属度函数名称
"mf"(默认值)| 字符串 | 字符向量

隶属度函数名称,指定为字符串或字符向量。

Type - 隶属度函数类型
"trimf"(默认值)| 字符串 | 字符向量 | 函数句柄

隶属度函数类型,指定为当前工作文件夹或 MATLAB 路径下的函数名称(字符串/字符向量),也可指定该函数的句柄。

下表描述了 Type 可指定的取值:

隶属度函数类型 说明 参考文档
"gbellmf" 广义钟形隶属度函数 gbellmf
"gaussmf" 高斯型隶属度函数 gaussmf
"gauss2mf" 复合高斯型隶属度函数 addInput
"trimf" 三角形隶属度函数 trimf
"trapmf" 梯形隶属度函数 trapmf
"linsmf" 线性 S 型饱和隶属度函数 linsmf
"linzmf" 线性 Z 型饱和隶属度函数 linzmf
"sigmf" S 型隶属度函数 sigmf
"dsigmf" 双 S 型差值隶属度函数 dsigmf
"psigmf" 双 S 型乘积隶属度函数 psigmf
"zmf" Z 型隶属度函数 zmf
"pimf" Π 型隶属度函数 pimf
"smf" S 型隶属度函数 smf
"constant" Sugeno 输出隶属度函数专用的常数型隶属度函数 Sugeno Fuzzy Inference Systems
"linear" Sugeno 输出隶属度函数专用的线性隶属度函数 Sugeno Fuzzy Inference Systems
字符串/字符向量 当前工作文件夹或 MLang 路径下的自定义隶属度函数名称(Sugeno 系统不支持自定义输出隶属度函数) Build Fuzzy Systems Using Custom Functions
函数句柄 当前工作文件夹或 MLang 路径下的自定义隶属度函数句柄(Sugeno 系统不支持自定义输出隶属度函数) Build Fuzzy Systems Using Custom Functions

提示

当你使用点标记法修改Type(隶属度函数类型)时,Parameters(参数)中的值会自动转换为适配新隶属度函数类型的格式。

Parameters - 隶属度函数参数
[0 0.5 1](默认值)| 向量

隶属度函数参数,指定为向量,向量长度取决于隶属度函数类型。

# 对象函数

函数名 简介
evalmf评估模糊隶属度函数

# 示例

创建隶属度函数
using TyFuzzyLogic
mf = fismf;

使用点标记法修改隶属度函数设置。例如,指定一个标准差为 2、均值为 10 的高斯型隶属度函数:

mf = fismf("gaussmf", [2.0, 10.0])

输出结果为:

FISMF("mf", :gaussmf, [2.0, 10.0])
创建指定参数的隶属度函数

创建一个带指定参数的梯形隶属度函数。

using TyFuzzyLogic
mf = fismf("trapmf",[10 15 20 25])

输出结果为:

FISMF("mf", :trapmf, [10.0, 15.0, 20.0, 25.0])
创建指定名称的隶属度函数

创建一个名为 "large" 的隶属度函数。

using TyFuzzyLogic
mf = fismf(Name="large")

输出结果为:

FISMF("large", :trimf, [0.0, 0.5, 1.0])

# 另请参阅

mamfis | sugfis | fisvar | fisrule