genfis
从数据生成模糊推理系统对象
描述
返回一个对于Sugeno模糊推理系统(FIS)使用一个给定的输入和输出数据的网格分区。金融中间人
= genfis (inputData
,outputData
)
返回一个FIS使用指定的输入/输出数据和生成选项中指定金融中间人
= genfis (inputData
,outputData
,选项
)选项。
。您可以使用网格生成模糊系统分区,减法聚类,或者模糊c均值(FCM)聚类。
例子
使用默认选项生成模糊推理系统
定义训练数据。
inputData =[兰德(10,1)10 *兰德(10,1)5];outputData =兰德(10,1);
生成一个模糊推理系统。
fis = genfis (inputData outputData);
生成的系统,金融中间人
使用默认选项,创建使用网格分区。
使用网格生成FIS分区
定义训练数据。
inputData =[兰德(10,1)10 *兰德(10,1)5];outputData =兰德(10,1);
创建一个默认的genfisOptions
选项设置网格分区。
选择= genfisOptions (“GridPartition”);
指定以下输入生成的FIS的隶属度函数:
3
第一个输入变量高斯隶属度函数5
第二个输入变量三角隶属度函数
opt.NumMembershipFunctions = [3 - 5];opt.InputMembershipFunctionType = [“gaussmf”“trimf”];
生成金融中间人。
fis = genfis (inputData outputData,选择);
输入隶属函数。每个输入变量都有指定的数量和类型的输入隶属函数,均匀地分布在他们的输入范围。
[x, mf] = plotmf (fis,“输入”1);次要情节(2,1,1)情节(x, mf)包含(“输入1 (gaussmf)”)(x, mf) = plotmf (fis,“输入”2);次要情节(2,1,2)情节(x, mf)包含(“输入2 (trimf)”)
使用减法聚类生成金融中间人
获取训练数据的输入和输出。
负载clusterDemo.datinputData = clusterDemo (:, 1:2);outputData = clusterDemo (: 3);
创建一个genfisOptions
选项设置和指定为每个数据维度影响的范围。指定0.5
和0.25
作为第一和第二输入变量的影响范围。指定0.3
作为输出数据的影响范围。
选择= genfisOptions (“SubtractiveClustering”,…“ClusterInfluenceRange”[0.5 0.25 0.3]);
生成金融中间人。
fis = genfis (inputData outputData,选择);
生成的FIS包含每个集群的一个规则。
showrule (fis)
ans =3 x83 char数组“1。如果(in1 in1cluster1)和(in2 in2cluster1)然后(out1cluster1着干活)(1)“2。如果(in1 in1cluster2)和(in2 in2cluster2)然后(out1cluster2着干活)(1)“3。如果(in1 in1cluster3)和(in2 in2cluster3)然后(out1cluster3着干活)(1)
使用FCM聚类生成金融中间人
获取输入和输出数据。
负载clusterDemo.datinputData = clusterDemo (:, 1:2);outputData = clusterDemo (: 3);
创建一个genfisOptions
选项设置FCM聚类,指定Mamdani FIS类型。
选择= genfisOptions (“FCMClustering”,“FISType”,“mamdani”);
指定集群的数量。
opt.NumClusters = 3;
抑制迭代信息的显示命令窗口。
opt.Verbose = 0;
生成金融中间人。
fis = genfis (inputData outputData,选择);
生成的FIS包含每个集群的一个规则。
showrule (fis)
ans =3 x83 char数组“1。如果(in1 in1cluster1)和(in2 in2cluster1)然后(out1cluster1着干活)(1)“2。如果(in1 in1cluster2)和(in2 in2cluster2)然后(out1cluster2着干活)(1)“3。如果(in1 in1cluster3)和(in2 in2cluster3)然后(out1cluster3着干活)(1)
画出输入和输出隶属度函数。
[x, mf] = plotmf (fis,“输入”1);次要情节(1,1)情节(x, mf)包含(的隶属度函数输入1 ')(x, mf) = plotmf (fis,“输入”2);次要情节(3,1,2)情节(x, mf)包含(的隶属度函数输入2》)(x, mf) = plotmf (fis,“输出”1);次要情节(3、1,3)情节(x, mf)包含(“输出隶属度函数”)
从数据创建2型模糊推理系统
创建一个2型FIS的输入/输出数据,您必须首先创建一个使用1型金融中间人genfis
。
负荷训练数据和使用减法聚类生成一个金融中间人。
负载clusterDemo.datinputData = clusterDemo (:, 1:2);outputData = clusterDemo (: 3);选择= genfisOptions (“SubtractiveClustering”,…“ClusterInfluenceRange”[0.5 0.25 0.3]);fisT1 = genfis (inputData outputData,选择);fisT1.Outputs
ans = fisvar属性:名称:“着干活”范围:[-0.1274 - 1.1458]MembershipFunctions: [1 x3 fismf]
转换生成的FIS 2型金融中间人。
fisT2 = convertToType2 (fisT1);
从最初的1型金融中间人是Sugeno系统,只有输入MFs转换为2型MFs。
输入参数
inputData
- - - - - -输入数据
数组
输入数据,指定为一个N列的数组,N是FIS的数量输入。
inputData
和outputData
必须有相同数量的行。
outputData
- - - - - -输出数据
数组
输出数据,指定为一个米列的数组,米是FIS的数量输出。
使用网格分区时,outputData
必须有一个列。如果你指定多个列网格分区,genfis
使用第一列作为输出数据。
inputData
和outputData
必须有相同数量的行。
选项
- - - - - -FIS生成选项
genfisOptions
选项设置
FIS生成选项,指定为一个genfisOptions
如果你不指定选项集。选项
,genfis
使用一个默认的网格分区选项集。
您可以生成模糊系统使用下列方法之一,你指定当您创建选项设置:
网格划分,生成均匀分区输入隶属函数的输入变量范围,并创建一个对于Sugeno模糊系统。模糊规则库包含一个规则为每个输入隶属函数的组合。
选择= genfisOptions (“GridPartition”);
减法聚类,生成一个Sugeno模糊系统使用成员函数和规则来源于数据集群发现使用减法聚类的输入和输出数据。减法聚类的更多信息,请参阅
subclust
。选择= genfisOptions (“SubtractiveClustering”);
FCM聚类,使用隶属函数生成一个模糊系统和规则来源于数据集群发现使用FCM聚类的输入和输出数据。FCM聚类的更多信息,请参阅
fcm
。选择= genfisOptions (“FCMClustering”);
输出参数
金融中间人
模糊推理系统
mamfis
对象|sugfis
对象
模糊推理系统,作为一个返回mamfis
或sugfis
对象。的属性金融中间人
依赖于集群的类型和相应的使用选项
。
聚类的类型 | 模糊系统类型 | 输入隶属度函数 | 模糊规则 | 输出隶属度函数 |
---|---|---|---|---|
网格划分 | Sugeno | 每个输入变量有均匀分布的输入隶属函数。指定数量的隶属度函数使用options.NumMembershipFunctions 。使用指定隶属函数类型options.InputMembershipFunctionType 。 |
一个规则对每个输入隶属函数的组合。随之而来的每个规则都对应于一个不同的输出隶属函数。 | 一个输出隶属函数为每个模糊规则。使用指定隶属函数类型options.OutputMembershipFunctionType 。 |
减法聚类 | Sugeno | 每个输入变量有一个“gaussmf” 输入隶属函数模糊聚类。 |
一个规则为每个模糊集群 | 每个输出变量有一个“线性” 输出隶属函数模糊聚类。 |
FCM聚类 | Mamdani或Sugeno | 每个输入变量有一个“gaussmf” 输入隶属函数模糊聚类。 |
一个规则为每个模糊集群 | 每个输出变量都有一个输出隶属函数为每个模糊集群。隶属函数类型“gaussmf” Mamdani系统和“线性” Sugeno系统。 |
如果金融中间人
是一个对于Sugeno系统,您可以调整隶属函数参数使用吗简称anfis
函数。
生成一个2型金融中间人是不支持的万博1manbetxgenfis
。相反,生成一个1型金融中间人和将其转换使用convertToType2
函数。
版本历史
介绍了R2017aR2019b:支万博1manbetx持代表模糊推理系统结构将被删除
警告从R2019b
万博1manbetx支持表示模糊推理系统结构将在未来的版本中被删除。使用mamfis
和sugfis
而不是对象。这些表示有差异,需要更新代码。这些差异包括:
对象属性字段名称与对应的不同结构。
对象存储文本数据作为字符串而不是作为特征向量。
此外,所有模糊逻辑工具箱™函数接受或返回模糊推理系统的结构现在接受和返回mamfis
或sugfis
对象。
将现有对象的模糊推理系统的结构,使用convertfis
函数。
另请参阅
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。