addMF
在模糊变量中加入隶属函数
语法
描述
例子
模糊推理系统中加入隶属函数
创建一个Mamdani模糊系统,添加三个输入变量和一个输出变量。对于本例,为第二个输入变量和输出变量指定相同的名称。
fis = mamfis;fis = addInput(fis,[0 80],“名称”,“速度”);fis = addInput(fis,[0 100],“名称”,“节流”);fis = addInput(fis,[0 10],“名称”,“距离”);fis = addOutput(fis,[0 100],“名称”,“节流”);
向第一个输入变量添加隶属函数,指定梯形隶属函数,并设置隶属函数参数。
fis = addMF (fis,“速度”,“trapmf”,[-5 0 10 30]);
在将成员添加到模糊系统时,还可以指定成员的名称。添加名为“高”
到第一个输入变量。
fis = addMF (fis,“速度”,“trapmf”,[50 70 80 85],“名字”,“高”);
查看第一个输入变量的成员函数。
plotmf (fis,“输入”, 1)
如果系统中有一个与输出变量同名的输入变量,则在添加成员函数时必须指定变量类型。例如,向输出变量添加成员关系函数。
fis = addMF (fis,“节流”,“trimf”, 20 40 [0],“VariableType”,“输出”);plotmf (fis,“输出”, 1)
或者,您可以向模糊系统添加一个默认的成员函数,并使用点表示法设置其参数。例如,为第三个输入变量添加并配置一个成员函数。
fis = addMF (fis,“距离”);fis.Inputs (3) .MembershipFunctions(1)。类型=“trapmf”;fis.Inputs (3) .MembershipFunctions(1)。参数= [-1 0 2 4];plotmf (fis,“输入”3)
2型模糊推理系统中加入隶属函数
创建二类Sugeno模糊系统,添加两个输入变量和一个输出变量。
fis = sugfistype2;fis = addInput(fis,[0 80],“名称”,“速度”);fis = addInput(fis,[0 10],“名称”,“距离”);fis = addOutput(fis,[0 100],“名称”,“制动”);
向第一个输入变量添加隶属函数,指定梯形隶属函数,并设置隶属函数参数。这个type-2成员函数使用默认的较低成员函数滞后和比例参数。
fis = addMF (fis,“速度”,“trapmf”,[-5 0 10 30]);
您还可以在添加type-2成员函数时指定低MF的配置。
fis = addMF (fis,“速度”,“trapmf”,[10 30 50 70],“LowerScale”, 0.8,“LowerLag”, 0.1);
在将隶属函数添加到模糊系统时,还可以指定隶属函数的名称。添加名为“高”
到第一个输入变量。
fis = addMF (fis,“速度”,“trapmf”,[50 70 80 85],“名字”,“高”);
查看第一个输入变量的成员函数。
plotmf (fis,“输入”, 1)
模糊变量中加入隶属函数
创建具有指定范围的模糊变量。
Var = fisvar([0 1]);
为变量添加隶属函数,指定梯形隶属函数,并设置隶属函数参数。
var = addMF (var,“trapmf”,[-0.5 0 0.2 0.4]);
还可以在将成员资格添加到模糊变量时指定成员资格的名称。例如,添加一个名为“大”
.
var = addMF (var,“trapmf”,[0.6 0.8 1 1.5],“名字”,“大”);
查看成员功能。
var.MembershipFunctions
ans = 1 x2 fismf数组属性:类型参数名称详细信息:名称类型参数 _______ ________ ____________________________ 1“mf1”“trapmf”-0.5 0 0.2 0.4 - 2“大”“trapmf”0.6 1.5 0.8 - 1
或者,您可以向模糊变量添加默认隶属函数,并使用点表示法设置其参数。
Var = fisvar([0 1]);var = addMF (var);var.MembershipFunctions(1)。类型=“trapmf”;var.MembershipFunctions(1)。参数= [-0.5 0 0.2 0.4];
模糊变量中加入二类隶属函数
创建具有指定范围的模糊变量。默认情况下,这个变量没有成员函数。
Var = fisvar([0 9]);
若要向没有现有成员函数的变量添加类型-2成员函数,请指定aLowerLag
或LowerScale
的值。例如,指定一个较低的比例值。
var = addMF (var,“trimf”3 6] [0,“LowerScale”1);
一旦变量包含了类型-2成员函数,您就可以添加额外的类型-2成员函数,而无需指定这些参数之一。
var = addMF (var,“trimf”[3 6 9]);
查看成员功能。
var.MembershipFunctions
Name详细信息:Name Type UpperParameters LowerScale LowerLag ____________ ________________ ___________ __________ 1" mf1" "trimf" 0 3 6 1 0.2 0.2 2" mf2" "trimf" 3 6 9 1 0.2 0.2
输入参数
fisIn
- - - - - -模糊推理系统
mamfis
对象|sugfis
对象|mamfistype2
对象|sugfistype2
对象
模糊推理系统,指定为以下之一:
mamfis
对象- Mamdani模糊推理系统sugfis
对象- Sugeno模糊推理系统mamfistype2
对象-2型Mamdani模糊推理系统sugfistype2
object - Type-2 Sugeno模糊推理系统
varName
- - - - - -变量名
字符串|特征向量
变量名,指定为字符串或字符向量。您可以在FIS中指定输入或输出变量的名称。方法指定要添加成员关系函数的变量的类型,如果系统有与输出变量同名的输入变量VariableType
名称-值对。
类型
- - - - - -隶属函数类型
“trimf”
(默认)|字符串|特征向量|函数处理
成员函数类型,指定为字符串或字符向量,其中包含当前工作文件夹或MATLAB中函数的名称®路径。还可以为这样的函数指定句柄。当你指定类型
,您还必须指定参数
.
该表描述了您可以指定的值类型
.
隶属函数类型 | 描述 | 的更多信息 |
---|---|---|
“gbellmf” |
广义钟形隶属函数 | gbellmf |
“gaussmf” |
高斯隶属函数 | gaussmf |
“gauss2mf” |
高斯组合隶属函数 | gauss2mf |
“trimf” |
三角形隶属函数 | trimf |
“trapmf” |
梯形隶属函数 | trapmf |
“linsmf” |
线性s型饱和隶属函数 | linsmf |
“linzmf” |
线性z形饱和隶属函数 | linzmf |
“sigmf” |
反曲的隶属函数 | sigmf |
“dsigmf” |
两个s型隶属函数的差值 | dsigmf |
“psigmf” |
两个s型隶属函数的乘积 | psigmf |
“zmf” |
z字形隶属函数 | zmf |
“pimf” |
Pi-shaped隶属函数 | pimf |
“smf” |
s型隶属函数 | smf |
“不变” |
Sugeno输出隶属函数的常数隶属函数 | Sugeno模糊推理系统 |
“线性” |
Sugeno输出隶属函数的线性隶属函数 | |
字符串或字符向量 | 当前工作文件夹或MATLAB路径中的自定义成员函数的名称。Sugeno系统不支持自定义输出成员函数。 | 使用自定义函数构建模糊系统 |
函数处理 | 当前工作文件夹或MATLAB路径中自定义成员关系函数的句柄。Sugeno系统不支持自定义输出成员函数。 |
瓦兰
- - - - - -模糊变量
fisvar
对象
模糊变量,指定为fisvar
对象。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
例子:fis = addMF (fis,“距离”,名字=“高”)
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:fis = addMF (fis,“距离”,“名字”,“高”)
的名字
- - - - - -成员函数名
字符串|特征向量
成员函数名,指定为逗号分隔的对,由“名字”
和字符串或字符向量。默认的成员函数名称为“曼氏金融< uniqueIndex >”
,在那里uniqueIndex
根据关联变量中的成员关系函数的当前数量自动生成。
VariableType
- - - - - -变量类型
“输入”
|“输出”
变量类型,指定为逗号分隔的对“VariableType”
和以下其中之一:
“输入”
——输入变量“输出”
——输出变量
如果您的系统有一个与输出变量同名的输入变量,请指定要将成员关系函数添加到哪个变量VariableType
.
对象添加成员关系函数时,此名称-值对不应用fisvar
对象。
LowerScale
- - - - - -较低的隶属函数比例因子
1
(默认)|正标量小于或等于1
2型隶属函数的低隶属函数比例因子,指定为小于或等于的正标量1
.使用LowerScale
定义下隶属函数的最大值。
取决于的值LowerLag
,实际最大下隶属度函数值可小于LowerScale
.
此名称-值对仅适用于添加类型-2成员函数。
LowerLag
- - - - - -较低的隶属函数延迟因子
(0.2 - 0.2)
(默认)|标量值之间0
而且1
|长度为2的向量
为type-2成员函数指定为标量值或长度为2的向量的较低成员函数延迟因子。您可以指定之间的滞后值0
而且1
、包容。
此名称-值对仅适用于添加类型-2成员函数。
下列成员函数类型只支持标量LowerLag
值:
对称MFs -
gaussmf
而且gbellmf
片面MFs -
sigmf
,smf
,zmf
所有其他内置成员函数都支持标量或向量LowerLag
价值。对于这些成员函数,当指定a时:
标量值,相同的滞后值用于成员函数的左边和右边。
向量值,您可以为成员函数的左边和右边定义不同的滞后值。
滞后值定义了较低的隶属函数值开始从零增加的点,该值基于较高的隶属函数值。例如,延迟值的0.1
表示当上隶属度函数的隶属度值为时,下隶属度函数为正0.1
.
当滞后值为零时,下隶属函数与上隶属函数在同一点开始增加。
某些隶属函数类型限制最大滞后值。例如,LowerLag
必须小于1
为gaussmf
,gauss2mf
,gbellmf
,sigmf
,dsigmf
,psigmf
隶属度函数。
输出参数
fisOut
-模糊推理系统
mamfis
对象|sugfis
对象|mamfistype2
对象|sugfistype2
对象
模糊推理系统,指定为以下之一:
mamfis
对象- Mamdani模糊推理系统sugfis
对象- Sugeno模糊推理系统mamfistype2
对象-2型Mamdani模糊推理系统sugfistype2
object - Type-2 Sugeno模糊推理系统
fisOut
的属性匹配的所有其他属性,包含添加的成员关系函数fisIn
fisOut
的属性匹配的所有其他属性,包含添加的成员关系函数fisIn
varOut
——模糊变量
fisvar
对象
模糊变量,返回为fisvar
对象。varOut
的属性匹配的所有其他属性,包含添加的成员关系函数瓦兰
.
版本历史
介绍了R2018bR2019b:对模糊推理系统结构的支持将被移除
在未来的版本中,将不再支持将模糊推理系统表示为结构。使用mamfis
而且sugfis
使用此函数代替。要将现有的模糊推理系统结构转换为对象,请使用convertfis
函数。
此更改在R2018b中宣布。使用带有此函数的模糊推理系统结构,从R2019b开始发出警告。
R2018b:函数重命名,指定变量的方法和成员函数更改
的名称和行为addmf
功能已经改变了。现在:
addmf
是addMF
您可以按名称而不是按索引指定要向其添加成员关系函数的变量。
可以使用名称-值对参数指定成员函数的名称。
这些更改需要对代码进行更新。
的一些典型用法addmf
为模糊变量添加成员函数和如何更新您的代码。在这个表中,金融中间人
是一个具有两个输入的模糊推理系统,服务
而且食物
,一个输出,提示
.
如果你的代码有这样的形式: | 请使用以下代码: |
---|---|
fis = addmf (fis 'input ', 1…“贫穷”,…“gaussmf”,[0]1.5) |
fis = addMF (fis,“服务”,…“gaussmf”,[1.5 0],“名字”,“可怜”) |
fis = addmf (fis,“输入”,2,…“讨厌的”,…'trapmf',[-2 0 1 3]) |
fis = addMF (fis,“食物”,…"trapmf",[-2 0 1 3],…“名称”,“讨厌的”) |
fis = addmf (fis,“输出”,1,…“廉价”,…“trimf”,[0 5 10]) |
fis = addMF (fis,“小费”,…“trimf”,[0 5 10],……“名称”,“便宜”) |
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。