prod和probor在matlab,基本FIS编辑器(MATLAB模糊逻辑工具箱函数)

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

:指定输入值的一个

数或一个矩阵,如果输入是一个

N

矩阵,其中

N

是输入变量数,那么

ev

alfis

使用

input

的每一行

作为一个输入向量,并且为变量

output

返回

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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值