prod和probor在matlab,基本fis编辑器(matlab模糊逻辑工具箱函数) -凯发k8官方网
2021年2月10日发(作者:产生)
基本
fis
编辑器
函数
fuzzy
格式
fuzzy %
弹出未
定义的基本
fis
编辑器
fuzzy(fismat) %
使用
<
br>fuzzy('tipper')
,弹出下图
fis
p>
编辑器。
编辑
器是任意模糊推理系统的高层显示,它允许你调用各种其它的编辑器来对其操作。此界面允许你方便
地访问所有其它的编辑器,并以最灵活的方式与模糊系统进行交互。
方框图:窗口上方的方框图显示了输入、输出和它们中间的模糊规则处理器。单击任意一个变量
框,使选
中的方框成为当前变量,此时它变成红色高亮方框。双击任意一个变量,弹出隶
属度函数编辑器,双击模
糊规则编辑器,弹出规则编辑器。
<
/p>
菜单项:
fis
编辑器的菜单棒允许你打
开相应的工具,打开并保存系统。
·
file
菜单包括:
new
mamdani fis …
打开新
mamdani
型系统;
new sugeno fis
…
打开新
sugeno
型系统;
open from disk
…
从磁盘上打开指定的
.fis
文件系统;
save to
disk
保存当前系统到磁盘上的一个
.fis
文件上;
save to disk as
…
重命名方式保存当前系统到磁盘上;
open from workspace …
从工作空间中指定的
fis
结构变量装入一个
系统;
save to workspace
…
保存系统到工作空间中当前命名的
fis
结构变量中;
save
to workspace as …
保存系统到工作空
间中指定的
fis
结构变量中;
close windows
关闭
gui
;
·
edit
菜单包括:
add input
增加另一个输入到当前系统中;
add output
增加另一个输出到当前系统中;
remove variable
删除一个所选的变量;
undo
恢复当前最近的改变;
·
view
菜单包括:
edit mfs
…
调用隶属度函数编辑器;
edit rules …
调用规则编辑器;
edit
anfis …
只对单输出
su
geno
型系统调用编辑器;
view rules …
调用规则观察器;
view
surface …
调用曲面观察器。
弹出式菜单:用五
个弹出式菜单来改变模糊蕴含过程中五个基本步骤的功能:
·
and method
:为一个定制
操作选择
min
、
prod<
p>
或
custom
;
·
or method
:为一个定制操
作选择
max
、
probor
(概率)或
custom
;
·
implication method
:为一个定制操作选择
min
、
prod
或
custom
;此项对
sugeno
型模糊系统不可用。
·
aggregation method
:为一个定制操作选择
max
、
s
um
、
probor
或
custom
。此项对
sugeno
<
br>型模糊系统不可
用。
·
defuzzification method<
p>
:对
mamdani
型推理,为一个定制操作选择
centroid
(面积中心法)、
b
isector
(面
积平分法)、
mo
m
(平均最大隶属度法)、
som
(最
大隶属度最小值法)、
lom
(最大隶属度最大值法)
或
custom
。对
s
ugeno
型推理,在
wtaver
(
加权平均)或
wtsum
(加权和)之间选择。
6.1.15
隶属函数编辑器
函数
mfedit
格式
mfedit('a')
mfedit(a)
mfedit
说明
mfedit('a')
生成一
个隶属函数编辑器,他允许你检查和修改存储在文件
中
fis
结构的所有隶属函
数。如图,<
p>
mfedit('tank')
以这种方式打开隶属函数编辑器并装入
p>
中存储的所有隶属函数。
mfedit(a)
对于
fis
结构操作一个
matlab
工作空间变量
a
。
mfedit
可单独弹出没有
装入
fis
的隶属函数编
辑器
菜单项:在
anfis
编辑器
gui
上,有一个菜单棒允许你打开相关的<
p>
gui
工具、打开和保存系统等。
file
菜单与
fis
编辑器上的
file
菜单功能相同。
·
p>
edit
菜单项包括:
add mf…
为当前语言变量增加隶属度函数;
add custom mf…
为当前语言变量增加定制的隶属度函数;
remove current mf
删除当前的隶属度函数;
remove all mfs
删除当前语言变量的所有隶属度函数;
undo
恢复当前最近的改变。
·
view
菜单项包括:
edit fis properties…
调用
fis
编辑器;
<
br>
edit rules…
调用规则编辑器;
view
rules…
调用规则观察器;
view surface…
调用曲面观察器。
6.2
模糊推理结构
fis
6.2.1
不使用数据聚类方法从数据生成
<
br>fis
结构
函数
genfis1
格式
fismat = genfis1(data)
fismat =
genfis1(data,nummfs,inmftype, outmftype)
说明
genfis1
为
anfis
训练生成一个
sugeno
型作为初始条件的
fis
结构(初始隶属函数)。<
/p>
genfis1(data,nummfs,inmftype, outmftype)
使用对数据的网格分割方法,从训练数据集生成一个
fis
p>
结构。
data
是训练数据矩阵,除最后一
列表示单一输出数据外,它的其它各列表示输入数据。
nummfs
是一个向
量,它的坐标指定与每一输入相关的隶属函数的数量。如果你想使用每个输
入相关的相同数量的隶属函数,
那么只须使
nummfs
成为一个数就足够了。
inmftype
是一
个字符串数组,它的每行指定与每个输入相关的
隶属函数类型。
outmftype
是一个字符串数组,它的指定与每个输出相关的隶属函数类型
例
6-19
>>data = [rand(10,1) 10*rand(10,1)-5
rand(10,1)];
>>nummfs = [3 7];
>>mftype = str2mat('pimf','trimf');
>>fismat = genfis1(data,nummfs,mftype);
>> [x,mf] = plotmf(fismat,'input',1);
>>subplot(2,1,1), plot(x,mf);
>>xlabel('input 1 (pimf)');
>>[x,mf] = plotmf(fismat,'input',2);
>>subplot(2,1,2), plot(x,mf);
>>xlabel('input 2 (trimf)');
6.2.2
使用减法聚类方法从数
椐生成
fis
结构
函数
genfis2
格式
fismat =
genfis2(xin,xout,radii)
fismat =
genfis2(xin,xout,radii,xbounds)
fismat = genfis2(xin,xout,radii,xbounds,options)
说明
xin
是一个矩阵,它的每一行
包含一个数据点的输入值;
xout
是一个矩阵,它的每一行包
含一个数
据点的输出值;
randi
是
一个向量,它指定一个聚类中心在一个数据维上作用的范围,这里假定数据位于
一个单位
超立方体内:
xbounds
是一个
2
×
n
可选矩阵,它用于指定如何将
xi
n
和
xout
中的数据映射到一
个超立方体内,这里是数据的维数(行数);
options
是一个可选向量,它指定的值用于覆盖算法参数的
缺省值。<
p>
fismat = genfis2(xin,xout,0.5) <
/p>
这是使用此函数所需的最小变量数。这里对所有数据维指定
0.5
的作用范围。
fismat =
genfis2(xin,xout,[0.5 0.25 0.3])
这里假定组合
的维数是
3
。假设
xin
有两维、
xout
有一维,那么,
<
br>0.5
和
0.25
是<
p>
xin
数据维中每一维的作
用范围,
0.3
是
xout
数据维的
作用范围。
fismat =
genfis2(xin,xout,0.5,[-10 -5 0; 10 5 20])
<
br>这里指定了如何将
xin
和
xo
ut
中的数据规范化为
[0 1]
区间
中的值来进行处理。假设
xin
有两维、
xout
有
一维,那么
xin
第一列中的数据是从
[-10 10]
比例
变换后的值,
xin
第二列中的数据是从
[-5 5]
比例变换
后的值,
x
out
中的数据是从
[0
20]
比例变换后的值。
6.2.3
生成一个
fis
输出曲面
函数
gensurf
格式
gensurf(fis) %
使用前两个输入和第一个输出来生成给定模糊推理系统
(fis)
<
br>的输出曲面
gensurf(fis,inputs,output) %
使用分别由向量
p>
input
和标量
output<
p>
给定的输入(一个或两个)和输出(只
允许一个)来生成一个图形。
gensurf(fis,inputs,output,grids) %
指定<
/p>
x
(第一、水平)和
y
<
br>(第二、垂直)方向的网格数。如果是二
元向量,
x
p>
和
y
方向上的网格可以独立设置。
gensurf(fis,inputs,output,grids,refinput) %
用于多于两个的输入,
refinput
向量的
长度与输入相同:
·
将对应于要显示
的输入的
refinput
项,设置为
nan;
·
对其它输入的固定值设置为双精度实标量。
[x,y,z]=gensurf(…)
%
返回定义输出曲面的变量并且删除自动绘图。
例
6-21
>>a =
readfis('tipper');
>>gensurf(a)
6.2.4
将
mamdan
型
fis
转换为
sug
eno fis
函数
mam2sug
格式
sug_fis=mam2sug(mam_fis)
说明
该函数将一个
<
br>mamdani
型
fis
结构(
不必是单输出)
mam_fis
转化为一个
sugeno
型结构
sug_fis
。返
回的
sugeno
型系统具有常
值输出隶属度函数。这些常值由原来
mamdani
型系统的后
件的隶属度函数的面
积中心法来确定。前件仍保持不变。
6.2.5
完成模糊推理计算
函数
evalfis
格式
output=
evalfis(input,fismat)
output=
evalfis(input,fismat, numpts)
[output, irr, orr, arr]= evalfis(input,fismat)
[output, irr, orr, arr]=
evalfis(input,fismat, numpts)
说明
input
:指定输入值的一个
数或一个矩阵,如果输入是一个
m×
n
矩阵,其中
n
是输入变量数,那么
ev
alfis
使用
input
的每一行
作为一个输入向量,并且为变量
output
返回
m×
l
矩阵,该矩阵每一行是一个向
量并且
l
是输出变量数;
<
/p>
fismat
:要计算的一个
fis
p>
结构;
numpts
:一个可选变量,它表示在输入或输出范围内的采样点数,在这些点上计算隶属函数,如果
<
br>
不使
用此变量,就使用
101
点的缺省值。
evalfis
的值域如下:
output
:大小为
ml
<
br>的输出矩阵,这里
m
表示前面指定的输入值的数量,
p>
l
表示
fis
的
输出变量数。
evalfis
的可选
值域变量只有当
input
是一个行向量时才计算这些可选值域
变量是:
irr
:通过隶属函数计算
的输入变量的结果,这是一个大小为
numrulesn
的矩阵
,这里
numrules
是规则
条数,
n
是输入变量数。
<
br>orr
:通过隶属函数计算的输出变量的结果,这是一个大小为
<
br>numptsnumrulesl
的矩阵,这里
numr
ules
是规则条数,
l
是输出变量数
,此矩阵的第一组
numrules
列,对应于第一个输出,第
二组
numrules
对应
于第二个输出,依次类推。
p>
arr
:对每个输出,在输出值域中,
nu
mpts
处采样合成值的
numptsl
矩阵,当只有一个值域变量调用时,
该函数使用由结构
fis
mat
指定的模糊推理系统,由标量或矩阵
inout
指定的输入值计算输出向量
output
。
p>
总结
以上是凯发k8官方网为你收集整理的prod和probor在matlab,基本fis编辑器(matlab模糊逻辑工具箱函数)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: 快速广义的形态分量分析 matlab,独