连接模糊推理系统网络
使用一个fistree
对象表示互连的模糊推理系统的树。
金融中间人
-模糊推理系统此属性是只读的。
模糊推理系统,指定为阵列FIS对象。您可以指定任何组合mamfis
那Sugfis.
那mamfistype2
, 和sugfistype2
对象。每个模糊推理系统金融中间人
数组必须至少有一个输入和一个输出fistree
建设。评估一个fistree
,每个模糊推理系统必须至少有一条规则。
连接
-模糊推理系统之间的联系模糊推理系统之间的连接,指定为一个二维字符串数组。每一行表示两个FIS对象之间的连接。指定连接如下:
输出到输入连接,[" fromFISName / fromFISOutputName”“toFISName / toFISInputName”)
.在本例中,输出为“fromFISName”
用作输入“toFISName”
.“fromFISName”
和“toFISName”
必须是不同的。
Input-to-input连接,[" fromFISName / fromFISInputName”“toFISName / toFISInputName”)
.在这种情况下,输入的输入“fromFISName”
和“toFISName”
使用相同的输入值进行评估。“fromFISName”
和“toFISName”
可以相同,也可以不同。
下图描述了使用两个fis的不同连接类型,fis1
, 和fis2
.
联系[“FIS1 / X”“FIS2 / C”]
在输出之间指定X
的fis1
和输入C
的fis2
.联系[" fis1 / " " fis1 / b”)
在“fis1”的输入“a”和“b”之间指定。在这个图中fistree
输入是fis1 /
和fis2 / d
输出是fis2 / y
.
连接必须满足以下条件:
一种fistree
对象必须至少有一个没有任何输入连接的FIS输入和一个没有任何输出连接的FIS输出。
一个FIS输入不能有多个输入连接。
一个FIS输出可以有多个输出连接。
无法连接相同的FIS的输入和输出。换句话说,您无法在连接的FIS对象之间创建循环。
两个输入之间无法指定对称连接,[“FIS1 / A”“FIS1 / B”;“FIS1 / B”“FIS1 / A”]
不被允许。任何一个[" fis1 / " " fis1 / b”)
或[“FIS1 / B”“FIS1 / A”]
可以指定。
不允许自输入循环,[" fis1 / " " fis1 / "]
不能被指定。
输入
-输入到FIS树FIS树的输入,指定为字符串数组。输入
自动确定使用指定的连接fistree
对象。没有传入连接的FIS输入包括在内输入
.通过更新连接来更新此属性fistree
对象。
输出
-FIS树的输出FIS树的输出指定为字符串。输出
自动确定使用指定的连接fistree
对象。没有任何传出连接的FIS输出输出
.的初始构造之后,可以更新此属性fistree
对象。可以删除现有的输出,也可以添加新的输出。输出
不能为空。
不符合残疾人遗址
-用于禁用结构检查的标志用于禁用结构检查、输入和输出的标志,指定为其中之一错误的
或真的
.集不符合残疾人遗址
来真的
当一个FIS在构建后更新时,禁用连接、输入和输出的自动更新fistree
对象。禁用结构检查可能会产生意外的故障evalfis.
功能。
evalfis. |
评价模糊推理系统 |
gettubalablesstings. |
从模糊推理系统获取可调调节设置 |
getTunableValues |
从模糊推理系统中获取可调参数的值 |
塞塞堡价值 |
指定模糊推理系统的可调参数值 |
创建Mamdani模糊推理系统和Sugeno模糊推理系统。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis2 = sugfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);
定义两个模糊推理系统之间所需的连接。
con1 = [“fis1 / output1”“FIS2 / INPUT1”];con2 = [“fis1 / input1”“fis1 / input2”];
创建模糊推理系统的树。
Tree = Fistree([FIS1 FIS2],[CON1; CON2])
tree = fistree with properties: FIS: [1x2 FuzzyInferenceSystem] Connections: [2x2 string] Inputs: [2x1 string] Outputs: "fis2/output1" DisableStructuralChecks: 0参数优化见' gettunlessettings '方法。
创建一个fis树。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);fisT = fistree([fis1 fis2],[]);
显示FIS树配置信息。
plotfis(拳头)
FIS名称:FIS1 FIS2连接:[]输入:FIS1 / INPUT1 FIS1 / INPUT2 FIS2 / INPUT1 FIS2 / INPUT2输出:FIS1 / OUTPUT1 FIS2 / OUTPUT1
添加FIS.
添加fis3
来拳头
.
fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);拳头.FIS(终点+ 1)= FIS3;
添加联系fis1
那fis2
, 和fis3
.
拳头连接= [“fis1 / output1”“fis3 / input1”;“fis2 / output1”“fis3 / input2”];
显示更新的FIS树配置。
plotfis(拳头)
FIS名称:fis1 fis2 fis3连接:From To ------------ ----------- fis1/output1 fis3/input1 fis2/output1 fis3/input2 Inputs: fis1/input1 fis1/input2 fis2/input1 fis2/input2 Outputs: fis3/output1
删除FIS
消除fis1
从拳头
.
fisT.FIS (1) = [];
显示更新的FIS树配置。
plotfis(拳头)
FIS Names: fis2 fis3 Connections: From To ------------ ----------- fis2/output1 fis3/input2 Inputs: fis2/input1 fis2/input2 fis3/input1 Outputs: fis3/output1
创建fis1
那fis2
, 和fis3
,每个有两个输入和一个输出。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);
在输出1之间创建连接fis1
输入1fis3
.
con1 = [“fis1 / output1”“fis3 / input1”];
在输出1之间创建连接fis2
输入2fis3
.
con2 = [“fis2 / output1”“fis3 / input2”];
在输入2之间建立连接fis1
输入1fis2
.
con3 = [“fis1 / input2”“FIS2 / INPUT1”];
创建FIS树。
[con1;con2;con3];
显示FIS树的输入。
fuzztree.inpuls.
ans =.3x1字符串“fis1 / input1”“fis1 / input2”“fis2 / input2”
评估模糊树。指定输入1的值fis1
,输入2fis1
,并输入2fis2
.的输入2的值fis1
也被发送到输入1fis2
.
if (fuzzTree,[0.8 . 0. 0. 0]);
此示例显示如何添加或删除FIS树输出。
添加输出
创建fis1
那fis2
, 和fis3
,每个有两个输入和一个输入。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);
在输出1之间创建连接fis1
输入1fis3
.
con1 = [“fis1 / output1”“fis3 / input1”];
在输出1之间创建连接fis2
输入2fis3
.
con2 = [“fis2 / output1”“fis3 / input2”];
创建FIS树。
[con1;con2]; [con1;
显示FIS树的输出。默认情况下,唯一的开放式FIS输出(来自fis3
)是FIS树的输出。
fuzztree.outputs.
ans = " fis3 / output1”
添加输出fis2
输出到树输出列表。
fuzztree.outputs(end + 1)=“fis2 / output1”;
显示FIS树的更新输出列表。
fuzztree.outputs.
ans =.2 x1字符串“FIS3 / OUTPUT1”“FIS2 / OUTPUT1”
评估FIS树。结果包含来自的输出fis3
和fis2
.
evalfis(fuzzTree,[0.5 0.2 0.8 0.45])
ans =.1×20.1507 0.1579
删除输出
从列表中删除第一个输出。
fuzztree.outputs(1)= [];
显示FIS树的更新输出列表。
fuzztree.outputs.
ans = " fis2 / output1”
再次评估FIS树。结果现在包含仅限的输出fis2
.
evalfis(fuzzTree,[0.5 0.2 0.8 0.45])
ans = 0.1579
此示例显示了增量FIS树的构造。有关模糊树结构类型的更多信息,请参阅模糊树木.
创建模糊系统fis1
那fis2
, 和fis3
,每个有两个输入和一个输入。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis1.Inputs(1)。Name =“颜色”;fis1.Inputs(2)。Name =“门”;fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);FIS2.INPUTS(2).name =“权力”;fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);fis3.Inputs(2)。Name =“自动驾驶仪”;fis3.outputs(1).name =“predition”;
在输出1之间创建连接fis1
输入1fis2
.
con1 = [“fis1 / output1”“FIS2 / INPUT1”];
在输出1之间创建连接fis2
输入1fis3
.
con2 = [“fis2 / output1”“fis3 / input1”];
创建FIS树。
inctree = fistree([FIS1 FIS2 FIS3],[CON1; CON2]);
显示FIS树的输入。
incTree。输入
ans =.4x1字符串“FIS1 / Color”“FIS1 / DOORS”“FIS2 / POWER”“FIS3 / AUTOPILOT”
显示FIS树的输出。
inctree.outpuls.
ans = " fis3 / predition”
这个例子展示了级联FIS树的构造。有关模糊树结构类型的更多信息,请参阅模糊树木.
创建模糊系统fis1
那fis2
那fis3
, 和fis4
,每个有两个输入和一个输入。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis1.Inputs(1)。Name =“dist_obs”;fis1.Inputs(2)。Name =“angle_obs”;fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);fis2.Inputs(1)。Name =“dist_tar”;FIS2.INPUTS(2).name =“Angle_tar”;fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);fis4 = mamfis ('姓名'那“fis4”那“NumInputs”2,'numoutputs'1);fis4.inputs(2).name =“premonding_robot”;fis4.outputs(1).name =“heading_robot”;
在输出1之间创建连接fis1
输入1fis3
.
con1 = [“fis1 / output1”“fis3 / input1”];
在输出1之间创建连接fis2
输入2fis3
.
con2 = [“fis2 / output1”“fis3 / input2”];
在输出1之间创建连接fis3
输入1fis4
.
con3 = [“fis3 / output1”“fis4 / input1”];
创建FIS树。
Castree = Fistree([FIS1 FIS2 FIS4 FIS4],[CON1; CON2; CON3]);
显示FIS树的输入。
casTree。输入
ans =.5 x1字符串"fis1/dist_obs" "fis1/angle_obs" "fis2/dist_tar" "fis2/angle_tar" "fis4/preheading_robot"
显示FIS树的输出信息。
castree.outputs.
ans =“fis4 / heading_robot”
这个例子展示了一个聚合的FIS树的构造。有关模糊树结构类型的更多信息,请参阅模糊树木.
创建模糊系统fis1
那fis2
, 和fis3
,每个有两个输入和一个输入。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis1.Inputs(1)。Name =“dist_obs”;fis1.Inputs(2)。Name =“angle_obs”;fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);fis2.Inputs(1)。Name =“dist_tar”;FIS2.INPUTS(2).name =“Angle_tar”;fis3 = mamfis('姓名'那“fis3”那“NumInputs”2,'numoutputs'1);fis3.outputs(1).name =“heading_robot”;
在输出1之间创建连接fis1
输入1fis3
.
con1 = [“fis1 / output1”“fis3 / input1”];
在输出1之间创建连接fis2
输入2fis3
.
con2 = [“fis2 / output1”“fis3 / input2”];
创建FIS树。
aggTree = fistree([fis1 fis2 fis3],[con1;con2]);
显示FIS树的输入。
aggtree.Inputs.
ans =.4x1字符串"fis1/dist_obs" "fis1/angle_obs" "fis2/dist_tar" "fis2/angle_tar"
显示FIS树的输出信息。
aggTree。输出
ans =“fis3 / heading_robot”
此示例显示了并行FIS树的构造。有关模糊树结构类型的更多信息,请参阅模糊树木.
创建模糊系统fis1
那fis2
, 和fis3
,每个有两个输入和一个输入。
fis1 = mamfis('姓名'那“fis1”那“NumInputs”2,'numoutputs'1);fis2 = mamfis('姓名'那“fis2”那“NumInputs”2,'numoutputs'1);
创建FIS树,这样所有的FIS对象都是并行的;也就是说,没有相互连接,所有的FIS输出都是FIS树的输出。
parTree = fistree([fis1 fis2],[]);
显示FIS树的输入。
parTree。输入
ans =.4x1字符串"fis1/input1" "fis1/input2" "fis2/input1" "fis2/input2"
显示FIS树的输出信息。
parTree。输出
ans =.2 x1字符串“fis1 / output1”“fis2 / output1”
评估FIS树。
output = evalfis(parTree,[0.1 0.3 0.8 0.4]);
通过求解FIS树输出来生成最终输出。
FinalOutput = Sum(输出);
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。