prod和probor在matlab,基本FIS编辑器(MATLAB模糊逻辑工具箱函数)
2021年2月10日發(fā)(作者:產(chǎn)生)
基本
FIS
編輯器
函數(shù)
fuzzy
格式
fuzzy %
彈出未
定義的基本
FIS
編輯器
fuzzy(fismat) %
使用
<
br>fuzzy('tipper')
,彈出下圖
FIS
p>
編輯器。
編輯
器是任意模糊推理系統(tǒng)的高層顯示,它允許你調(diào)用各種其它的編輯器來對其操作。此界面允許你方便
地訪問所有其它的編輯器,并以最靈活的方式與模糊系統(tǒng)進(jìn)行交互。
方框圖:窗口上方的方框圖顯示了輸入、輸出和它們中間的模糊規(guī)則處理器。單擊任意一個(gè)變量
框,使選
中的方框成為當(dāng)前變量,此時(shí)它變成紅色高亮方框。雙擊任意一個(gè)變量,彈出隸
屬度函數(shù)編輯器,雙擊模
糊規(guī)則編輯器,彈出規(guī)則編輯器。
<
/p>
菜單項(xiàng):
FIS
編輯器的菜單棒允許你打
開相應(yīng)的工具,打開并保存系統(tǒng)。
·
File
菜單包括:
New
mamdani FIS …
打開新
mamdani
型系統(tǒng);
New Sugeno FIS
…
打開新
Sugeno
型系統(tǒng);
Open from disk
…
從磁盤上打開指定的
.fis
文件系統(tǒng);
Save to
disk
保存當(dāng)前系統(tǒng)到磁盤上的一個(gè)
.fis
文件上;
Save to disk as
…
重命名方式保存當(dāng)前系統(tǒng)到磁盤上;
Open from workspace …
從工作空間中指定的
FIS
結(jié)構(gòu)變量裝入一個(gè)
系統(tǒng);
Save to workspace
…
保存系統(tǒng)到工作空間中當(dāng)前命名的
FIS
結(jié)構(gòu)變量中;
Save
to workspace as …
保存系統(tǒng)到工作空
間中指定的
FIS
結(jié)構(gòu)變量中;
Close windows
關(guān)閉
GUI
;
·
Edit
菜單包括:
Add input
增加另一個(gè)輸入到當(dāng)前系統(tǒng)中;
Add output
增加另一個(gè)輸出到當(dāng)前系統(tǒng)中;
Remove variable
刪除一個(gè)所選的變量;
Undo
恢復(fù)當(dāng)前最近的改變;
·
View
菜單包括:
Edit MFs
…
調(diào)用隸屬度函數(shù)編輯器;
Edit rules …
調(diào)用規(guī)則編輯器;
Edit
anfis …
只對單輸出
Su
geno
型系統(tǒng)調(diào)用編輯器;
View rules …
調(diào)用規(guī)則觀察器;
View
surface …
調(diào)用曲面觀察器。
彈出式菜單:用五
個(gè)彈出式菜單來改變模糊蘊(yùn)含過程中五個(gè)基本步驟的功能:
·
And method
:為一個(gè)定制
操作選擇
min
、
prod<
p>
或
Custom
;
·
Or method
:為一個(gè)定制操
作選擇
max
、
probor
(概率)或
Custom
;
·
Implication method
:為一個(gè)定制操作選擇
min
、
prod
或
Custom
;此項(xiàng)對
Sugeno
型模糊系統(tǒng)不可用。
·
Aggregation method
:為一個(gè)定制操作選擇
max
、
s
um
、
probor
或
Custom
。此項(xiàng)對
Sugeno
<
br>型模糊系統(tǒng)不可
用。
·
Defuzzification method<
p>
:對
Mamdani
型推理,為一個(gè)定制操作選擇
centroid
(面積中心法)、
b
isector
(面
積平分法)、
mo
m
(平均最大隸屬度法)、
som
(最
大隸屬度最小值法)、
lom
(最大隸屬度最大值法)
或
Custom
。對
S
ugeno
型推理,在
wtaver
(
加權(quán)平均)或
wtsum
(加權(quán)和)之間選擇。
6.1.15
隸屬函數(shù)編輯器
函數(shù)
mfedit
格式
mfedit('a')
mfedit(a)
mfedit
說明
mfedit('a')
生成一
個(gè)隸屬函數(shù)編輯器,他允許你檢查和修改存儲在文件
中
FIS
結(jié)構(gòu)的所有隸屬函
數(shù)。如圖,<
p>
mfedit('tank')
以這種方式打開隸屬函數(shù)編輯器并裝入
p>
中存儲的所有隸屬函數(shù)。
mfedit(a)
對于
FIS
結(jié)構(gòu)操作一個(gè)
MATLAB
工作空間變量
a
。
Mfedit
可單獨(dú)彈出沒有
裝入
FIS
的隸屬函數(shù)編
輯器
菜單項(xiàng):在
ANFIS
編輯器
GUI
上,有一個(gè)菜單棒允許你打開相關(guān)的<
p>
GUI
工具、打開和保存系統(tǒng)等。
File
菜單與
FIS
編輯器上的
File
菜單功能相同。
·
p>
Edit
菜單項(xiàng)包括:
Add MF…
為當(dāng)前語言變量增加隸屬度函數(shù);
Add custom MF…
為當(dāng)前語言變量增加定制的隸屬度函數(shù);
Remove current MF
刪除當(dāng)前的隸屬度函數(shù);
Remove all MFS
刪除當(dāng)前語言變量的所有隸屬度函數(shù);
Undo
恢復(fù)當(dāng)前最近的改變。
·
View
菜單項(xiàng)包括:
Edit FIS properties…
調(diào)用
FIS
編輯器;
<
br>
Edit rules…
調(diào)用規(guī)則編輯器;
View
rules…
調(diào)用規(guī)則觀察器;
View surface…
調(diào)用曲面觀察器。
6.2
模糊推理結(jié)構(gòu)
FIS
6.2.1
不使用數(shù)據(jù)聚類方法從數(shù)據(jù)生成
<
br>FIS
結(jié)構(gòu)
函數(shù)
genfis1
格式
fismat = genfis1(data)
fismat =
genfis1(data,numMFs,inmftype, outmftype)
說明
genfis1
為
anfis
訓(xùn)練生成一個(gè)
Sugeno
型作為初始條件的
FIS
結(jié)構(gòu)(初始隸屬函數(shù))。<
/p>
genfis1(data,numMFs,inmftype, outmftype)
使用對數(shù)據(jù)的網(wǎng)格分割方法,從訓(xùn)練數(shù)據(jù)集生成一個(gè)
FIS
p>
結(jié)構(gòu)。
Data
是訓(xùn)練數(shù)據(jù)矩陣,除最后一
列表示單一輸出數(shù)據(jù)外,它的其它各列表示輸入數(shù)據(jù)。
NumMFs
是一個(gè)向
量,它的坐標(biāo)指定與每一輸入相關(guān)的隸屬函數(shù)的數(shù)量。如果你想使用每個(gè)輸
入相關(guān)的相同數(shù)量的隸屬函數(shù),
那么只須使
numMFs
成為一個(gè)數(shù)就足夠了。
Inmftype
是一
個(gè)字符串?dāng)?shù)組,它的每行指定與每個(gè)輸入相關(guān)的
隸屬函數(shù)類型。
outmftype
是一個(gè)字符串?dāng)?shù)組,它的指定與每個(gè)輸出相關(guān)的隸屬函數(shù)類型
例
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
使用減法聚類方法從數(shù)
椐生成
FIS
結(jié)構(gòu)
函數(shù)
genfis2
格式
fismat =
genfis2(Xin,Xout,radii)
fismat =
genfis2(Xin,Xout,radii,xBounds)
fismat = genfis2(Xin,Xout,radii,xBounds,options)
說明
Xin
是一個(gè)矩陣,它的每一行
包含一個(gè)數(shù)據(jù)點(diǎn)的輸入值;
Xout
是一個(gè)矩陣,它的每一行包
含一個(gè)數(shù)
據(jù)點(diǎn)的輸出值;
randi
是
一個(gè)向量,它指定一個(gè)聚類中心在一個(gè)數(shù)據(jù)維上作用的范圍,這里假定數(shù)據(jù)位于
一個(gè)單位
超立方體內(nèi):
xBounds
是一個(gè)
2
×
N
可選矩陣,它用于指定如何將
Xi
n
和
Xout
中的數(shù)據(jù)映射到一
個(gè)超立方體內(nèi),這里是數(shù)據(jù)的維數(shù)(行數(shù));
options
是一個(gè)可選向量,它指定的值用于覆蓋算法參數(shù)的
缺省值。<
p>
fismat = genfis2(Xin,Xout,0.5) <
/p>
這是使用此函數(shù)所需的最小變量數(shù)。這里對所有數(shù)據(jù)維指定
0.5
的作用范圍。
fismat =
genfis2(Xin,Xout,[0.5 0.25 0.3])
這里假定組合
的維數(shù)是
3
。假設(shè)
Xin
有兩維、
Xout
有一維,那么,
<
br>0.5
和
0.25
是<
p>
Xin
數(shù)據(jù)維中每一維的作
用范圍,
0.3
是
Xout
數(shù)據(jù)維的
作用范圍。
fismat =
genfis2(Xin,Xout,0.5,[-10 -5 0; 10 5 20])
<
br>這里指定了如何將
Xin
和
Xo
ut
中的數(shù)據(jù)規(guī)范化為
[0 1]
區(qū)間
中的值來進(jìn)行處理。假設(shè)
Xin
有兩維、
Xout
有
一維,那么
Xin
第一列中的數(shù)據(jù)是從
[-10 +10]
比例
變換后的值,
Xin
第二列中的數(shù)據(jù)是從
[-5 +5]
比例變換
后的值,
X
out
中的數(shù)據(jù)是從
[0
20]
比例變換后的值。
6.2.3
生成一個(gè)
FIS
輸出曲面
函數(shù)
gensurf
格式
gensurf(fis) %
使用前兩個(gè)輸入和第一個(gè)輸出來生成給定模糊推理系統(tǒng)
(fis)
<
br>的輸出曲面
gensurf(fis,inputs,output) %
使用分別由向量
p>
input
和標(biāo)量
output<
p>
給定的輸入(一個(gè)或兩個(gè))和輸出(只
允許一個(gè))來生成一個(gè)圖形。
gensurf(fis,inputs,output,grids) %
指定<
/p>
X
(第一、水平)和
Y
<
br>(第二、垂直)方向的網(wǎng)格數(shù)。如果是二
元向量,
X
p>
和
Y
方向上的網(wǎng)格可以獨(dú)立設(shè)置。
gensurf(fis,inputs,output,grids,refinput) %
用于多于兩個(gè)的輸入,
refinput
向量的
長度與輸入相同:
·
將對應(yīng)于要顯示
的輸入的
refinput
項(xiàng),設(shè)置為
NaN;
·
對其它輸入的固定值設(shè)置為雙精度實(shí)標(biāo)量。
[x,y,z]=gensurf(…)
%
返回定義輸出曲面的變量并且刪除自動(dòng)繪圖。
例
6-21
>>a =
readfis('tipper');
>>gensurf(a)
6.2.4
將
mamdan
型
FIS
轉(zhuǎn)換為
Sug
eno FIS
函數(shù)
mam2sug
格式
sug_fis=mam2sug(mam_fis)
說明
該函數(shù)將一個(gè)
<
br>mamdani
型
FIS
結(jié)構(gòu)(
不必是單輸出)
mam_fis
轉(zhuǎn)化為一個(gè)
sugeno
型結(jié)構(gòu)
sug_fis
。返
回的
sugeno
型系統(tǒng)具有常
值輸出隸屬度函數(shù)。這些常值由原來
mamdani
型系統(tǒng)的后
件的隸屬度函數(shù)的面
積中心法來確定。前件仍保持不變。
6.2.5
完成模糊推理計(jì)算
函數(shù)
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
:指定輸入值的一個(gè)
數(shù)或一個(gè)矩陣,如果輸入是一個(gè)
M×
N
矩陣,其中
N
是輸入變量數(shù),那么
ev
alfis
使用
input
的每一行
作為一個(gè)輸入向量,并且為變量
output
返回
M×
L
矩陣,該矩陣每一行是一個(gè)向
量并且
L
是輸出變量數(shù);
<
/p>
fismat
:要計(jì)算的一個(gè)
FIS
p>
結(jié)構(gòu);
numPts
:一個(gè)可選變量,它表示在輸入或輸出范圍內(nèi)的采樣點(diǎn)數(shù),在這些點(diǎn)上計(jì)算隸屬函數(shù),如果
<
br>
不使
用此變量,就使用
101
點(diǎn)的缺省值。
Evalfis
的值域如下:
Output
:大小為
ML
<
br>的輸出矩陣,這里
M
表示前面指定的輸入值的數(shù)量,
p>
L
表示
FIS
的
輸出變量數(shù)。
evalfis
的可選
值域變量只有當(dāng)
input
是一個(gè)行向量時(shí)才計(jì)算這些可選值域
變量是:
IRR
:通過隸屬函數(shù)計(jì)算
的輸入變量的結(jié)果,這是一個(gè)大小為
numRulesN
的矩陣
,這里
numRules
是規(guī)則
條數(shù),
N
是輸入變量數(shù)。
<
br>ORR
:通過隸屬函數(shù)計(jì)算的輸出變量的結(jié)果,這是一個(gè)大小為
<
br>numPtsnumRulesL
的矩陣,這里
numR
ules
是規(guī)則條數(shù),
L
是輸出變量數(shù)
,此矩陣的第一組
numRules
列,對應(yīng)于第一個(gè)輸出,第
二組
numRules
對應(yīng)
于第二個(gè)輸出,依次類推。
p>
ARR
:對每個(gè)輸出,在輸出值域中,
nu
mPts
處采樣合成值的
numPtsL
矩陣,當(dāng)只有一個(gè)值域變量調(diào)用時(shí),
該函數(shù)使用由結(jié)構(gòu)
fis
mat
指定的模糊推理系統(tǒng),由標(biāo)量或矩陣
inout
指定的輸入值計(jì)算輸出向量
output
。
p>
總結(jié)
以上是生活随笔為你收集整理的prod和probor在matlab,基本FIS编辑器(MATLAB模糊逻辑工具箱函数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php如何连接wsdl,PHP如何调用w
- 下一篇: 快速广义的形态分量分析 matlab,独