You are on page 1of 333

Fuzzy Logic Toolbox

Users Guide
R2013b
How to Contact MathWorks
www.mathworks.com Wob
comp.soft-sys.matlab owsgrou
www.mathworks.com/contact_TS.html TochnIcnI Suorf
suggest@mathworks.com Iroducf onhnncomonf suggosfIons
bugs@mathworks.com Iug roorfs
doc@mathworks.com ocumonfnfIon orror roorfs
service@mathworks.com Ordor sfnfus, IIconso ronownIs, nsscodos
info@mathworks.com SnIos, rIcIng, nnd gonornI InformnfIon
508-64?-?000 (Ihono)
508-64?-?00l (Inx)
Tho MnfhWorks, Inc.
3 AIo HIII rIvo
nfIck, MA 0l?60-2098
Ior confncf InformnfIon nbouf worIdwIdo offIcos, soo fho MnfhWorks Wob sIfo.
!"##$ %&'() *&&+,&-. /01230 4"(51
COIY!ICHT l99520l3 by Tho MnfhWorks, Inc.
Tho soffwnro doscrIbod In fhIs documonf Is furnIshod undor n IIconso ngroomonf. Tho soffwnro mny bo usod
or coIod onIy undor fho forms of fho IIconso ngroomonf. o nrf of fhIs mnnunI mny bo hofocoIod or
roroducod In nny form wIfhouf rIor wrIffon consonf from Tho MnfhWorks, Inc.
III!A! ACQ!ISITIO: ThIs rovIsIon nIIos fo nII ncquIsIfIons of fho Irogrnm nnd ocumonfnfIon
by, for, or fhrough fho fodornI govornmonf of fho !nIfod Sfnfos. Iy nccofIng doIIvory of fho Irogrnm
or ocumonfnfIon, fho govornmonf horoby ngroos fhnf fhIs soffwnro or documonfnfIon qunIIfIos ns
commorcInI comufor soffwnro or commorcInI comufor soffwnro documonfnfIon ns such forms nro usod
or dofInod In IA! l2.2l2, IA!S Inrf 22?.?2, nnd IA!S 252.22?-?0l4. AccordIngIy, fho forms nnd
condIfIons of fhIs Agroomonf nnd onIy fhoso rIghfs socIfIod In fhIs Agroomonf, shnII orfnIn fo nnd govorn
fho uso, modIfIcnfIon, roroducfIon, roIonso, orformnnco, dIsIny, nnd dIscIosuro of fho Irogrnm nnd
ocumonfnfIon by fho fodornI govornmonf (or ofhor onfIfy ncquIrIng for or fhrough fho fodornI govornmonf)
nnd shnII suorsodo nny confIIcfIng confrncfunI forms or condIfIons. If fhIs !Iconso fnIIs fo moof fho
govornmonf`s noods or Is InconsIsfonf In nny rosocf wIfh fodornI rocuromonf Inw, fho govornmonf ngroos
fo rofurn fho Irogrnm nnd ocumonfnfIon, unusod, fo Tho MnfhWorks, Inc.
Trademarks
MAT!AI nnd SImuIInk nro rogIsforod frndomnrks of Tho MnfhWorks, Inc. Soo
www.mathworks.com/trademarks for n IIsf of nddIfIonnI frndomnrks. Ofhor roducf or brnnd
nnmos mny bo frndomnrks or rogIsforod frndomnrks of fhoIr rosocfIvo hoIdors.
Patents
MnfhWorks roducfs nro rofocfod by ono or moro !.S. nfonfs. IIonso soo
www.mathworks.com/patents for moro InformnfIon.
Revision History
Jnnunry l995 IIrsf rInfIng
ArII l99? Socond rInfIng
Jnnunry l998 ThIrd rInfIng
Sofombor 2000 Iourfh rInfIng !ovIsod for VorsIon 2 (!oIonso l2)
ArII 2003 IIffh rInfIng
Juno 2004 OnIIno onIy !dnfod for VorsIon 2.l.3 (!oIonso l4)
Mnrch 2005 OnIIno onIy !dnfod for VorsIon 2.2.l (!oIonso l4SI2)
Sofombor 2005 OnIIno onIy !dnfod for VorsIon 2.2.2 (!oIonso l4SI3)
Mnrch 2006 OnIIno onIy !dnfod for VorsIon 2.2.3 (!oIonso 2006n)
Sofombor 2006 OnIIno onIy !dnfod for VorsIon 2.2.4 (!oIonso 2006b)
Mnrch 200? OnIIno onIy !dnfod for VorsIon 2.2.5 (!oIonso 200?n)
Sofombor 200? OnIIno onIy !ovIsod for VorsIon 2.2.6 (!oIonso 200?b)
Mnrch 2008 OnIIno onIy !ovIsod for VorsIon 2.2.? (!oIonso 2008n)
Ocfobor 2008 OnIIno onIy !ovIsod for VorsIon 2.2.8 (!oIonso 2008b)
Mnrch 2009 OnIIno onIy !ovIsod for VorsIon 2.2.9 (!oIonso 2009n)
Sofombor 2009 OnIIno onIy !ovIsod for VorsIon 2.2.l0 (!oIonso 2009b)
Mnrch 20l0 OnIIno onIy !ovIsod for VorsIon 2.2.ll (!oIonso 20l0n)
Sofombor 20l0 OnIIno onIy !ovIsod for VorsIon 2.2.l2 (!oIonso 20l0b)
ArII 20ll OnIIno onIy !ovIsod for VorsIon 2.2.l3 (!oIonso 20lln)
Sofombor 20ll OnIIno onIy !ovIsod for VorsIon 2.2.l4 (!oIonso 20llb)
Mnrch 20l2 OnIIno onIy !ovIsod for VorsIon 2.2.l5 (!oIonso 20l2n)
Sofombor 20l2 OnIIno onIy !ovIsod for VorsIon 2.2.l6 (!oIonso 20l2b)
Mnrch 20l3 OnIIno onIy !ovIsod for VorsIon 2.2.l? (!oIonso 20l3n)
Sofombor 20l3 OnIIno onIy !ovIsod for VorsIon 2.2.l8 (!oIonso 20l3b)
Contents
!"##$%& '#()#"*
1
+,--. /0&$1 2003405 6)0*,1# 7"81)$9#$0% . . . . . . . . . . . :;<
Koy Ionfuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;<
=%8#(33(#$0% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;>
?8$%& 2@$8 !,$*" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;A
B@(# =8 +,--. /0&$1C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;D
oscrIfIon of Iuzzy !ogIc . . . . . . . . . . . . . . . . . . . . . . . . . . :;D
Why !so Iuzzy !ogIc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;E
Whon of fo !so Iuzzy !ogIc . . . . . . . . . . . . . . . . . . . . . . . :;F
Whnf Cnn Iuzzy !ogIc TooIbox Soffwnro o . . . . . . . . . . . :;:G
+,--. H8I J0%K,--. /0&$1 . . . . . . . . . . . . . . . . . . . . . . . . . . . :;:<
Tho InsIc TIIng IrobIom . . . . . . . . . . . . . . . . . . . . . . . . . :;:<
Tho onfuzzy Aronch . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;:<
Tho Iuzzy !ogIc Aronch . . . . . . . . . . . . . . . . . . . . . . . . . . :;:L
IrobIom SoIufIon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :;:M
2,#0)$(3
2
+0,%*(#$0%8 0K +,--. /0&$1 . . . . . . . . . . . . . . . . . . . . . . . . <;<
OvorvIow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;<
Iuzzy Sofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;>
MomborshI IuncfIons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;M
!ogIcnI OornfIons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:<
If-Thon !uIos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:D
!oforoncos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:E
H
2.9"8 0K +,--. =%K")"%1" '.8#"N8 . . . . . . . . . . . . . . . . . . . <;<:
+,--. =%K")"%1" 6)01"88 . . . . . . . . . . . . . . . . . . . . . . . . . . . <;<>
Sfo l. IuzzIfy Inufs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;<A
Sfo 2. AIy Iuzzy Oornfor . . . . . . . . . . . . . . . . . . . . . . . <;<D
Sfo 3. AIy ImIIcnfIon Mofhod . . . . . . . . . . . . . . . . . . . . <;<L
Sfo 4. Aggrognfo AII Oufufs . . . . . . . . . . . . . . . . . . . . . . . <;<M
Sfo 5. ofuzzIfy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;<E
Iuzzy Inforonco Ingrnm . . . . . . . . . . . . . . . . . . . . . . . . . . . <;<F
O,8#0N$-(#$0% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;>>
B@(# =8 P(N*(%$;2.9" +,--. =%K")"%1"C . . . . . . . . . . . . <;>A
Q,$3* P(N*(%$ '.8#"N8 R!?=S . . . . . . . . . . . . . . . . . . . . . . <;>D
How fo IuIId MnmdnnI Sysfoms !sIng Iuzzy !ogIc TooIbox
CrnhIcnI !sor Inforfnco TooIs . . . . . . . . . . . . . . . . . . . . <;>D
Tho InsIc TIIng IrobIom . . . . . . . . . . . . . . . . . . . . . . . . . <;>M
Tho IIS IdIfor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;>E
Tho MomborshI IuncfIon IdIfor . . . . . . . . . . . . . . . . . . . . <;A>
Tho !uIo IdIfor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;D<
Tho !uIo VIowor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;DL
Tho Surfnco VIowor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;DE
ImorfIng nnd IxorfIng from fho C!I TooIs . . . . . . . . . . . <;LG
Q,$3* P(N*(%$ '.8#"N8 ?8$%& O,8#0N +,%1#$0%8 . . . . <;L:
How fo IuIId Iuzzy Inforonco Sysfoms !sIng Cusfom
IuncfIons In fho C!I . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;L:
SocIfyIng Cusfom MomborshI IuncfIons . . . . . . . . . . . . . <;L>
SocIfyIng Cusfom Inforonco IuncfIons . . . . . . . . . . . . . . . <;LF
Q,$3* P(N*(%$ '.8#"N8 RO0*"S . . . . . . . . . . . . . . . . . . . . . <;MD
TIIng IrobIom from fho Commnnd !Ino . . . . . . . . . . . . . <;MD
Sysfom IsIny IuncfIons . . . . . . . . . . . . . . . . . . . . . . . . . . <;ME
IuIIdIng n Sysfom from Scrnfch . . . . . . . . . . . . . . . . . . . . . . <;E:
IIS IvnIunfIon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;EA
Tho IIS Sfrucfuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;ED
'$N,3(#" +,--. =%K")"%1" '.8#"N8 $% '$N,3$%T . . . . . . . <;EF
H$ 6&781780
Q,$3* U0,) VW% +,--. '$N,3$%T P0*"38 . . . . . . . . . . . . . <;FL
Abouf fho Iuzzy !ogIc ConfroIIor IIock . . . . . . . . . . . . . . . <;FM
Abouf fho Iuzzy !ogIc ConfroIIor wIfh !uIovIowor
IIock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;FM
InIfInIIzIng Iuzzy !ogIc ConfroIIor IIocks . . . . . . . . . . . . . <;FE
IxnmIo: Cnrf nnd IoIo SImuInfIon . . . . . . . . . . . . . . . . . . <;FF
B@(# =8 ',&"%0;2.9" +,--. =%K")"%1"C . . . . . . . . . . . . . . <;:G<
O0N9()$80% 0K ',&"%0 (%* P(N*(%$ '.8#"N8 . . . . . . . . <;:GE
Advnnfngos of fho Sugono Mofhod . . . . . . . . . . . . . . . . . . . . <;:GE
Advnnfngos of fho MnmdnnI Mofhod . . . . . . . . . . . . . . . . . . <;:GE
(%K$8 (%* #@" XJ+=' Y*$#0) !?= . . . . . . . . . . . . . . . . . . . . . <;:GF
Whon fo !so ouro-AdnfIvo !onrnIng . . . . . . . . . . . . . . . . <;:GF
ModoI !onrnIng nnd Inforonco Through AIIS . . . . . . . . . <;::G
TrnIn AdnfIvo ouro-Iuzzy Inforonco Sysfoms (C!I) . . . <;::>
Tosf nfn AgnInsf TrnInod Sysfom (C!I) . . . . . . . . . . . . . . <;::M
IrodIcf ChnofIc TImo-SorIos (Codo) . . . . . . . . . . . . . . . . . . . <;:>:
Snvo TrnInIng Irror nfn fo MAT!AI Worksnco . . . . . . <;:>M
ComnrIson of anfis nnd AIIS IdIfor IuncfIonnIIfy . . . <;:AA
+,--. O3,8#")$%& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:D:
Whnf Is nfn CIusforIng . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:D:
Iuzzy C-Monns CIusforIng . . . . . . . . . . . . . . . . . . . . . . . . . . <;:D<
CIusfor QunsI-!nndom nfn !sIng Iuzzy C-Monns
CIusforIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:D>
SubfrncfIvo CIusforIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:DM
ModoI Suburbnn CommufIng !sIng SubfrncfIvo
CIusforIng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:DE
nfn CIusforIng !sIng fho CIusforIng TooI . . . . . . . . . . . . . <;:LF
'$N,3(#$%& +,--. =%K")"%1" '.8#"N8 ?8$%& #@" +,--.
=%K")"%1" Y%&$%" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <;:M>
Abouf fho Iuzzy Inforonco IngIno . . . . . . . . . . . . . . . . . . . . <;:M>
SImuInfo Sysfoms on WIndows IInfforms . . . . . . . . . . . . . . <;:MA
SImuInfo Sysfoms on !IX IInfforms . . . . . . . . . . . . . . . . <;:ME
H$$
+,%1#$0%8 Z X39@(4"#$1(3 /$8#
3
Q301T8 Z X39@(4"#$1(3 /$8#
4
Q$43$0&)(9@.
A
!3088().
=%*"5
H$$$ 6&781780
1
CoffIng Sfnrfod
Iuzzy !ogIc TooIbox Iroducf oscrIfIon on ngo l-2
InsfnIInfIon on ngo l-3
!sIng ThIs CuIdo on ngo l-4
Whnf Is Iuzzy !ogIc on ngo l-5
Iuzzy vs. onfuzzy !ogIc on ngo l-l2
1 Getting Started
Fuzzy Logic Toolbox Product Description
Design and simulate fuzzy logic systems
Iuzzy !ogIc TooIbox rovIdos MAT!AI

funcfIons, ns, nnd n SImuIInk

bIock for nnnIyzIng, dosIgnIng, nnd sImuInfIng sysfoms bnsod on fuzzy IogIc.
Tho roducf guIdos you fhrough fho sfos of dosIgnIng fuzzy Inforonco
sysfoms. IuncfIons nro rovIdod for mnny common mofhods, IncIudIng fuzzy
cIusforIng nnd ndnfIvo nourofuzzy IonrnIng.
Tho fooIbox Iofs you modoI comIox sysfom bohnvIors usIng sImIo IogIc
ruIos, nnd fhon ImIomonf fhoso ruIos In n fuzzy Inforonco sysfom. You cnn
uso If ns n sfnnd-nIono fuzzy Inforonco ongIno. AIfornnfIvoIy, you cnn uso
fuzzy Inforonco bIocks In SImuIInk nnd sImuInfo fho fuzzy sysfoms wIfhIn n
comrohonsIvo modoI of fho onfIro dynnmIc sysfom.
Key Features
Iuzzy !ogIc osIgn n for buIIdIng fuzzy Inforonco sysfoms nnd vIowIng
nnd nnnIyzIng rosuIfs
MomborshI funcfIons for cronfIng fuzzy Inforonco sysfoms
Suorf for A, O!, nnd OT IogIc In usor-dofInod ruIos
Sfnndnrd MnmdnnI nnd Sugono-fyo fuzzy Inforonco sysfoms
Aufomnfod momborshI funcfIon shnIng fhrough nourondnfIvo nnd fuzzy
cIusforIng IonrnIng fochnIquos
AbIIIfy fo ombod n fuzzy Inforonco sysfom In n SImuIInk modoI
AbIIIfy fo gonornfo omboddnbIo C codo or sfnnd-nIono oxocufnbIo fuzzy
Inforonco ongInos
:;<
Installation
Installation
To InsfnII fhIs fooIbox on n worksfnfIon, Inrgo mnchIno, or n IC, soo fho
InsfnIInfIon documonfnfIon for fhnf Infform.
To doformIno If Iuzzy !ogIc TooIbox soffwnro Is nIrondy InsfnIIod on your
sysfom, chock for n subfoIdor nnmod fuzzy wIfhIn fho mnIn fooIbox foIdor.
:;>
1 Getting Started
Using This Guide
=K .0, ()" %"W #0 K,--. 30&$1, bogIn wIfh Whnf Is Iuzzy !ogIc on ngo
l-5. ThIs Infroducos fho mofIvnfIon bohInd fuzzy IogIc nnd Ionds you smoofhIy
Info fho fuforInI.
=K .0, ()" (% "59")$"%1"* K,--. 30&$1 ,8"), you mny wnnf fo sfnrf nf
IoundnfIons of Iuzzy !ogIc on ngo 2-2 fo mnko suro you nro comforfnbIo
wIfh fho Iuzzy !ogIc TooIbox formInoIogy. If you jusf wnnf nn ovorvIow of
onch grnhIcnI fooI nnd oxnmIos of socIfIc fuzzy sysfom fnsks, furn dIrocfIy
fo IuIId MnmdnnI Sysfoms (C!I) on ngo 2-35. ThIs socfIon doos nof
IncIudo InformnfIon on fho ndnfIvo dnfn modoIIng nIIcnfIon covorod by fho
fooIbox funcfIon ANFIS. Tho bnsIc funcfIonnIIfy of fhIs fooI cnn bo found In
TrnIn AdnfIvo ouro-Iuzzy Inforonco Sysfoms (C!I) on ngo 2-ll3.
If you jusf wnnf fo sfnrf ns soon ns ossIbIo nnd oxorImonf, you cnn oon nn
oxnmIo sysfom rIghf nwny by fyIng
fuzzy tipper
ThIs dIsInys fho Iuzzy Inforonco Sysfom (IIS) odIfor for nn oxnmIo
docIsIon-mnkIng robIom fhnf hns fo do wIfh how fo fI In n rosfnurnnf.
Ior moro InformnfIon on socIfIc fooIs or funcfIons, soo fho roforonco ngos.
!oforonco doscrIfIons IncIudo n synosIs of fho funcfIon`s synfnx, ns woII ns n
comIofo oxInnnfIon of ofIons nnd oornfIon. Mnny roforonco doscrIfIons
nIso IncIudo hoIfuI oxnmIos, n doscrIfIon of fho funcfIon`s nIgorIfhm,
nnd roforoncos fo nddIfIonnI rondIng mnforInI. Ior C!I-bnsod fooIs, fho
doscrIfIons IncIudo ofIons for InvokIng fho fooI.
:;A
What Is Fuzzy Logic?
What Is Fuzzy Logic?
In this section...
oscrIfIon of Iuzzy !ogIc on ngo l-5
Why !so Iuzzy !ogIc on ngo l-8
Whon of fo !so Iuzzy !ogIc on ngo l-9
Whnf Cnn Iuzzy !ogIc TooIbox Soffwnro o on ngo l-l0
Description of Fuzzy Logic
In roconf yonrs, fho numbor nnd vnrIofy of nIIcnfIons of fuzzy IogIc hnvo
Incronsod sIgnIfIcnnfIy. Tho nIIcnfIons rnngo from consumor roducfs
such ns cnmorns, cnmcordors, wnshIng mnchInos, nnd mIcrownvo ovons
fo IndusfrInI rocoss confroI, modIcnI InsfrumonfnfIon, docIsIon-suorf
sysfoms, nnd orffoIIo soIocfIon.
To undorsfnnd why uso of fuzzy IogIc hns grown, you musf fIrsf undorsfnnd
whnf Is monnf by fuzzy IogIc.
Iuzzy IogIc hns fwo dIfforonf monnIngs. In n nnrrow sonso, fuzzy IogIc Is n
IogIcnI sysfom, whIch Is nn oxfonsIon of muIfIvnIuod IogIc. Howovor, In n wIdor
sonso fuzzy IogIc (I!) Is nImosf synonymous wIfh fho fhoory of fuzzy sofs, n
fhoory whIch roInfos fo cInssos of objocfs wIfh unshnr boundnrIos In whIch
momborshI Is n mnffor of dogroo. In fhIs orsocfIvo, fuzzy IogIc In Ifs nnrrow
sonso Is n brnnch of I!. Ivon In Ifs moro nnrrow dofInIfIon, fuzzy IogIc dIffors
bofh In concof nnd subsfnnco from frndIfIonnI muIfIvnIuod IogIcnI sysfoms.
In Iuzzy !ogIc TooIbox soffwnro, fuzzy IogIc shouId bo Inforrofod ns I!, fhnf
Is, fuzzy IogIc In Ifs wIdo sonso. Tho bnsIc Idons undorIyIng I! nro oxInInod
vory cIonrIy nnd InsIghffuIIy In IoundnfIons of Iuzzy !ogIc on ngo 2-2.
Whnf mIghf bo nddod Is fhnf fho bnsIc concof undorIyIng I! Is fhnf of n
IInguIsfIc vnrInbIo, fhnf Is, n vnrInbIo whoso vnIuos nro words rnfhor fhnn
numbors. In offocf, much of I! mny bo vIowod ns n mofhodoIogy for comufIng
wIfh words rnfhor fhnn numbors. AIfhough words nro InhoronfIy Ioss
rocIso fhnn numbors, fhoIr uso Is cIosor fo humnn InfuIfIon. Iurfhormoro,
comufIng wIfh words oxIoIfs fho foIornnco for ImrocIsIon nnd fhoroby
Iowors fho cosf of soIufIon.
:;D
1 Getting Started
Anofhor bnsIc concof In I!, whIch Inys n confrnI roIo In mosf of Ifs
nIIcnfIons, Is fhnf of n fuzzy If-fhon ruIo or, sImIy, fuzzy ruIo. AIfhough
ruIo-bnsod sysfoms hnvo n Iong hIsfory of uso In ArfIfIcInI InfoIIIgonco (AI),
whnf Is mIssIng In such sysfoms Is n mochnnIsm for donIIng wIfh fuzzy
consoquonfs nnd fuzzy nnfocodonfs. In fuzzy IogIc, fhIs mochnnIsm Is rovIdod
by fho cnIcuIus of fuzzy ruIos. Tho cnIcuIus of fuzzy ruIos sorvos ns n bnsIs
for whnf mIghf bo cnIIod fho Iuzzy oondoncy nnd Commnnd !nngungo
(IC!). AIfhough IC! Is nof usod oxIIcIfIy In fho fooIbox, If Is offocfIvoIy
ono of Ifs rIncInI consfIfuonfs. In mosf of fho nIIcnfIons of fuzzy IogIc, n
fuzzy IogIc soIufIon Is, In ronIIfy, n frnnsInfIon of n humnn soIufIon Info IC!.
A frond fhnf Is growIng In vIsIbIIIfy roInfos fo fho uso of fuzzy IogIc In
combInnfIon wIfh nourocomufIng nnd gonofIc nIgorIfhms. Moro gonornIIy,
fuzzy IogIc, nourocomufIng, nnd gonofIc nIgorIfhms mny bo vIowod ns fho
rIncInI consfIfuonfs of whnf mIghf bo cnIIod soff comufIng. !nIIko fho
frndIfIonnI, hnrd comufIng, 0&98 )&:;"8(7' nccommodnfos fho ImrocIsIon
of fho ronI worId. Tho guIdIng rIncIIo of soff comufIng Is: IxIoIf
fho foIornnco for ImrocIsIon, uncorfnInfy, nnd nrfInI frufh fo nchIovo
frncfnbIIIfy, robusfnoss, nnd Iow soIufIon cosf. In fho fufuro, soff comufIng
couId Iny nn IncronsIngIy Imorfnnf roIo In fho concofIon nnd dosIgn of
sysfoms whoso MIQ (MnchIno IQ) Is much hIghor fhnn fhnf of sysfoms
dosIgnod by convonfIonnI mofhods.
Among vnrIous combInnfIons of mofhodoIogIos In soff comufIng, fho
ono fhnf hns hIghosf vIsIbIIIfy nf fhIs juncfuro Is fhnf of fuzzy IogIc nnd
nourocomufIng, IondIng fo nouro-fuzzy sysfoms. WIfhIn fuzzy IogIc, such
sysfoms Iny n nrfIcuInrIy Imorfnnf roIo In fho InducfIon of ruIos from
obsorvnfIons. An offocfIvo mofhod dovoIood by r. !ogor Jnng for fhIs
uroso Is cnIIod AIIS (AdnfIvo ouro-Iuzzy Inforonco Sysfom). ThIs
mofhod Is nn Imorfnnf comononf of fho fooIbox.
Iuzzy IogIc Is nII nbouf fho roInfIvo Imorfnnco of rocIsIon: How Imorfnnf Is
If fo bo oxncfIy rIghf whon n rough nnswor wIII do
You cnn uso Iuzzy !ogIc TooIbox soffwnro wIfh MAT!AI fochnIcnI comufIng
soffwnro ns n fooI for soIvIng robIoms wIfh fuzzy IogIc. Iuzzy IogIc Is n
fnscInnfIng nron of rosonrch bocnuso If doos n good job of frndIng off bofwoon
sIgnIfIcnnco nnd rocIsIonsomofhIng fhnf humnns hnvo boon mnnngIng
for n vory Iong fImo.
:;L
What Is Fuzzy Logic?
In fhIs sonso, fuzzy IogIc Is bofh oId nnd now bocnuso, nIfhough fho modorn
nnd mofhodIcnI scIonco of fuzzy IogIc Is sfIII young, fho concofs of fuzzy IogIc
roIIos on ngo-oId skIIIs of humnn ronsonIng.
A 1500 kg mass
is approaching
your head at
45.3 m/s
LOOK
OUT!!
Precision Significance
Precision and Significance in the Real World
Iuzzy IogIc Is n convonIonf wny fo mn nn Inuf snco fo nn oufuf snco.
MnIng Inuf fo oufuf Is fho sfnrfIng oInf for ovoryfhIng. ConsIdor fho
foIIowIng oxnmIos:
WIfh InformnfIon nbouf how good your sorvIco wns nf n rosfnurnnf, n fuzzy
IogIc sysfom cnn foII you whnf fho fI shouId bo.
WIfh your socIfIcnfIon of how hof you wnnf fho wnfor, n fuzzy IogIc sysfom
cnn ndjusf fho fnucof vnIvo fo fho rIghf soffIng.
WIfh InformnfIon nbouf how fnr nwny fho subjocf of your hofogrnh Is,
n fuzzy IogIc sysfom cnn focus fho Ions for you.
WIfh InformnfIon nbouf how fnsf fho cnr Is goIng nnd how hnrd fho mofor Is
workIng, n fuzzy IogIc sysfom cnn shIff gonrs for you.
A grnhIcnI oxnmIo of nn Inuf-oufuf mn Is shown In fho foIIowIng fIguro.
:;M
1 Getting Started
Input Space
(all possible service
quality ratings)
Output Space
(all possible tips)
tonight's service
quality
An input-output map for the tipping problem:
Given the quality of service, how much should I tip?
Black
Box the "right" tip
for tonight
To doformIno fho nrorInfo nmounf of fI roquIros mnIng Inufs fo fho
nrorInfo oufufs. Iofwoon fho Inuf nnd fho oufuf, fho rocodIng fIguro
shows n bInck box fhnf cnn confnIn nny numbor of fhIngs: fuzzy sysfoms,
IInonr sysfoms, oxorf sysfoms, nournI nofworks, dIfforonfInI oqunfIons,
InforoInfod muIfIdImonsIonnI Iooku fnbIos, or ovon n sIrIfunI ndvIsor, jusf
fo nnmo n fow of fho ossIbIo ofIons. CIonrIy fho IIsf couId go on nnd on.
Of fho dozons of wnys fo mnko fho bInck box work, If furns ouf fhnf fuzzy
Is offon fho vory bosf wny. Why shouId fhnf bo As !offI Zndoh, who Is
consIdorod fo bo fho fnfhor of fuzzy IogIc, onco romnrkod: In nImosf ovory
cnso you cnn buIId fho snmo roducf wIfhouf fuzzy IogIc, buf fuzzy Is fnsfor
nnd chonor.
Why Use Fuzzy Logic?
Horo Is n IIsf of gonornI obsorvnfIons nbouf fuzzy IogIc:
Iuzzy IogIc Is concofunIIy onsy fo undorsfnnd.
Tho mnfhomnfIcnI concofs bohInd fuzzy ronsonIng nro vory sImIo. Iuzzy
IogIc Is n moro InfuIfIvo nronch wIfhouf fho fnr-ronchIng comIoxIfy.
Iuzzy IogIc Is fIoxIbIo.
WIfh nny gIvon sysfom, If Is onsy fo Inyor on moro funcfIonnIIfy wIfhouf
sfnrfIng ngnIn from scrnfch.
Iuzzy IogIc Is foIornnf of ImrocIso dnfn.
:;E
What Is Fuzzy Logic?
IvoryfhIng Is ImrocIso If you Iook cIosoIy onough, buf moro fhnn fhnf, mosf
fhIngs nro ImrocIso ovon on cnrofuI InsocfIon. Iuzzy ronsonIng buIIds
fhIs undorsfnndIng Info fho rocoss rnfhor fhnn fnckIng If onfo fho ond.
Iuzzy IogIc cnn modoI nonIInonr funcfIons of nrbIfrnry comIoxIfy.
You cnn cronfo n fuzzy sysfom fo mnfch nny sof of Inuf-oufuf dnfn. ThIs
rocoss Is mndo nrfIcuInrIy onsy by ndnfIvo fochnIquos IIko AdnfIvo
ouro-Iuzzy Inforonco Sysfoms (AIIS), whIch nro nvnIInbIo In Iuzzy
!ogIc TooIbox soffwnro.
Iuzzy IogIc cnn bo buIIf on fo of fho oxorIonco of oxorfs.
In dIrocf confrnsf fo nournI nofworks, whIch fnko frnInIng dnfn nnd
gonornfo onquo, ImonofrnbIo modoIs, fuzzy IogIc Iofs you roIy on fho
oxorIonco of ooIo who nIrondy undorsfnnd your sysfom.
Iuzzy IogIc cnn bo bIondod wIfh convonfIonnI confroI fochnIquos.
Iuzzy sysfoms don`f nocossnrIIy roInco convonfIonnI confroI mofhods.
In mnny cnsos fuzzy sysfoms nugmonf fhom nnd sImIIfy fhoIr
ImIomonfnfIon.
Iuzzy IogIc Is bnsod on nnfurnI Inngungo.
Tho bnsIs for fuzzy IogIc Is fho bnsIs for humnn communIcnfIon. ThIs
obsorvnfIon undorIns mnny of fho ofhor sfnfomonfs nbouf fuzzy IogIc.
Iocnuso fuzzy IogIc Is buIIf on fho sfrucfuros of qunIIfnfIvo doscrIfIon usod
In ovorydny Inngungo, fuzzy IogIc Is onsy fo uso.
Tho Insf sfnfomonf Is orhns fho mosf Imorfnnf ono nnd dosorvos moro
dIscussIon. nfurnI Inngungo, whIch Is usod by ordInnry ooIo on n dnIIy
bnsIs, hns boon shnod by fhousnnds of yonrs of humnn hIsfory fo bo
convonIonf nnd offIcIonf. Sonfoncos wrIffon In ordInnry Inngungo rorosonf n
frIumh of offIcIonf communIcnfIon.
When Not to Use Fuzzy Logic
Iuzzy IogIc Is nof n curo-nII. Whon shouId you nof uso fuzzy IogIc Tho snfosf
sfnfomonf Is fho fIrsf ono mndo In fhIs InfroducfIon: fuzzy IogIc Is n convonIonf
wny fo mn nn Inuf snco fo nn oufuf snco. If you fInd If`s nof convonIonf,
fry somofhIng oIso. If n sImIor soIufIon nIrondy oxIsfs, uso If. Iuzzy IogIc Is
fho codIfIcnfIon of common sonso uso common sonso whon you ImIomonf If
nnd you wIII robnbIy mnko fho rIghf docIsIon. Mnny confroIIors, for oxnmIo,
:;F
1 Getting Started
do n fIno job wIfhouf usIng fuzzy IogIc. Howovor, If you fnko fho fImo fo
bocomo fnmIIInr wIfh fuzzy IogIc, you`II soo If cnn bo n vory oworfuI fooI for
donIIng quIckIy nnd offIcIonfIy wIfh ImrocIsIon nnd nonIInonrIfy.
What Can Fuzzy Logic Toolbox Software Do?
You cnn cronfo nnd odIf fuzzy Inforonco sysfoms wIfh Iuzzy !ogIc TooIbox
soffwnro. You cnn cronfo fhoso sysfoms usIng grnhIcnI fooIs or commnnd-IIno
funcfIons, or you cnn gonornfo fhom nufomnfIcnIIy usIng oIfhor cIusforIng
or ndnfIvo nouro-fuzzy fochnIquos.
If you hnvo nccoss fo SImuIInk soffwnro, you cnn onsIIy fosf your fuzzy sysfom
In n bIock dIngrnm sImuInfIon onvIronmonf.
Tho fooIbox nIso Iofs you run your own sfnnd-nIono C rogrnms dIrocfIy.
ThIs Is mndo ossIbIo by n sfnnd-nIono Iuzzy Inforonco IngIno fhnf ronds
fho fuzzy sysfoms snvod from n MAT!AI sossIon. You cnn cusfomIzo fho
sfnnd-nIono ongIno fo buIId fuzzy Inforonco Info your own codo. AII rovIdod
codo Is ASI

comIInnf.
Fuzzy
Inference
System
Stand-alone
Fuzzy Engine
MATLAB
Fuzzy
Logic
Toolbox
User-written
M-files
Other toolboxes
Simulink
Iocnuso of fho Infogrnfod nnfuro of fho MAT!AI onvIronmonf, you cnn
cronfo your own fooIs fo cusfomIzo fho fooIbox or hnrnoss If wIfh nnofhor
:;:G
What Is Fuzzy Logic?
fooIbox, such ns fho ConfroI Sysfom TooIbox, ournI ofwork TooIbox,
or OfImIznfIon TooIbox soffwnro.
:;::
1 Getting Started
Fuzzy vs. Nonfuzzy Logic
In this section...
Tho InsIc TIIng IrobIom on ngo l-l2
Tho onfuzzy Aronch on ngo l-l2
Tho Iuzzy !ogIc Aronch on ngo l-l6
IrobIom SoIufIon on ngo l-l?
The Basic Tipping Problem
To IIIusfrnfo fho vnIuo of fuzzy IogIc, oxnmIno bofh IInonr nnd fuzzy
nronchos fo fho foIIowIng robIom:
Whnf Is fho rIghf nmounf fo fI your wnIforson
IIrsf, work fhrough fhIs robIom fho convonfIonnI (nonfuzzy) wny, wrIfIng
MAT!AI commnnds fhnf soII ouf IInonr nnd IocowIso-IInonr roInfIons.
Thon, Iook nf fho snmo sysfom usIng fuzzy IogIc.
The Basic Tipping Problem. CIvon n numbor bofwoon 0 nnd l0 fhnf
rorosonfs fho qunIIfy of sorvIco nf n rosfnurnnf (whoro l0 Is oxcoIIonf), whnf
shouId fho fI bo
Note ThIs robIom Is bnsod on fIIng ns If Is fyIcnIIy rncfIcod In fho
!nIfod Sfnfos. An nvorngo fI for n monI In fho !.S. Is l5, fhough fho ncfunI
nmounf mny vnry doondIng on fho qunIIfy of fho sorvIco rovIdod.
The Nonfuzzy Approach
IogIn wIfh fho sImIosf ossIbIo roInfIonshI. Suoso fhnf fho fI nIwnys
oqunIs l5 of fho fofnI bIII.
tip = 0.15
:;:<
Fuzzy vs. Nonfuzzy Logic
0 2 4 6 8 10
0
0.05
0.1
0.15
0.2
0.25
service
t
i
p
ThIs roInfIonshI doos nof fnko Info nccounf fho qunIIfy of fho sorvIco, so you
nood fo ndd n now form fo fho oqunfIon. Iocnuso sorvIco Is rnfod on n scnIo of
0 fo l0, you mIghf hnvo fho fI go IInonrIy from 5 If fho sorvIco Is bnd fo 25
If fho sorvIco Is oxcoIIonf. ow fho roInfIon Iooks IIko fho foIIowIng Iof:
tip=0.20/10*service+0.05
0 2 4 6 8 10
0.05
0.1
0.15
0.2
0.25
service
t
i
p
Tho formuIn doos whnf you wnnf If fo do, nnd Is sfrnIghfforwnrd. Howovor,
you mny wnnf fho fI fo rofIocf fho qunIIfy of fho food ns woII. ThIs oxfonsIon
of fho robIom Is dofInod ns foIIows.
The Extended Tipping Problem. CIvon fwo sofs of numbors bofwoon 0 nnd
l0 (whoro l0 Is oxcoIIonf) fhnf rosocfIvoIy rorosonf fho qunIIfy of fho sorvIco
nnd fho qunIIfy of fho food nf n rosfnurnnf, whnf shouId fho fI bo
:;:>
1 Getting Started
Soo how fho formuIn Is nffocfod now fhnf you hnvo nddod nnofhor vnrInbIo.
Try fho foIIowIng oqunfIon:
tip = 0.20/20*(service+food)+0.05;
0
5
10
0
5
10
0.05
0.1
0.15
0.2
0.25
service
food
t
i
p
In fhIs cnso, fho rosuIfs Iook snfIsfncfory, buf whon you Iook nf fhom cIosoIy,
fhoy do nof soom quIfo rIghf. Suoso you wnnf fho sorvIco fo bo n moro
Imorfnnf fncfor fhnn fho food qunIIfy. SocIfy fhnf sorvIco nccounfs for 80
of fho ovornII fIIng grndo nnd fho food mnkos u fho ofhor 20. Try fhIs
oqunfIon:
servRatio=0.8;
tip=servRatio*(0.20/10*service+0.05) + ...
(1-servRatio)*(0.20/10*food+0.05);
0
5
10
0
5
10
0.05
0.1
0.15
0.2
0.25
service
food
t
i
p
Tho rosonso Is sfIII somohow foo unIformIy IInonr. Suoso you wnnf moro of
n fInf rosonso In fho mIddIo, I.o., you wnnf fo gIvo n l5 fI In gonornI, buf
:;:A
Fuzzy vs. Nonfuzzy Logic
wnnf fo nIso socIfy n vnrInfIon If fho sorvIco Is oxcofIonnIIy good or bnd. ThIs
fncfor, In furn, monns fhnf fho rovIous IInonr mnIngs no Iongor nIy. You
cnn sfIII uso fho IInonr cnIcuInfIon wIfh n IocowIso IInonr consfrucfIon. ow,
rofurn fo fho ono-dImonsIonnI robIom of jusf consIdorIng fho sorvIco. You cnn
sfrIng fogofhor n sImIo condIfIonnI sfnfomonf usIng bronkoInfs IIko fhIs.
if service<3,
tip=(0.10/3)*service+0.05;
elseif service<7,
tip=0.15;
elseif service<=10,
tip=(0.10/3)*(service-7)+0.15;
end
Tho Iof now Iooks IIko fho foIIowIng fIguro:
0 2 4 6 8 10
0.05
0.1
0.15
0.2
0.25
service
t
i
p
If you oxfond fhIs fo fwo dImonsIons, whoro you fnko food Info nccounf ngnIn,
somofhIng IIko fho foIIowIng oufuf rosuIfs.
servRatio=0.8;
if service<3,
tip=((0.10/3)*service+0.05)*servRatio + ...
(1-servRatio)*(0.20/10*food+0.05);
elseif service<7,
:;:D
1 Getting Started
tip=(0.15)*servRatio + ...
(1-servRatio)*(0.20/10*food+0.05);
else,
tip=((0.10/3)*(service-7)+0.15)*servRatio + ...
(1-servRatio)*(0.20/10*food+0.05);
end
0
5
10
0
5
10
0.05
0.1
0.15
0.2
0.25
service
food
t
i
p
Tho Iof Iooks good, buf fho funcfIon Is surrIsIngIy comIIcnfod. If wns n
IIffIo dIffIcuIf fo codo fhIs corrocfIy, nnd If Is dofInIfoIy nof onsy fo modIfy fhIs
codo In fho fufuro. Moroovor, If Is ovon Ioss nnronf how fho nIgorIfhm works
fo somoono who dId nof soo fho orIgInnI dosIgn rocoss.
The Fuzzy Logic Approach
You nood fo cnfuro fho ossonfInIs of fhIs robIom, IonvIng nsIdo nII fho
fncfors fhnf couId bo nrbIfrnry. If you mnko n IIsf of whnf ronIIy mnffors In
fhIs robIom, you mIghf ond u wIfh fho foIIowIng ruIo doscrIfIons.
Tipping Problem Rules Service Factor
If sorvIco Is oor, fhon fI Is chon
If sorvIco Is good, fhon fI Is nvorngo
If sorvIco Is oxcoIIonf, fhon fI Is gonorous
:;:L
Fuzzy vs. Nonfuzzy Logic
Tho ordor In whIch fho ruIos nro rosonfod horo Is nrbIfrnry. If doos nof
mnffor whIch ruIos como fIrsf. If you wnnf fo IncIudo fho food`s offocf on fho
fI, ndd fho foIIowIng fwo ruIos.
Tipping Problem Rules Food Factor
If food Is rnncId, fhon fI Is chon
If food Is doIIcIous, fhon fI Is gonorous
You cnn combIno fho fwo dIfforonf IIsfs of ruIos Info ono fIghf IIsf of fhroo
ruIos IIko so.
Tipping Problem Both Service and Food Factors
If sorvIco Is oor or fho food Is rnncId, fhon fI Is chon
If sorvIco Is good, fhon fI Is nvorngo
If sorvIco Is oxcoIIonf or food Is doIIcIous, fhon fI Is gonorous
Thoso fhroo ruIos nro fho coro of your soIufIon. CoIncIdonfnIIy, you hnvo jusf
dofInod fho ruIos for n fuzzy IogIc sysfom. Whon you gIvo mnfhomnfIcnI
monnIng fo fho IInguIsfIc vnrInbIos (whnf Is nn nvorngo fI, for oxnmIo)
you hnvo n comIofo fuzzy Inforonco sysfom. Tho mofhodoIogy of fuzzy IogIc
musf nIso consIdor:
How nro fho ruIos nII combInod
How do I dofIno mnfhomnfIcnIIy whnf nn nvorngo fI Is
Tho noxf fow chnfors rovIdo dofnIIod nnswors fo fhoso quosfIons. Tho
dofnIIs of fho mofhod don`f ronIIy chnngo much from robIom fo robIomfho
mochnnIcs of fuzzy IogIc nron`f forrIbIy comIox. Whnf mnffors Is fhnf you
undorsfnnd fhnf fuzzy IogIc Is ndnfnbIo, sImIo, nnd onsIIy nIIod.
Problem Solution
Tho foIIowIng Iof rorosonfs fho fuzzy IogIc sysfom fhnf soIvos fho fIIng
robIom.
:;:M
1 Getting Started
0
5
10
0
5
10
0.05
0.1
0.15
0.2
0.25
service
food
t
i
p
ThIs Iof wns gonornfod by fho fhroo ruIos fhnf nccounfod for bofh sorvIco nnd
food fncfors. Tho mochnnIcs of how fuzzy Inforonco works Is oxInInod In
OvorvIow on ngo 2-2 of IoundnfIons of Iuzzy !ogIc on ngo 2-2. In IuIId
MnmdnnI Sysfoms (C!I) on ngo 2-35, fho onfIro fIIng robIom Is workod
fhrough usIng fho Iuzzy !ogIc TooIbox grnhIcnI fooIs.
Observations
ConsIdor somo obsorvnfIons nbouf fho oxnmIo so fnr. You found n IocowIso
IInonr roInfIon fhnf soIvod fho robIom. If workod, buf If wns robIomnfIc fo
dorIvo, nnd whon you wrofo If down ns codo, If wns nof vory onsy fo Inforrof.
ConvorsoIy, fho fuzzy IogIc sysfom Is bnsod on somo common sonso sfnfomonfs.
AIso, you woro nbIo fo ndd fwo moro ruIos fo fho boffom of fho IIsf fhnf
InfIuoncod fho shno of fho ovornII oufuf wIfhouf noodIng fo undo whnf hnd
nIrondy boon dono, mnkIng fho subsoquonf modIfIcnfIon wns roInfIvoIy onsy.
Moroovor, by usIng fuzzy IogIc ruIos, fho mnInfonnnco of fho sfrucfuro of
fho nIgorIfhm docouIos nIong fnIrIy cIonn IInos. Tho nofIon of nn nvorngo
fI mIghf chnngo from dny fo dny, cIfy fo cIfy, counfry fo counfry, buf fho
undorIyIng IogIc Is fho snmo: If fho sorvIco Is good, fho fI shouId bo nvorngo.
Recalibrating the Method
You cnn rocnIIbrnfo fho mofhod quIckIy by sImIy shIffIng fho fuzzy sof fhnf
dofInos nvorngo wIfhouf rowrIfIng fho fuzzy IogIc ruIos.
:;:E
Fuzzy vs. Nonfuzzy Logic
You cnn shIff IIsfs of IocowIso IInonr funcfIons, buf fhoro Is n gronfor
IIkoIIhood fhnf rocnIIbrnfIon wIII nof bo so quIck nnd sImIo.
In fho foIIowIng oxnmIo, fho IocowIso IInonr fIIng robIom sIIghfIy
rowrIffon fo mnko If moro gonorIc. If orforms fho snmo funcfIon ns boforo,
onIy now fho consfnnfs cnn bo onsIIy chnngod.
% Establish constants
lowTip=0.05; averTip=0.15; highTip=0.25;
tipRange=highTip-lowTip;
badService=0; okayService=3;
goodService=7; greatService=10;
serviceRange=greatService-badService;
badFood=0; greatFood=10;
foodRange=greatFood-badFood;
% If service is poor or food is rancid, tip is cheap
if service<okayService,
tip=(((averTip-lowTip)/(okayService-badService)) ...
*service+lowTip)*servRatio + ...
(1-servRatio)*(tipRange/foodRange*food+lowTip);
% If service is good, tip is average
elseif service<goodService,
tip=averTip*servRatio + (1-servRatio)* ...
(tipRange/foodRange*food+lowTip);
% If service is excellent or food is delicious, tip is generous
else,
tip=(((highTip-averTip)/ ...
(greatService-goodService))* ...
(service-goodService)+averTip)*servRatio + ...
(1-servRatio)*(tipRange/foodRange*food+lowTip);
end
As wIfh nII codo, fho moro gonornIIfy fhnf Is Infroducod, fho Ioss rocIso fho
nIgorIfhm bocomos. WhIIo you cnn Imrovo cInrIfy by nddIng moro commonfs,
or orhns rowrIfIng fho nIgorIfhm In sIIghfIy moro soIf-ovIdonf wnys, buf fho
IocowIso IInonr mofhodoIogy Is nof fho ofImnI wny fo rosoIvo fhIs Issuo.
If you romovo ovoryfhIng from fho nIgorIfhm oxcof for fhroo commonfs, whnf
romnIn nro oxncfIy fho fuzzy IogIc ruIos you rovIousIy wrofo down.
:;:F
1 Getting Started
% If service is poor or food is rancid, tip is cheap
% If service is good, tip is average
% If service is excellent or food is delicious, tip is generous
If, ns wIfh n fuzzy sysfom, fho commonf Is IdonfIcnI wIfh fho codo, fhInk
how much moro IIkoIy your codo Is fo hnvo commonfs. Iuzzy IogIc Iofs fho
Inngungo fhnf Is cIonrosf fo you, hIgh IovoI commonfs, nIso hnvo monnIng fo
fho mnchIno, whIch Is why If Is n vory succossfuI fochnIquo for brIdgIng fho
gn bofwoon ooIo nnd mnchInos.
Iy mnkIng fho oqunfIons ns sImIo ns ossIbIo (IInonr) you mnko fhIngs
sImIor for fho mnchIno buf moro comIIcnfod for you. Howovor, fho
IImIfnfIon Is ronIIy no Iongor fho comuforIf Is your monfnI modoI of whnf
fho comufor Is doIng. Comufors hnvo fho nbIIIfy fo mnko fhIngs hooIossIy
comIox; fuzzy IogIc rocInIms fho mIddIo ground nnd Iofs fho mnchIno work
wIfh your roforoncos rnfhor fhnn fho ofhor wny nround.
:;<G
2
TuforInI
IoundnfIons of Iuzzy !ogIc on ngo 2-2
Tyos of Iuzzy Inforonco Sysfoms on ngo 2-2l
Iuzzy Inforonco Irocoss on ngo 2-23
CusfomIznfIon on ngo 2-33
Whnf Is MnmdnnI-Tyo Iuzzy Inforonco on ngo 2-34
IuIId MnmdnnI Sysfoms (C!I) on ngo 2-35
IuIId MnmdnnI Sysfoms !sIng Cusfom IuncfIons on ngo 2-6l
IuIId MnmdnnI Sysfoms (Codo) on ngo 2-?5
SImuInfo Iuzzy Inforonco Sysfoms In SImuIInk on ngo 2-89
IuIId Your Own Iuzzy SImuIInk ModoIs on ngo 2-96
Whnf Is Sugono-Tyo Iuzzy Inforonco on ngo 2-l02
ComnrIson of Sugono nnd MnmdnnI Sysfoms on ngo 2-l08
nnfIs nnd fho AIIS IdIfor C!I on ngo 2-l09
Iuzzy CIusforIng on ngo 2-l5l
SImuInfIng Iuzzy Inforonco Sysfoms !sIng fho Iuzzy Inforonco IngIno
on ngo 2-l?3
2 Tutorial
Foundations of Fuzzy Logic
In this section...
OvorvIow on ngo 2-2
Iuzzy Sofs on ngo 2-3
MomborshI IuncfIons on ngo 2-?
!ogIcnI OornfIons on ngo 2-l2
If-Thon !uIos on ngo 2-l5
!oforoncos on ngo 2-l8
Overview
Tho oInf of fuzzy IogIc Is fo mn nn Inuf snco fo nn oufuf snco, nnd fho
rImnry mochnnIsm for doIng fhIs Is n IIsf of If-fhon sfnfomonfs cnIIod ruIos.
AII ruIos nro ovnIunfod In nrnIIoI, nnd fho ordor of fho ruIos Is unImorfnnf.
Tho ruIos fhomsoIvos nro usofuI bocnuso fhoy rofor fo vnrInbIos nnd fho
ndjocfIvos fhnf doscrIbo fhoso vnrInbIos. Ioforo you cnn buIId n sysfom fhnf
Inforrofs ruIos, you musf dofIno nII fho forms you Inn on usIng nnd fho
ndjocfIvos fhnf doscrIbo fhom. To sny fhnf fho wnfor Is hof, you nood fo dofIno
fho rnngo fhnf fho wnfor`s fomornfuro cnn bo oxocfod fo vnry ns woII ns
whnf wo monn by fho word <&8. Tho foIIowIng dIngrnm rovIdos n rondmn for
fho fuzzy Inforonco rocoss. If shows fho gonornI doscrIfIon of n fuzzy sysfom
on fho Ioff nnd n socIfIc fuzzy sysfom on fho rIghf.
Input
The General Case A Specific Example
Rules
Input
terms
(interpret)
Output
terms
(assign)
Output service
if service is poor then tip is cheap
if service is good then tip is average
if service is excellent then tip is generous
{poor,
good,
excellent}
{cheap,
average,
generous}
service
is interpreted as
tip
is assigned to be
tip
<;<
Foundations of Fuzzy Logic
To summnrIzo fho concof of fuzzy Inforonco doIcfod In fhIs fIguro, 9"##$
(791217)1 (0 = :18<&5 8<=8 (7812;2180 8<1 >=+"10 (7 8<1 (7;"8 >1)8&2 =75? ,=015
&7 0&:1 018 &9 2"+10? =00('70 >=+"10 8& 8<1 &"8;"8 >1)8&2@
ThIs foIc guIdos you fhrough fho fuzzy IogIc rocoss sfo by sfo by rovIdIng
nn InfroducfIon fo fho fhoory nnd rncfIco of fuzzy IogIc.
Fuzzy Sets
Iuzzy IogIc sfnrfs wIfh fho concof of n fuzzy sof. A 9"##$ 018 Is n sof wIfhouf n
crIs, cIonrIy dofInod boundnry. If cnn confnIn oIomonfs wIfh onIy n nrfInI
dogroo of momborshI.
To undorsfnnd whnf n fuzzy sof Is, fIrsf consIdor fho dofInIfIon of n )+=00()=+
018. A cInssIcnI sof Is n confnInor fhnf whoIIy IncIudos or whoIIy oxcIudos
nny gIvon oIomonf. Ior oxnmIo, fho sof of dnys of fho wook unquosfIonnbIy
IncIudos Mondny, Thursdny, nnd Snfurdny. If jusf ns unquosfIonnbIy oxcIudos
buffor, IIborfy, nnd dorsnI fIns, nnd so on.
Monday
Thursday
Liberty
Shoe
Polish
Dorsal
Fins
Butter
Saturday
Days of the week
ThIs fyo of sof Is cnIIod n cInssIcnI sof bocnuso If hns boon nround for n Iong
fImo. If wns ArIsfofIo who fIrsf formuInfod fho !nw of fho IxcIudod MIddIo,
whIch snys X musf oIfhor bo In sof A or In sof nof-A. Anofhor vorsIon of fhIs
Inw Is:
A9 =7$ 0",B1)8? &71 8<(7' :"08 ,1 1(8<12 =0012815 &2 517(15@
To rosfnfo fhIs Inw wIfh nnnofnfIons: Of nny subjocf (sny Mondny), ono fhIng
(n dny of fho wook) musf bo oIfhor nssorfod or donIod (I nssorf fhnf Mondny
Is n dny of fho wook). ThIs Inw domnnds fhnf oosIfos, fho fwo cnfogorIos
A nnd nof-A, shouId bofwoon fhom confnIn fho onfIro unIvorso. IvoryfhIng
fnIIs Info oIfhor ono grou or fho ofhor. Thoro Is no fhIng fhnf Is bofh n dny of
fho wook nnd nof n dny of fho wook.
<;>
2 Tutorial
ow, consIdor fho sof of dnys comrIsIng n wookond. Tho foIIowIng dIngrnm
nffomfs fo cInssIfy fho wookond dnys.
Monday
Thursday
Liberty
Shoe
Polish
Dorsal
Fins
Butter
Saturday
Sunday
Days of the weekend
Friday
Mosf wouId ngroo fhnf Snfurdny nnd Sundny boIong, buf whnf nbouf IrIdny
If fooIs IIko n nrf of fho wookond, buf somohow If sooms IIko If shouId bo
fochnIcnIIy oxcIudod. Thus, In fho rocodIng dIngrnm, IrIdny frIos Ifs bosf fo
sfrnddIo on fho fonco. CInssIcnI or normnI sofs wouId nof foIornfo fhIs kInd of
cInssIfIcnfIon. IIfhor somofhIng Is In or If Is ouf. Humnn oxorIonco suggosfs
somofhIng dIfforonf, howovor, sfrnddIIng fho fonco Is nrf of IIfo.
Of courso IndIvIdunI orcofIons nnd cuIfurnI bnckground musf bo fnkon Info
nccounf whon you dofIno whnf consfIfufos fho wookond. Ivon fho dIcfIonnry Is
ImrocIso, dofInIng fho wookond ns fho orIod from IrIdny nIghf or Snfurdny
fo Mondny mornIng. You nro onforIng fho ronIm whoro shnr-odgod, yos-no
IogIc sfos boIng hoIfuI. Iuzzy ronsonIng bocomos vnIunbIo oxncfIy whon you
work wIfh how ooIo ronIIy orcoIvo fho concof C11D175 ns oosod fo n
sImIo-mIndod cInssIfIcnfIon usofuI for nccounfIng urosos onIy. Moro fhnn
nnyfhIng oIso, fho foIIowIng sfnfomonf Inys fho foundnfIons for fuzzy IogIc.
E7 9"##$ +&'()? 8<1 82"8< &9 =7$ 08=81:178 ,1)&:10 = :=8812 &9 51'211@
Any sfnfomonf cnn bo fuzzy. Tho mnjor ndvnnfngo fhnf fuzzy ronsonIng
offors Is fho nbIIIfy fo roIy fo n yos-no quosfIon wIfh n nof-quIfo-yos-or-no
nnswor. Humnns do fhIs kInd of fhIng nII fho fImo (fhInk how rnroIy you gof
n sfrnIghf nnswor fo n soomIngIy sImIo quosfIon), buf If Is n rnfhor now
frIck for comufors.
How doos If work !onsonIng In fuzzy IogIc Is jusf n mnffor of gonornIIzIng
fho fnmIIInr yos-no (IooIonn) IogIc. If you gIvo fruo fho numorIcnI vnIuo of l
nnd fnIso fho numorIcnI vnIuo of 0, fhIs vnIuo IndIcnfos fhnf fuzzy IogIc nIso
ormIfs In-bofwoon vnIuos IIko 0.2 nnd 0.?453. Ior Insfnnco:
<;A
Foundations of Fuzzy Logic
Q: Is Snfurdny n wookond dny
A: l (yos, or fruo)
Q: Is Tuosdny n wookond dny
A: 0 (no, or fnIso)
Q: Is IrIdny n wookond dny
A: 0.8 (for fho mosf nrf yos, buf nof comIofoIy)
Q: Is Sundny n wookond dny
A: 0.95 (yos, buf nof quIfo ns much ns Snfurdny).
Tho foIIowIng Iof on fho Ioff shows fho frufh vnIuos for wookond-noss If you
nro forcod fo rosond wIfh nn nbsoIufo yos or no rosonso. On fho rIghf, Is n
Iof fhnf shows fho frufh vnIuo for wookond-noss If you nro nIIowod fo rosond
wIfh fuzzy In-bofwoon vnIuos.
w
e
e
k
e
n
d
-
n
e
s
s
Friday Thursday
1.0
0.0
Days of the weekend multivalued membership
w
e
e
k
e
n
d
-
n
e
s
s
Friday Saturday Sunday Monday Thursday
1.0
0.0
Days of the weekend two-valued membership
Saturday Sunday Monday
TochnIcnIIy, fho rorosonfnfIon on fho rIghf Is from fho domnIn of :"+8(>=+"15
+&'() (or muIfIvnIonf IogIc). If you nsk fho quosfIon Is X n mombor of sof
A fho nnswor mIghf bo yos, no, or nny ono of n fhousnnd InformodInfo
vnIuos In bofwoon. Thus, X mIghf hnvo nrfInI momborshI In A. MuIfIvnIuod
IogIc sfnnds In dIrocf confrnsf fo fho moro fnmIIInr concof of fwo-vnIuod (or
bIvnIonf yos-no) IogIc.
To rofurn fo fho oxnmIo, now consIdor n confInuous scnIo fImo Iof of
wookond-noss shown In fho foIIowIng Iofs.
<;D
2 Tutorial
Days of the weekend multivalued membership
w
e
e
k
e
n
d
-
n
e
s
s
w
e
e
k
e
n
d
-
n
e
s
s
Friday Saturday Sunday Monday Thursday
1.0
0.0
Days of the weekend two-valued membership
Friday Saturday Sunday Monday Thursday
1.0
0.0
Iy mnkIng fho Iof confInuous, you nro dofInIng fho dogroo fo whIch nny gIvon
Insfnnf boIongs In fho wookond rnfhor fhnn nn onfIro dny. In fho Iof on fho
Ioff, nofIco fhnf nf mIdnIghf on IrIdny, jusf ns fho socond hnnd swoos nsf
l2, fho wookond-noss frufh vnIuo jums dIsconfInuousIy from 0 fo l. ThIs Is
ono wny fo dofIno fho wookond, nnd whIIo If mny bo usofuI fo nn nccounfnnf, If
mny nof ronIIy connocf wIfh your own ronI-worId oxorIonco of wookond-noss.
Tho Iof on fho rIghf shows n smoofhIy vnryIng curvo fhnf nccounfs for fho fncf
fhnf nII of IrIdny, nnd, fo n smnII dogroo, nrfs of Thursdny, nrfnko of fho
qunIIfy of wookond-noss nnd fhus dosorvo nrfInI momborshI In fho fuzzy sof
of wookond momonfs. Tho curvo fhnf dofInos fho wookond-noss of nny Insfnnf
In fImo Is n funcfIon fhnf mns fho Inuf snco (fImo of fho wook) fo fho oufuf
snco (wookond-noss). SocIfIcnIIy If Is known ns n :1:,120<(; 9"7)8(&7. Soo
MomborshI IuncfIons on ngo 2-? for n moro dofnIIod dIscussIon.
As nnofhor oxnmIo of fuzzy sofs, consIdor fho quosfIon of sonsons. Whnf
sonson Is If rIghf now In fho norfhorn homIshoro, summor offIcInIIy bogIns
nf fho oxncf momonf In fho onrfh`s orbIf whon fho orfh IoIo Is oInfod mosf
dIrocfIy fownrd fho sun. If occurs oxncfIy onco n yonr, In Info Juno. !sIng fho
nsfronomIcnI dofInIfIons for fho sonson, you gof shnr boundnrIos ns shown
on fho Ioff In fho fIguro fhnf foIIows. Iuf whnf you oxorIonco ns fho sonsons
vnry moro or Ioss confInuousIy ns shown on fho rIghf In fho foIIowIng fIguro
(In fomornfo norfhorn homIshoro cIImnfos).
<;L
Foundations of Fuzzy Logic
Time of the
year
March March
sprin
g
summer fall winter
June September December
1.0
0.0
degree
of
member-
ship
degree
of
member-
ship
Time of the
year
March March
sprin
g
summer fall winter
June September December
1.0
0.0
Membership Functions
A :1:,120<(; 9"7)8(&7 (MI) Is n curvo fhnf dofInos how onch oInf In fho
Inuf snco Is mnod fo n momborshI vnIuo (or dogroo of momborshI)
bofwoon 0 nnd l. Tho Inuf snco Is somofImos roforrod fo ns fho "7(>1201 &9
5(0)&"201, n fnncy nnmo for n sImIo concof.
Ono of fho mosf commonIy usod oxnmIos of n fuzzy sof Is fho sof of fnII
ooIo. In fhIs cnso, fho unIvorso of dIscourso Is nII ofonfInI hoIghfs, sny from
3 foof fo 9 foof, nnd fho word fnII wouId corrosond fo n curvo fhnf dofInos
fho dogroo fo whIch nny orson Is fnII. If fho sof of fnII ooIo Is gIvon fho
woII-dofInod (crIs) boundnry of n cInssIcnI sof, you mIghf sny nII ooIo fnIIor
fhnn 6 foof nro offIcInIIy consIdorod fnII. Howovor, such n dIsfIncfIon Is cIonrIy
nbsurd. If mny mnko sonso fo consIdor fho sof of nII ronI numbors gronfor
fhnn 6 bocnuso numbors boIong on nn nbsfrncf Inno, buf whon wo wnnf fo
fnIk nbouf ronI ooIo, If Is unronsonnbIo fo cnII ono orson shorf nnd nnofhor
ono fnII whon fhoy dIffor In hoIghf by fho wIdfh of n hnIr.
You must be
taller than
this line to
be
considered
TALL
excellent!
If fho kInd of dIsfIncfIon shown rovIousIy Is unworknbIo, fhon whnf Is fho
rIghf wny fo dofIno fho sof of fnII ooIo Much ns wIfh fho Iof of wookond
dnys, fho fIguro foIIowIng shows n smoofhIy vnryIng curvo fhnf nssos from
<;M
2 Tutorial
nof-fnII fo fnII. Tho oufuf-nxIs Is n numbor known ns fho momborshI vnIuo
bofwoon 0 nnd l. Tho curvo Is known ns n :1:,120<(; 9"7)8(&7 nnd Is offon
gIvon fho dosIgnnfIon of . ThIs curvo dofInos fho frnnsIfIon from nof fnII fo
fnII. Iofh ooIo nro fnII fo somo dogroo, buf ono Is sIgnIfIcnnfIy Ioss fnII
fhnn fho ofhor.
height
degree of
membership,
definitely a tall
person (m = 0.95)
1.0
0.0
really not very
tall at all (m = 0.30)
sharp-edged
membership
function for
TALL
height
degree of
membership,
tall (m = 1.0) 1.0
0.0
not tall (m = 0.0)
continuous
membership
function for
TALL
SubjocfIvo InforrofnfIons nnd nrorInfo unIfs nro buIIf rIghf Info fuzzy
sofs. If you sny Sho`s fnII, fho momborshI funcfIon fnII shouId nIrondy fnko
Info nccounf whofhor you nro roforrIng fo n sIx-yonr-oId or n grown womnn.
SImIInrIy, fho unIfs nro IncIudod In fho curvo. CorfnInIy If mnkos no sonso fo
sny Is sho fnII In Inchos or In mofors
Membership Functions in Fuzzy Logic Toolbox Software
Tho onIy condIfIon n momborshI funcfIon musf ronIIy snfIsfy Is fhnf If musf
vnry bofwoon 0 nnd l. Tho funcfIon IfsoIf cnn bo nn nrbIfrnry curvo whoso
shno wo cnn dofIno ns n funcfIon fhnf suIfs us from fho oInf of vIow of
sImIIcIfy, convonIonco, sood, nnd offIcIoncy.
<;E
Foundations of Fuzzy Logic
A cInssIcnI sof mIghf bo oxrossod ns
A = {- | - > 6}
A fuzzy sof Is nn oxfonsIon of n cInssIcnI sof. If X Is fho unIvorso of dIscourso
nnd Ifs oIomonfs nro donofod by -, fhon n fuzzy sof A In X Is dofInod ns n
sof of ordorod nIrs.
A = {-,
A
F-G | - X}

A
F-G Is cnIIod fho momborshI funcfIon (or MI) of - In A. Tho momborshI
funcfIon mns onch oIomonf of X fo n momborshI vnIuo bofwoon 0 nnd l.
Tho fooIbox IncIudos ll buIIf-In momborshI funcfIon fyos. Thoso ll
funcfIons nro, In furn, buIIf from sovornI bnsIc funcfIons:
Ioco-wIso IInonr funcfIons
fho CnussInn dIsfrIbufIon funcfIon
fho sIgmoId curvo
qundrnfIc nnd cubIc oIynomInI curvos
Ior dofnIIod InformnfIon on nny of fho momborshI funcfIons monfIonod
noxf, soo fho corrosondIng roforonco ngo. Iy convonfIon, nII momborshI
funcfIons hnvo fho Ioffors mf nf fho ond of fhoIr nnmos.
Tho sImIosf momborshI funcfIons nro formod usIng sfrnIghf IInos. Of fhoso,
fho sImIosf Is fho 82(=7'"+=2 momborshI funcfIon, nnd If hns fho funcfIon
nnmo trimf. ThIs funcfIon Is nofhIng moro fhnn n coIIocfIon of fhroo oInfs
formIng n frInngIo. Tho 82=;1#&(5=+ momborshI funcfIon, trapmf, hns n
fInf fo nnd ronIIy Is jusf n fruncnfod frInngIo curvo. Thoso sfrnIghf IIno
momborshI funcfIons hnvo fho ndvnnfngo of sImIIcIfy.
<;F
2 Tutorial
0 2 4 6 8 10
0
0.25
0.5
0.75
1
trimf, P = [3 6 8]
trimf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
trapmf, P = [1 5 7 8]
trapmf
Two momborshI funcfIons nro buIIf on fho 4="00(=7 dIsfrIbufIon curvo: n
sImIo CnussInn curvo nnd n fwo-sIdod comosIfo of fwo dIfforonf CnussInn
curvos. Tho fwo funcfIons nro gaussmf nnd gauss2mf.
Tho '1712=+(#15 ,1++ momborshI funcfIon Is socIfIod by fhroo nrnmofors
nnd hns fho funcfIon nnmo gbellmf. Tho boII momborshI funcfIon hns ono
moro nrnmofor fhnn fho CnussInn momborshI funcfIon, so If cnn nronch
n non-fuzzy sof If fho froo nrnmofor Is funod. Iocnuso of fhoIr smoofhnoss
nnd concIso nofnfIon, CnussInn nnd boII momborshI funcfIons nro ouInr
mofhods for socIfyIng fuzzy sofs. Iofh of fhoso curvos hnvo fho ndvnnfngo of
boIng smoofh nnd nonzoro nf nII oInfs.
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gaussmf, P = [2 5]
gaussmf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gauss2mf, P = [1 3 3 4]
gauss2mf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gbellmf, P = [2 4 6]
gbellmf
AIfhough fho CnussInn momborshI funcfIons nnd boII momborshI funcfIons
nchIovo smoofhnoss, fhoy nro unnbIo fo socIfy nsymmofrIc momborshI
funcfIons, whIch nro Imorfnnf In corfnIn nIIcnfIons. oxf, you dofIno fho
0(':&(5=+ momborshI funcfIon, whIch Is oIfhor oon Ioff or rIghf. AsymmofrIc
nnd cIosod (I.o. nof oon fo fho Ioff or rIghf) momborshI funcfIons cnn bo
synfhosIzod usIng fwo sIgmoIdnI funcfIons, so In nddIfIon fo fho bnsIc sigmf,
you nIso hnvo fho dIfforonco bofwoon fwo sIgmoIdnI funcfIons, dsigmf, nnd fho
roducf of fwo sIgmoIdnI funcfIons psigmf.
<;:G
Foundations of Fuzzy Logic
0 2 4 6 8 10
0
0.25
0.5
0.75
1
dsigmf, P = [5 2 5 7]
dsigmf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
psigmf, P = [2 3 !5 8]
psigmf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
sigmf, P = [2 4]
sigmf
IoIynomInI bnsod curvos nccounf for sovornI of fho momborshI funcfIons In
fho fooIbox. Throo roInfod momborshI funcfIons nro fho H? I, nnd J( )"2>10,
nII nnmod bocnuso of fhoIr shno. Tho funcfIon zmf Is fho nsymmofrIcnI
oIynomInI curvo oon fo fho Ioff, smf Is fho mIrror-Imngo funcfIon fhnf oons
fo fho rIghf, nnd pimf Is zoro on bofh oxfromos wIfh n rIso In fho mIddIo.
0 2 4 6 8 10
0
0.25
0.5
0.75
1
pimf, P = [1 4 5 10]
pimf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
smf, P = [1 8]
zmf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
zmf, P = [3 7]
smf
Thoro Is n vory wIdo soIocfIon fo chooso from whon you`ro soIocfIng n
momborshI funcfIon. You cnn nIso cronfo your own momborshI funcfIons
wIfh fho fooIbox. Howovor, If n IIsf bnsod on oxnndod momborshI funcfIons
sooms foo comIIcnfod, jusf romombor fhnf you couId robnbIy gof nIong vory
woII wIfh jusf ono or fwo fyos of momborshI funcfIons, for oxnmIo fho
frInngIo nnd frnozoId funcfIons. Tho soIocfIon Is wIdo for fhoso who wnnf
fo oxIoro fho ossIbIIIfIos, buf oxnnsIvo momborshI funcfIons nro nof
nocossnry for good fuzzy Inforonco sysfoms. IInnIIy, romombor fhnf moro
dofnIIs nro nvnIInbIo on nII fhoso funcfIons In fho roforonco socfIon.
Summary of Membership Functions
Iuzzy sofs doscrIbo vnguo concofs (o.g., fnsf runnor, hof wonfhor, wookond
dnys).
<;::
2 Tutorial
A fuzzy sof ndmIfs fho ossIbIIIfy of nrfInI momborshI In If. (o.g., IrIdny
Is sorf of n wookond dny, fho wonfhor Is rnfhor hof).
Tho dogroo nn objocf boIongs fo n fuzzy sof Is donofod by n momborshI
vnIuo bofwoon 0 nnd l. (o.g., IrIdny Is n wookond dny fo fho dogroo 0.8).
A momborshI funcfIon nssocInfod wIfh n gIvon fuzzy sof mns nn Inuf
vnIuo fo Ifs nrorInfo momborshI vnIuo.
Logical Operations
ow fhnf you undorsfnnd fho fuzzy Inforonco, you nood fo soo how fuzzy
Inforonco connocfs wIfh IogIcnI oornfIons.
Tho mosf Imorfnnf fhIng fo ronIIzo nbouf fuzzy IogIcnI ronsonIng Is fho fncf
fhnf If Is n suorsof of sfnndnrd IooIonn IogIc. In ofhor words, If you koo fho
fuzzy vnIuos nf fhoIr oxfromos of l (comIofoIy fruo), nnd 0 (comIofoIy fnIso),
sfnndnrd IogIcnI oornfIons wIII hoId. As nn oxnmIo, consIdor fho foIIowIng
sfnndnrd frufh fnbIos.
AND
0
0
1
1
A B A and B A B A or B A not A
0
1
0
1
0
0
0
1
OR
0
0
1
1
0
1
0
1
0
1
1
1
NOT
0
1
1
0
ow, bocnuso In fuzzy IogIc fho frufh of nny sfnfomonf Is n mnffor of dogroo,
cnn fhoso frufh fnbIos bo nIforod Tho Inuf vnIuos cnn bo ronI numbors
bofwoon 0 nnd l. Whnf funcfIon rosorvos fho rosuIfs of fho A frufh fnbIo
(for oxnmIo) nnd nIso oxfond fo nII ronI numbors bofwoon 0 nnd l
Ono nnswor Is fho :(7 oornfIon. Thnf Is, rosoIvo fho sfnfomonf K A L,
whoro K nnd L nro IImIfod fo fho rnngo (0,l), by usIng fho funcfIon :(7(K,L).
!sIng fho snmo ronsonIng, you cnn roInco fho O! oornfIon wIfh fho :=-
funcfIon, so fhnf K O! L bocomos oquIvnIonf fo :=-(K?L). IInnIIy, fho
oornfIon OT K bocomos oquIvnIonf fo fho oornfIon 1 A. ofIco how fho
rovIous frufh fnbIo Is comIofoIy unchnngod by fhIs subsfIfufIon.
<;:<
Foundations of Fuzzy Logic
AND
0
0
1
1
A B min(A,B) A B max(A,B) A 1 - A
0
1
0
1
0
0
0
1
OR
0
0
1
1
0
1
0
1
0
1
1
1
NOT
0
1
1
0
Moroovor, bocnuso fhoro Is n funcfIon bohInd fho frufh fnbIo rnfhor fhnn jusf
fho frufh fnbIo IfsoIf, you cnn now consIdor vnIuos ofhor fhnn l nnd 0.
Tho noxf fIguro usos n grnh fo show fho snmo InformnfIon. In fhIs fIguro, fho
frufh fnbIo Is convorfod fo n Iof of fwo fuzzy sofs nIIod fogofhor fo cronfo
ono fuzzy sof. Tho uor nrf of fho fIguro dIsInys Iofs corrosondIng fo fho
rocodIng fwo-vnIuod frufh fnbIos, whIIo fho Iowor nrf of fho fIguro dIsInys
how fho oornfIons work ovor n confInuousIy vnryIng rnngo of frufh vnIuos K
nnd L nccordIng fo fho fuzzy oornfIons you hnvo dofInod.
AND
A and
B
Two-valued
logic
Multivalued
logic
A and
B
A
B
A
A
B
B
A
B
AorB
AorB
A
A
notA
notA
OR NOT
min(A,B) max(A,B) (1-A)
<;:>
2 Tutorial
CIvon fhoso fhroo funcfIons, you cnn rosoIvo nny consfrucfIon usIng fuzzy sofs
nnd fho fuzzy IogIcnI oornfIon A, O!, nnd OT.
Additional Fuzzy Operators
In fhIs cnso, you dofInod onIy ono nrfIcuInr corrosondonco bofwoon
fwo-vnIuod nnd muIfIvnIuod IogIcnI oornfIons for A, O!, nnd OT. ThIs
corrosondonco Is by no monns unIquo.
In moro gonornI forms, you nro dofInIng whnf nro known ns fho fuzzy
InforsocfIon or conjuncfIon (A), fuzzy unIon or dIsjuncfIon (O!), nnd fuzzy
comIomonf (OT). Tho cInssIcnI oornfors for fhoso funcfIons nro: A =
:(7, O! = :=-, nnd OT = nddIfIvo comIomonf. TyIcnIIy, mosf fuzzy IogIc
nIIcnfIons mnko uso of fhoso oornfIons nnd Ionvo If nf fhnf. In gonornI,
howovor, fhoso funcfIons nro nrbIfrnry fo n surrIsIng dogroo. Iuzzy !ogIc
TooIbox soffwnro usos fho cInssIcnI oornfor for fho fuzzy comIomonf ns
shown In fho rovIous fIguro, buf nIso onnbIos you fo cusfomIzo fho A
nnd O! oornfors.
Tho InforsocfIon of fwo fuzzy sofs K nnd L Is socIfIod In gonornI by n bInnry
mnIng *, whIch nggrognfos fwo momborshI funcfIons ns foIIows:

AI
(-) = *(
A
(-),
I
(-))
Ior oxnmIo, fho bInnry oornfor * mny rorosonf fho muIfIIIcnfIon of

A
x x
B
( ) ( ) and . Thoso fuzzy InforsocfIon oornfors, whIch nro usunIIy
roforrod fo ns *Mnorm (TrInnguInr norm) oornfors, moof fho foIIowIng bnsIc
roquIromonfs:
A *M7&2: oornfor Is n bInnry mnIng *(.,.) snfIsfyIng
,&"75=2$: *(0, 0) = 0, *(=, l) = *(l, =G N =
:&7&8&7()(8$: *F=? ,G <= *F)? 5G If = ON ) nnd , ON 5
)&::"8=8(>(8$P *F=? ,G N *F,? =G
=00&)(=8(>(8$P *F=? *F,? )GG N *F*F=? ,G? )G
Tho fIrsf roquIromonf Imosos fho corrocf gonornIIznfIon fo crIs sofs. Tho
socond roquIromonf ImIIos fhnf n docronso In fho momborshI vnIuos In K or
L cnnnof roduco nn Incronso In fho momborshI vnIuo In K InforsocfIon L.
Tho fhIrd roquIromonf IndIcnfos fhnf fho oornfor Is IndIfforonf fo fho ordor of
<;:A
Foundations of Fuzzy Logic
fho fuzzy sofs fo bo combInod. IInnIIy, fho fourfh roquIromonf nIIows us fo
fnko fho InforsocfIon of nny numbor of sofs In nny ordor of nIr-wIso grouIngs.
!Iko fuzzy InforsocfIon, fho fuzzy unIon oornfor Is socIfIod In gonornI by
n bInnry mnIng I:

AI
(-) = S(
A
(-),
I
(-))
Ior oxnmIo, fho bInnry oornfor S cnn rorosonf fho nddIfIon of

A
x x
B
( ) ( ) and . Thoso fuzzy unIon oornfors, whIch nro offon roforrod
fo ns *M)&7&2: F&2 IM7&2:G oornfors, musf snfIsfy fho foIIowIng bnsIc
roquIromonfs:
A *M)&7&2: (or IM7&2:) oornfor Is n bInnry mnIng I(.,.) snfIsfyIng
,&"75=2$: I(l, l) = l, I(=? 0G N IF0? =G N =
:&7&8&7()(8$: IF=? ,G <= S(c, d) If = ON ) nnd , ON 5
)&::"8=8(>(8$: IF=? ,G N IF,? =G
=00&)(=8(>(8$: IF=? IF,? )GG N IFIF=? ,G? )G
SovornI nrnmoforIzod *-norms nnd dunI *-conorms hnvo boon roosod In
fho nsf, such ns fhoso of Yngor|l9], uboIs nnd Irndo |3], SchwoIzor nnd
SkInr |l4], nnd Sugono |l5], found In fho AondIx A, IIbIIogrnhy. Inch
of fhoso rovIdos n wny fo vnry fho gnIn on fho funcfIon so fhnf If cnn bo
vory rosfrIcfIvo or vory ormIssIvo.
If-Then Rules
Iuzzy sofs nnd fuzzy oornfors nro fho subjocfs nnd vorbs of fuzzy IogIc. Thoso
If-fhon ruIo sfnfomonfs nro usod fo formuInfo fho condIfIonnI sfnfomonfs fhnf
comrIso fuzzy IogIc.
A sIngIo fuzzy If-fhon ruIo nssumos fho form
If - Is K fhon $ Is L
whoro K nnd L nro IInguIsfIc vnIuos dofInod by fuzzy sofs on fho rnngos
(unIvorsos of dIscourso) X nnd Y, rosocfIvoIy. Tho If-nrf of fho ruIo - Is K
Is cnIIod fho =781)15178 or romIso, whIIo fho fhon-nrf of fho ruIo $ Is L Is
cnIIod fho )&701Q"178 or concIusIon. An oxnmIo of such n ruIo mIghf bo
<;:D
2 Tutorial
E9 012>()1 (0 '&&5 8<17 8(; (0 =>12='1
Tho concof '&&5 Is rorosonfod ns n numbor bofwoon 0 nnd l, nnd so fho
nnfocodonf Is nn InforrofnfIon fhnf rofurns n sIngIo numbor bofwoon 0 nnd
l. ConvorsoIy, =>12='1 Is rorosonfod ns n fuzzy sof, nnd so fho consoquonf
Is nn nssIgnmonf fhnf nssIgns fho onfIro fuzzy sof I fo fho oufuf vnrInbIo
$. In fho If-fhon ruIo, fho word (0 gofs usod In fwo onfIroIy dIfforonf wnys
doondIng on whofhor If nonrs In fho nnfocodonf or fho consoquonf. In
MAT!AI forms, fhIs usngo Is fho dIsfIncfIon bofwoon n roInfIonnI fosf usIng
== nnd n vnrInbIo nssIgnmonf usIng fho = symboI. A Ioss confusIng wny
of wrIfIng fho ruIo wouId bo
E9 012>()1 NN '&&5 8<17 8(; N =>12='1
In gonornI, fho Inuf fo nn If-fhon ruIo Is fho curronf vnIuo for fho Inuf
vnrInbIo (In fhIs cnso, 012>()1) nnd fho oufuf Is nn onfIro fuzzy sof (In fhIs
cnso, =>12='1). ThIs sof wIII Infor bo 519"##(9(15? nssIgnIng ono vnIuo fo fho
oufuf. Tho concof of dofuzzIfIcnfIon Is doscrIbod In fho noxf socfIon.
InforrofIng nn If-fhon ruIo InvoIvos dIsfIncf nrfs: fIrsf ovnIunfIng fho
nnfocodonf (whIch InvoIvos 9"##(9$(7' fho Inuf nnd nIyIng nny nocossnry
9"##$ &;12=8&20) nnd socond nIyIng fhnf rosuIf fo fho consoquonf (known
ns (:;+()=8(&7). In fho cnso of fwo-vnIuod or bInnry IogIc, If-fhon ruIos do nof
rosonf much dIffIcuIfy. If fho romIso Is fruo, fhon fho concIusIon Is fruo.
If you roInx fho rosfrIcfIons of fwo-vnIuod IogIc nnd Iof fho nnfocodonf bo n
fuzzy sfnfomonf, how doos fhIs rofIocf on fho concIusIon Tho nnswor Is n
sImIo ono. If fho nnfocodonf Is fruo fo somo dogroo of momborshI, fhon fho
consoquonf Is nIso fruo fo fhnf snmo dogroo.
Thus:
In bInnry IogIc: ; Q (; nnd Q nro oIfhor bofh fruo or bofh fnIso.)
In fuzzy IogIc: 0.5 ; 0.5 Q (InrfInI nnfocodonfs rovIdo nrfInI ImIIcnfIon.)
Tho nnfocodonf of n ruIo cnn hnvo muIfIIo nrfs.
(9 0D$ (0 '2=$ =75 C(75 (0 082&7' =75 ,=2&:1812 (0 9=++(7'? 8<17 @@@
In whIch cnso nII nrfs of fho nnfocodonf nro cnIcuInfod sImuIfnnoousIy nnd
rosoIvod fo n sIngIo numbor usIng fho IogIcnI oornfors doscrIbod In fho
rocodIng socfIon. Tho consoquonf of n ruIo cnn nIso hnvo muIfIIo nrfs.
<;:L
Foundations of Fuzzy Logic
(9 81:;12=8"21 (0 )&+5 8<17 <&8 C=812 >=+>1 (0 &;17 =75 )&+5 C=812 >=+>1 (0
0<"8
In whIch cnso nII consoquonfs nro nffocfod oqunIIy by fho rosuIf of fho
nnfocodonf. How Is fho consoquonf nffocfod by fho nnfocodonf Tho
consoquonf socIfIos n fuzzy sof bo nssIgnod fo fho oufuf. Tho (:;+()=8(&7
9"7)8(&7 fhon modIfIos fhnf fuzzy sof fo fho dogroo socIfIod by fho nnfocodonf.
Tho mosf common wnys fo modIfy fho oufuf fuzzy sof nro fruncnfIon usIng
fho min funcfIon (whoro fho fuzzy sof Is fruncnfod ns shown In fho foIIowIng
fIguro) or scnIIng usIng fho prod funcfIon (whoro fho oufuf fuzzy sof Is
squnshod). Iofh nro suorfod by fho fooIbox, buf you uso fruncnfIon for
fho oxnmIos In fhIs socfIon.
3. Apply
implication
operator (min)
2. Apply
OR operator
(max)
1. Fuzzify
inputs
delicious
excellent
gener ous
If service is excellent food is delicious then or tip = generous
food (crisp)
tip (fuzzy)
service (crisp)

(food==delicious)
= 0 .7
(service==excellent)
= 0 .0
min(0.7, generous)
Antecedent Consequent
0.0
0.7
0.7
If ( 0.0 0.7 ) then or tip = generous
max(0.0, 0.7) = 0.7
If ( 0.7 ) then tip = generous
0.0
0.7 0.7
<;:M
2 Tutorial
Summary of If-Then Rules
InforrofIng If-fhon ruIos Is n fhroo-nrf rocoss. ThIs rocoss Is oxInInod
In dofnII In fho noxf socfIon:
1 +,--$K. $%9,#8: !osoIvo nII fuzzy sfnfomonfs In fho nnfocodonf fo n dogroo
of momborshI bofwoon 0 nnd l. If fhoro Is onIy ono nrf fo fho nnfocodonf,
fhon fhIs Is fho dogroo of suorf for fho ruIo.
2 X993. K,--. 09")(#0) #0 N,3#$93" 9()# (%#"1"*"%#8: If fhoro nro
muIfIIo nrfs fo fho nnfocodonf, nIy fuzzy IogIc oornfors nnd rosoIvo
fho nnfocodonf fo n sIngIo numbor bofwoon 0 nnd l. ThIs Is fho dogroo of
suorf for fho ruIo.
3 X993. $N93$1(#$0% N"#@0*: !so fho dogroo of suorf for fho onfIro
ruIo fo shno fho oufuf fuzzy sof. Tho consoquonf of n fuzzy ruIo
nssIgns nn onfIro fuzzy sof fo fho oufuf. ThIs fuzzy sof Is rorosonfod
by n momborshI funcfIon fhnf Is choson fo IndIcnfo fho qunIIfIos of fho
consoquonf. If fho nnfocodonf Is onIy nrfInIIy fruo, (I.o., Is nssIgnod n
vnIuo Ioss fhnn l), fhon fho oufuf fuzzy sof Is fruncnfod nccordIng fo fho
ImIIcnfIon mofhod.
In gonornI, ono ruIo nIono Is nof offocfIvo. Two or moro ruIos fhnf cnn Iny off
ono nnofhor nro noodod. Tho oufuf of onch ruIo Is n fuzzy sof. Tho oufuf
fuzzy sofs for onch ruIo nro fhon nggrognfod Info n sIngIo oufuf fuzzy sof.
IInnIIy fho rosuIfIng sof Is dofuzzIfIod, or rosoIvod fo n sIngIo numbor. IuIId
MnmdnnI Sysfoms (C!I) on ngo 2-35 shows how fho whoIo rocoss works
from bogInnIng fo ond for n nrfIcuInr fyo of fuzzy Inforonco sysfom cnIIod
n R=:5=7( 8$;1.
References
|l] uboIs, . nnd H. Irndo, !"##$ I180 =75 I$081:0P *<1&2$ =75
K;;+()=8(&70, AcndomIc Iross, ow York, l980.
|2] Knufmnnn, A. nnd M.M. Cufn, E782&5")8(&7 8& !"##$ K2(8<:18(), V..
!oInhoId, l985.
<;:E
Foundations of Fuzzy Logic
|3] !oo, C.-C., Iuzzy IogIc In confroI sysfoms: fuzzy IogIc confroIIor-nrfs l
nnd 2, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75 6$,12718()0, VoI. 20, o.
2, 404-435, l990.
|4] MnmdnnI, I.H. nnd S. AssIIInn, "An oxorImonf In IInguIsfIc synfhosIs
wIfh n fuzzy IogIc confroIIor," E78127=8(&7=+ T&"27=+ &9 R=7MR=)<(71 I8"5(10,
VoI. ?, o. l, . l-l3, l9?5.
|5] MnmdnnI, I.H., Advnncos In fho IInguIsfIc synfhosIs of fuzzy confroIIors,
E78127=8(&7=+ T&"27=+ &9 R=7MR=)<(71 I8"5(10, VoI. 8, . 669-6?8, l9?6.
|6] MnmdnnI, I.H., AIIcnfIons of fuzzy IogIc fo nroxImnfo ronsonIng
usIng IInguIsfIc synfhosIs, ESSS *2=70=)8(&70 &7 6&:;"8120, VoI. 26, o. l2,
. ll82-ll9l, l9??.
|?] SchwoIzor, I. nnd A. SkInr, AssocInfIvo funcfIons nnd nbsfrncf
somI-grous, J",+@ R=8< U1,21)17, l0:69-8l, l963.
|8] Sugono, M., Iuzzy monsuros nnd fuzzy InfogrnIs: n survoy, (M.M.
Cufn, C. . SnrIdIs, nnd I.!. CnInos, odIfors) !"##$ K"8&:=8= =75 U1)(0(&7
J2&)10010, . 89-l02, orfh-HoIInnd, Y, l9??.
|9] Sugono, M., E75"082(=+ =;;+()=8(&70 &9 9"##$ )&782&+, IIsovIor ScIonco
Iub. Co., l985.
|l0] Yngor, !., On n gonornI cInss of fuzzy connocfIvos, !"##$ I180 =75
I$081:0, 4:235-242, l980.
|ll] Yngor, !. nnd . IIIov, ConornfIon of Iuzzy !uIos by MounfnIn
CIusforIng, T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, .
209-2l9, l994.
|l2] Zndoh, !.A., Iuzzy sofs, E79&2:=8(&7 =75 6&782&+, VoI. 8, . 338-353,
l965.
|l3] Zndoh, !.A., OufIIno of n now nronch fo fho nnnIysIs of comIox
sysfoms nnd docIsIon rocossos, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75
6$,12718()0, VoI. 3, o. l, . 28-44, Jnn. l9?3.
<;:F
2 Tutorial
|l4] Zndoh, !.A., Tho concof of n IInguIsfIc vnrInbIo nnd Ifs nIIcnfIon
fo nroxImnfo ronsonIng, Inrfs l, 2, nnd 3, E79&2:=8(&7 I)(17)10, l9?5,
8:l99-249, 8:30l-35?, 9:43-80.
|l5] Zndoh, !.A., Iuzzy !ogIc, 6&:;"812, VoI. l, o. 4, . 83-93, l988.
|l6] Zndoh, !.A., KnowIodgo rorosonfnfIon In fuzzy IogIc, ESSS
*2=70=)8(&70 &7 W7&C+15'1 =75 U=8= S7'(7112(7', VoI. l, . 89-l00, l989.
<;<G
Types of Fuzzy Inference Systems
Types of Fuzzy Inference Systems
You cnn ImIomonf fwo fyos of fuzzy Inforonco sysfoms In fho fooIbox:
MnmdnnI
Sugono
Thoso fwo fyos of Inforonco sysfoms vnry somowhnf In fho wny oufufs nro
doformInod.
MnmdnnI`s fuzzy Inforonco mofhod Is fho mosf commonIy soon fuzzy
mofhodoIogy. MnmdnnI`s mofhod wns nmong fho fIrsf confroI sysfoms buIIf
usIng fuzzy sof fhoory. If wns roosod In l9?5 by IbrnhIm MnmdnnI |ll] ns
nn nffomf fo confroI n sfonm ongIno nnd boIIor combInnfIon by synfhosIzIng
n sof of IInguIsfIc confroI ruIos obfnInod from oxorIoncod humnn oornfors.
MnmdnnI`s offorf wns bnsod on !offI Zndoh`s l9?3 nor on fuzzy nIgorIfhms
for comIox sysfoms nnd docIsIon rocossos |22]. AIfhough fho Inforonco
rocoss doscrIbod In fho noxf fow socfIons dIffors somowhnf from fho mofhods
doscrIbod In fho orIgInnI nor, fho bnsIc Idon Is much fho snmo.
R=:5=7(M8$;1 (791217)1, ns dofInod for fho fooIbox, oxocfs fho oufuf
momborshI funcfIons fo bo fuzzy sofs. Affor fho nggrognfIon rocoss,
fhoro Is n fuzzy sof for onch oufuf vnrInbIo fhnf noods dofuzzIfIcnfIon. If
Is ossIbIo, nnd In mnny cnsos much moro offIcIonf, fo uso n sIngIo sIko
ns fho oufuf momborshI funcfIon rnfhor fhnn n dIsfrIbufod fuzzy sof.
ThIs fyo of oufuf Is somofImos known ns n 0(7'+18&7 oufuf momborshI
funcfIon, nnd If cnn bo fhoughf of ns n ro-dofuzzIfIod fuzzy sof. If onhnncos
fho offIcIoncy of fho dofuzzIfIcnfIon rocoss bocnuso If gronfIy sImIIfIos fho
comufnfIon roquIrod by fho moro gonornI MnmdnnI mofhod, whIch fInds fho
confroId of n fwo-dImonsIonnI funcfIon. !nfhor fhnn InfogrnfIng ncross fho
fwo-dImonsIonnI funcfIon fo fInd fho confroId, you uso fho woIghfod nvorngo
of n fow dnfn oInfs. Sugono-fyo sysfoms suorf fhIs fyo of modoI. In
gonornI, Sugono-fyo sysfoms cnn bo usod fo modoI nny Inforonco sysfom In
whIch fho oufuf momborshI funcfIons nro oIfhor IInonr or consfnnf.
Soo fho IIbIIogrnhy for roforoncos fo doscrIfIons of fhoso fwo fyos of fuzzy
Inforonco sysfoms, |8], |ll], |l6].
Iuzzy Inforonco sysfoms hnvo boon succossfuIIy nIIod In fIoIds such ns
nufomnfIc confroI, dnfn cInssIfIcnfIon, docIsIon nnnIysIs, oxorf sysfoms, nnd
<;<:
2 Tutorial
comufor vIsIon. Iocnuso of Ifs muIfIdIscIIInnry nnfuro, fuzzy Inforonco
sysfoms nro nssocInfod wIfh n numbor of nnmos, such ns fuzzy-ruIo-bnsod
sysfoms, fuzzy oxorf sysfoms, fuzzy modoIIng, fuzzy nssocInfIvo momory,
fuzzy IogIc confroIIors, nnd sImIy (nnd nmbIguousIy) fuzzy sysfoms.
Concepts Whnf Is MnmdnnI-Tyo Iuzzy Inforonco on ngo 2-34
Whnf Is Sugono-Tyo Iuzzy Inforonco on ngo 2-l02
ComnrIson of Sugono nnd MnmdnnI Sysfoms on ngo 2-l08
<;<<
Fuzzy Inference Process
Fuzzy Inference Process
Iuzzy Inforonco Is fho rocoss of formuInfIng fho mnIng from n gIvon Inuf
fo nn oufuf usIng fuzzy IogIc. Tho mnIng fhon rovIdos n bnsIs from whIch
docIsIons cnn bo mndo, or nfforns dIscornod. Tho rocoss of fuzzy Inforonco
InvoIvos nII of fho Iocos fhnf nro doscrIbod In MomborshI IuncfIons on
ngo 2-?, !ogIcnI OornfIons on ngo 2-l2, nnd If-Thon !uIos on ngo 2-l5.
ThIs socfIon doscrIbos fho fuzzy Inforonco rocoss nnd usos fho oxnmIo of
fho fwo-Inuf, ono-oufuf, fhroo-ruIo fIIng robIom Tho InsIc TIIng
IrobIom on ngo l-l2 fhnf you snw In fho InfroducfIon In moro dofnII. Tho
bnsIc sfrucfuro of fhIs oxnmIo Is shown In fho foIIowIng dIngrnm:
Input 1
Service (0-10)
Output
Tip (5-25%)
Input 2
Food (0-10)
S
Dinner for Two
a 2 input, 1 output, 3 rule system
All rules are
evaluated in parallel
using fuzzy
reasoning.
The results of the
rules are combined
and distilled
(defuzzified).
The result is a
crisp (non-fuzzy)
number.
The inputs are crisp
(non-fuzzy)
numbers limited to a
specific range.
If service is excellent or food is
delicious, then tip is generous.
Rule 3
If service is good, then tip is average. Rule 2
If service is poor or food is rancid,
then tip is cheap.
Rule 1
InformnfIon fIows from Ioff fo rIghf, from fwo Inufs fo n sIngIo oufuf. Tho
nrnIIoI nnfuro of fho ruIos Is ono of fho moro Imorfnnf nsocfs of fuzzy IogIc
sysfoms. Insfond of shnr swIfchIng bofwoon modos bnsod on bronkoInfs,
IogIc fIows smoofhIy from rogIons whoro fho sysfom`s bohnvIor Is domInnfod
by oIfhor ono ruIo or nnofhor.
Iuzzy Inforonco rocoss comrIsos of fIvo nrfs:
IuzzIfIcnfIon of fho Inuf vnrInbIos
<;<>
2 Tutorial
AIIcnfIon of fho fuzzy oornfor (A or O!) In fho nnfocodonf
ImIIcnfIon from fho nnfocodonf fo fho consoquonf
AggrognfIon of fho consoquonfs ncross fho ruIos
ofuzzIfIcnfIon
A fuzzy Inforonco dIngrnm dIsInys nII nrfs of fho fuzzy Inforonco rocoss
from fuzzIfIcnfIon fhrough dofuzzIfIcnfIon.
Step 1. Fuzzify Inputs
Tho fIrsf sfo Is fo fnko fho Inufs nnd doformIno fho dogroo fo whIch fhoy
boIong fo onch of fho nrorInfo fuzzy sofs vIn momborshI funcfIons. In
Iuzzy !ogIc TooIbox soffwnro, fho Inuf Is nIwnys n crIs numorIcnI vnIuo
IImIfod fo fho unIvorso of dIscourso of fho Inuf vnrInbIo (In fhIs cnso fho
InforvnI bofwoon 0 nnd l0) nnd fho oufuf Is n fuzzy dogroo of momborshI
In fho qunIIfyIng IInguIsfIc sof (nIwnys fho InforvnI bofwoon 0 nnd l).
IuzzIfIcnfIon of fho Inuf nmounfs fo oIfhor n fnbIo Iooku or n funcfIon
ovnIunfIon.
ThIs oxnmIo Is buIIf on fhroo ruIos, nnd onch of fho ruIos doonds on
rosoIvIng fho Inufs Info n numbor of dIfforonf fuzzy IInguIsfIc sofs: sorvIco
Is oor, sorvIco Is good, food Is rnncId, food Is doIIcIous, nnd so on. Ioforo
fho ruIos cnn bo ovnIunfod, fho Inufs musf bo fuzzIfIod nccordIng fo onch of
fhoso IInguIsfIc sofs. Ior oxnmIo, fo whnf oxfonf Is fho food ronIIy doIIcIous
Tho foIIowIng fIguro shows how woII fho food nf fho hyofhofIcnI rosfnurnnf
(rnfod on n scnIo of 0 fo l0) qunIIfIos, (vIn Ifs momborshI funcfIon), ns fho
IInguIsfIc vnrInbIo doIIcIous. In fhIs cnso, wo rnfod fho food ns nn 8, whIch,
gIvon your grnhIcnI dofInIfIon of doIIcIous, corrosonds fo = 0.? for fho
doIIcIous momborshI funcfIon.
<;<A
Fuzzy Inference Process
delicious
0.7
food is delicious
food = 8
input
Result of
fuzzification
1. Fuzzify
inputs.
In fhIs mnnnor, onch Inuf Is fuzzIfIod ovor nII fho qunIIfyIng momborshI
funcfIons roquIrod by fho ruIos.
Step 2. Apply Fuzzy Operator
Affor fho Inufs nro fuzzIfIod, you know fho dogroo fo whIch onch nrf of
fho nnfocodonf Is snfIsfIod for onch ruIo. If fho nnfocodonf of n gIvon ruIo
hns moro fhnn ono nrf, fho fuzzy oornfor Is nIIod fo obfnIn ono numbor
fhnf rorosonfs fho rosuIf of fho nnfocodonf for fhnf ruIo. ThIs numbor Is
fhon nIIod fo fho oufuf funcfIon. Tho Inuf fo fho fuzzy oornfor Is fwo
or moro momborshI vnIuos from fuzzIfIod Inuf vnrInbIos. Tho oufuf Is
n sIngIo frufh vnIuo.
As Is doscrIbod In !ogIcnI OornfIons on ngo 2-l2 socfIon, nny numbor of
woII-dofInod mofhods cnn fIII In for fho A oornfIon or fho O! oornfIon.
In fho fooIbox, fwo buIIf-In A mofhods nro suorfod: :(7 (mInImum) nnd
;2&5 (roducf). Two buIIf-In O! mofhods nro nIso suorfod: :=- (mnxImum),
nnd fho robnbIIIsfIc O! mofhod ;2&,&2. Tho robnbIIIsfIc O! mofhod (nIso
known ns fho nIgobrnIc sum) Is cnIcuInfod nccordIng fo fho oqunfIon
;2&,&2(=,,) = = + , - =,
In nddIfIon fo fhoso buIIf-In mofhods, you cnn cronfo your own mofhods for
A nnd O! by wrIfIng nny funcfIon nnd soffIng fhnf fo bo your mofhod
of choIco.
Tho foIIowIng fIguro shows fho O! oornfor :=- nf work, ovnIunfIng fho
nnfocodonf of fho ruIo 3 for fho fIIng cnIcuInfIon. Tho fwo dIfforonf Iocos
of fho nnfocodonf (sorvIco Is oxcoIIonf nnd food Is doIIcIous) yIoIdod fho fuzzy
<;<D
2 Tutorial
momborshI vnIuos 0.0 nnd 0.? rosocfIvoIy. Tho fuzzy O! oornfor sImIy
soIocfs fho mnxImum of fho fwo vnIuos, 0.?, nnd fho fuzzy oornfIon for ruIo 3
Is comIofo. Tho robnbIIIsfIc O! mofhod wouId sfIII rosuIf In 0.?.
delicious
excellent
0.0 0.0
0.7
0.7
service is excellent food is delicious or
food = 8
input 2
result of
fuzzy operator
service = 3
input 1
2. Apply
OR operator (max).
1. Fuzzify
inputs.
Step 3. Apply Implication Method
Ioforo nIyIng fho ImIIcnfIon mofhod, you musf doformIno fho ruIo`s
woIghf. Ivory ruIo hns n C1('<8 (n numbor bofwoon 0 nnd l), whIch Is nIIod
fo fho numbor gIvon by fho nnfocodonf. ConornIIy, fhIs woIghf Is l (ns If Is
for fhIs oxnmIo) nnd fhus hns no offocf nf nII on fho ImIIcnfIon rocoss.
Irom fImo fo fImo you mny wnnf fo woIghf ono ruIo roInfIvo fo fho ofhors by
chnngIng Ifs woIghf vnIuo fo somofhIng ofhor fhnn l.
Affor roor woIghfIng hns boon nssIgnod fo onch ruIo, fho ImIIcnfIon mofhod
Is ImIomonfod. A consoquonf Is n fuzzy sof rorosonfod by n momborshI
funcfIon, whIch woIghfs nrorInfoIy fho IInguIsfIc chnrncforIsfIcs fhnf nro
nffrIbufod fo If. Tho consoquonf Is roshnod usIng n funcfIon nssocInfod wIfh
fho nnfocodonf (n sIngIo numbor). Tho Inuf for fho ImIIcnfIon rocoss
Is n sIngIo numbor gIvon by fho nnfocodonf, nnd fho oufuf Is n fuzzy sof.
ImIIcnfIon Is ImIomonfod for onch ruIo. Two buIIf-In mofhods nro suorfod,
nnd fhoy nro fho snmo funcfIons fhnf nro usod by fho A mofhod: :(7
(mInImum), whIch fruncnfos fho oufuf fuzzy sof, nnd ;2&5 (roducf), whIch
scnIos fho oufuf fuzzy sof.
<;<L
Fuzzy Inference Process
delicious
excellent
generous
If service is excellent food is delicious then or tip = generous
food = 8
input 2
result of
implication
service = 3
input 1
3. Apply
Implication
operator (min).
2. Apply
OR operator (max).
1. Fuzzify
inputs.
Antecedent Consequent
Step 4. Aggregate All Outputs
Iocnuso docIsIons nro bnsod on fho fosfIng of nII of fho ruIos In n IIS, fho ruIos
musf bo combInod In somo mnnnor In ordor fo mnko n docIsIon. AggrognfIon Is
fho rocoss by whIch fho fuzzy sofs fhnf rorosonf fho oufufs of onch ruIo nro
combInod Info n sIngIo fuzzy sof. AggrognfIon onIy occurs onco for onch oufuf
vnrInbIo, jusf rIor fo fho fIffh nnd fInnI sfo, dofuzzIfIcnfIon. Tho Inuf of fho
nggrognfIon rocoss Is fho IIsf of fruncnfod oufuf funcfIons rofurnod by fho
ImIIcnfIon rocoss for onch ruIo. Tho oufuf of fho nggrognfIon rocoss Is ono
fuzzy sof for onch oufuf vnrInbIo.
As Iong ns fho nggrognfIon mofhod Is commufnfIvo (whIch If nIwnys shouId
bo), fhon fho ordor In whIch fho ruIos nro oxocufod Is unImorfnnf. Throo
buIIf-In mofhods nro suorfod:
max (mnxImum)
probor (robnbIIIsfIc O!)
sum (sImIy fho sum of onch ruIo`s oufuf sof)
<;<M
2 Tutorial
In fho foIIowIng dIngrnm, nII fhroo ruIos hnvo boon Incod fogofhor fo show
how fho oufuf of onch ruIo Is combInod, or nggrognfod, Info n sIngIo fuzzy sof
whoso momborshI funcfIon nssIgns n woIghfIng for ovory oufuf (fI) vnIuo.
4. Apply
aggregation
method (max).
2. Apply
fuzzy
operation
(OR = max).
1. Fuzzify inputs.
3. Apply
implication
method (min).
0 25% 0 25%
0 25% 0 25%
0 25% 0 25%
0 25%
delicious
average
good
excellent
rancid cheap poor
generous
food = 8
input 2
Result of
aggregation
rule 2 has
no dependency
on input 2
service = 3
input 1
If service is poor food is rancid then or tip = cheap
If service is good then tip = average
If service is excellent food is delicious then or tip = generous
1.
2.
3.
Step 5. Defuzzify
Tho Inuf for fho dofuzzIfIcnfIon rocoss Is n fuzzy sof (fho nggrognfo oufuf
fuzzy sof) nnd fho oufuf Is n sIngIo numbor. As much ns fuzzInoss hoIs
fho ruIo ovnIunfIon durIng fho InformodInfo sfos, fho fInnI dosIrod oufuf
for onch vnrInbIo Is gonornIIy n sIngIo numbor. Howovor, fho nggrognfo of n
fuzzy sof oncomnssos n rnngo of oufuf vnIuos, nnd so musf bo dofuzzIfIod In
ordor fo rosoIvo n sIngIo oufuf vnIuo from fho sof.
Iorhns fho mosf ouInr dofuzzIfIcnfIon mofhod Is fho confroId cnIcuInfIon,
whIch rofurns fho confor of nron undor fho curvo. Thoro nro fIvo buIIf-In
<;<E
Fuzzy Inference Process
mofhods suorfod: confroId, bIsocfor, mIddIo of mnxImum (fho nvorngo of
fho mnxImum vnIuo of fho oufuf sof), Inrgosf of mnxImum, nnd smnIIosf
of mnxImum.
5. Defuzzify the
aggregate output
(centroid).
Result of
defuzzification
tip = 16.7%
0 25%
Fuzzy Inference Diagram
Tho fuzzy Inforonco dIngrnm Is fho comosIfo of nII fho smnIIor dIngrnms
rosonfod so fnr In fhIs socfIon. If sImuIfnnoousIy dIsInys nII nrfs of fho
fuzzy Inforonco rocoss you hnvo oxnmInod. InformnfIon fIows fhrough fho
fuzzy Inforonco dIngrnm ns shown In fho foIIowIng fIguro.
<;<F
2 Tutorial
input 2 input 1
1. if and then
2. if and then
output
Interpreting the
fuzzy inference
diagram
In fhIs fIguro, fho fIow rocoods u from fho Inufs In fho Iowor Ioff, fhon
ncross onch row, or ruIo, nnd fhon down fho ruIo oufufs fo fInIsh In fho Iowor
rIghf. ThIs comncf fIow shows ovoryfhIng nf onco, from IInguIsfIc vnrInbIo
fuzzIfIcnfIon nII fho wny fhrough dofuzzIfIcnfIon of fho nggrognfo oufuf.
<;>G
Fuzzy Inference Process
Tho foIIowIng fIguro shows fho ncfunI fuII-sIzo fuzzy Inforonco dIngrnm. Thoro
Is n Iof fo soo In n fuzzy Inforonco dIngrnm, buf nffor you bocomo nccusfomod
fo If, you cnn Ionrn n Iof nbouf n sysfom vory quIckIy. Ior Insfnnco, from fhIs
dIngrnm wIfh fhoso nrfIcuInr Inufs, you cnn onsIIy soo fhnf fho ImIIcnfIon
mofhod Is fruncnfIon wIfh fho :(7 funcfIon. Tho :=- funcfIon Is boIng usod
for fho fuzzy O! oornfIon. !uIo 3 (fho boffom-mosf row In fho dIngrnm
shown rovIousIy) Is hnvIng fho sfrongosf InfIuonco on fho oufuf. nnd so on.
Tho !uIo VIowor doscrIbod In Tho !uIo VIowor on ngo 2-56 Is n MAT!AI
ImIomonfnfIon of fho fuzzy Inforonco dIngrnm.
Concepts MomborshI IuncfIons on ngo 2-?
!ogIcnI OornfIons on ngo 2-l2
<;>:
2 Tutorial
If-Thon !uIos on ngo 2-l5
<;><
Customization
Customization
Ono of fho rImnry gonIs of Iuzzy !ogIc TooIbox soffwnro Is fo hnvo nn
oon nnd onsIIy modIfIod fuzzy Inforonco sysfom sfrucfuro. Tho fooIbox Is
dosIgnod fo gIvo you ns much froodom ns ossIbIo, wIfhIn fho bnsIc consfrnInfs
of fho rocoss doscrIbod, fo cusfomIzo fho fuzzy Inforonco rocoss for your
nIIcnfIon.
IuIId MnmdnnI Sysfoms (C!I) on ngo 2-35 doscrIbos oxncfIy how fo buIId
nnd ImIomonf n fuzzy Inforonco sysfom usIng fho fooIs rovIdod. To Ionrn
how fo cusfomIzo n fuzzy Inforonco sysfom, soo IuIId MnmdnnI Sysfoms
!sIng Cusfom IuncfIons on ngo 2-6l.
<;>>
2 Tutorial
What Is Mamdani-Type Fuzzy Inference?
MnmdnnI`s fuzzy Inforonco mofhod Is fho mosf commonIy soon fuzzy
mofhodoIogy. MnmdnnI`s mofhod wns nmong fho fIrsf confroI sysfoms buIIf
usIng fuzzy sof fhoory. If wns roosod In l9?5 by IbrnhIm MnmdnnI |ll] ns
nn nffomf fo confroI n sfonm ongIno nnd boIIor combInnfIon by synfhosIzIng
n sof of IInguIsfIc confroI ruIos obfnInod from oxorIoncod humnn oornfors.
MnmdnnI`s offorf wns bnsod on !offI Zndoh`s l9?3 nor on fuzzy nIgorIfhms
for comIox sysfoms nnd docIsIon rocossos |22]. AIfhough fho Inforonco
rocoss doscrIbod In fho noxf fow socfIons dIffors somowhnf from fho mofhods
doscrIbod In fho orIgInnI nor, fho bnsIc Idon Is much fho snmo.
R=:5=7(M8$;1 (791217)1, ns dofInod for fho fooIbox, oxocfs fho oufuf
momborshI funcfIons fo bo fuzzy sofs. Affor fho nggrognfIon rocoss, fhoro Is
n fuzzy sof for onch oufuf vnrInbIo fhnf noods dofuzzIfIcnfIon.
Related
Examples
IuIId MnmdnnI Sysfoms (C!I) on ngo 2-35
IuIId MnmdnnI Sysfoms (Codo) on ngo 2-?5
IuIId MnmdnnI Sysfoms !sIng Cusfom IuncfIons on ngo 2-6l
Concepts ComnrIson of Sugono nnd MnmdnnI Sysfoms on ngo 2-l08
Whnf Is Sugono-Tyo Iuzzy Inforonco on ngo 2-l02
<;>A
Build Mamdani Systems (GUI)
Build Mamdani Systems (GUI)
In this section...
How fo IuIId MnmdnnI Sysfoms !sIng Iuzzy !ogIc TooIbox CrnhIcnI
!sor Inforfnco TooIs on ngo 2-35
Tho InsIc TIIng IrobIom on ngo 2-3?
Tho IIS IdIfor on ngo 2-38
Tho MomborshI IuncfIon IdIfor on ngo 2-43
Tho !uIo IdIfor on ngo 2-52
Tho !uIo VIowor on ngo 2-56
Tho Surfnco VIowor on ngo 2-58
ImorfIng nnd IxorfIng from fho C!I TooIs on ngo 2-60
How to Build Mamdani Systems Using Fuzzy Logic
Toolbox Graphical User Interface Tools
ThIs oxnmIo shows how fo buIId n Iuzzy Inforonco Sysfom (IIS) for fho
fIIng oxnmIo, doscrIbod In Tho InsIc TIIng IrobIom on ngo 2-3?,
usIng fho Iuzzy !ogIc TooIbox grnhIcnI usor Inforfnco (C!I) fooIs.
You uso fho foIIowIng grnhIcnI fooIs fo buIId, odIf, nnd vIow fuzzy Inforonco
sysfoms:
+,--. =%K")"%1" '.8#"N R+='S Y*$#0) fo hnndIo fho hIgh-IovoI Issuos for
fho sysfomHow mnny Inuf nnd oufuf vnrInbIos Whnf nro fhoIr nnmos
Iuzzy !ogIc TooIbox soffwnro doos nof IImIf fho numbor of Inufs.
Howovor, fho numbor of Inufs mny bo IImIfod by fho nvnIInbIo momory
of your mnchIno. If fho numbor of Inufs Is foo Inrgo, or fho numbor of
momborshI funcfIons Is foo bIg, fhon If mny nIso bo dIffIcuIf fo nnnIyzo
fho IIS usIng fho ofhor C!I fooIs.
P"N4")8@$9 +,%1#$0% Y*$#0) fo dofIno fho shnos of nII fho momborshI
funcfIons nssocInfod wIfh onch vnrInbIo
[,3" Y*$#0) fo odIf fho IIsf of ruIos fhnf dofInos fho bohnvIor of fho sysfom.
<;>D
2 Tutorial
[,3" \$"W") fo vIow fho fuzzy Inforonco dIngrnm. !so fhIs vIowor ns n
dIngnosfIc fo soo, for oxnmIo, whIch ruIos nro ncfIvo, or how IndIvIdunI
momborshI funcfIon shnos InfIuonco fho rosuIfs
',)K(1" \$"W") fo vIow fho doondoncy of ono of fho oufufs on nny ono
or fwo of fho Inufsfhnf Is, If gonornfos nnd Iofs nn oufuf surfnco mn
for fho sysfom.
Thoso C!Is nro dynnmIcnIIy IInkod, In fhnf chnngos you mnko fo fho IIS
usIng ono of fhom, nffocf whnf you soo on nny of fho ofhor oon C!Is. Ior
oxnmIo, If you chnngo fho nnmos of fho momborshI funcfIons In fho
MomborshI IuncfIon IdIfor, fho chnngos nro rofIocfod In fho ruIos shown In
fho !uIo IdIfor. You cnn uso fho C!Is fo rond nnd wrIfo vnrInbIos bofh fo fho
MAT!AI worksnco nnd fo n fIIo (fho rond-onIy vIowors cnn sfIII oxchnngo
Iofs wIfh fho worksnco nnd snvo fhom fo n fIIo). You cnn hnvo nny or nII of
fhom oon for nny gIvon sysfom or hnvo muIfIIo odIfors oon for nny numbor
of IIS sysfoms.
Fuzzy
Inference
System
FIS Editor
Membership
Function Editor
Rule Editor
Rule Viewer Surface Viewer
Read-only
tools
<;>L
Build Mamdani Systems (GUI)
Tho foIIowIng fIguro shows how fho mnIn comononfs of n IIS nnd fho fhroo
odIfors fIf fogofhor. Tho fwo vIowors oxnmIno fho bohnvIor of fho onfIro
sysfom.
Input
The General Case... A Specific Example...
Rules
Input
terms
(interpret)
Output
terms
(assign)
Output service
if service is poor then tip is cheap
if service is good then tip is average
if service is excellent then tip is generous
{poor,
good,
excellent}
{cheap,
average,
generous}
service = tip =
tip
The GUI Editors...
The FIS Editor
The Rule Editor
The Membership
Function Editor
In nddIfIon fo fhoso fIvo rImnry C!Is, fho fooIbox IncIudos fho grnhIcnI
AIIS IdIfor C!I, whIch you uso fo buIId nnd nnnIyzo Sugono-fyo ndnfIvo
nouro-fuzzy Inforonco sysfoms.
Tho Iuzzy !ogIc TooIbox C!Is do nof suorf buIIdIng IIS usIng dnfn. If you
wnnf fo uso dnfn fo buIId n IIS, uso ono of fho foIIowIng fochnIquos:
genfis1, genfis2, or genfis3 commnnds fo gonornfo n Sugono-fyo IIS.
Thon, soIocf +$3" ] =N90)# In fho IIS IdIfor fo Imorf fho IIS nnd orform
fuzzy Inforonco, ns doscrIbod In Tho IIS IdIfor on ngo 2-38.
ouro-ndnfIvo IonrnIng fochnIquos fo modoI fho IIS, ns doscrIbod In nnfIs
nnd fho AIIS IdIfor C!I on ngo 2-l09.
If you wnn fo uso MAT!AI worksnco vnrInbIos, uso fho commnnd-IIno
Inforfnco Insfond of fho IIS IdIfor. Ior nn oxnmIo, soo IuIIdIng n Sysfom
from Scrnfch on ngo 2-8l.
The Basic Tipping Problem
ThIs oxnmIo usos n fwo-Inuf, ono-oufuf fIIng robIom bnsod on fIIng
rncfIcos In fho !.S.
<;>M
2 Tutorial
CIvon n numbor bofwoon 0 nnd l0 fhnf rorosonfs fho qunIIfy of sorvIco nf
n rosfnurnnf (whoro l0 Is oxcoIIonf), nnd nnofhor numbor bofwoon 0 nnd
l0 fhnf rorosonfs fho qunIIfy of fho food nf fhnf rosfnurnnf (ngnIn, l0 Is
oxcoIIonf), whnf shouId fho fI bo
Tho sfnrfIng oInf Is fo wrIfo down fho fhroo goIdon ruIos of fIIng:
1 E9 8<1 012>()1 (0 ;&&2 &2 8<1 9&&5 (0 2=7)(5? 8<17 8(; (0 )<1=;@
2 E9 8<1 012>()1 (0 '&&5? 8<17 8(; (0 =>12='1@
3 E9 8<1 012>()1 (0 1-)1++178 &2 8<1 9&&5 (0 51+()(&"0? 8<17 8(; (0 '1712&"0@
Assumo fhnf nn nvorngo fI Is l5, n gonorous fI Is 25, nnd n chon fI Is
5.
ObvIousIy fho numbors nnd fho shno of fho curvo nro subjocf fo IocnI
frndIfIons, cuIfurnI bIns, nnd so on, buf fho fhroo ruIos nro gonornIIy unIvorsnI.
ow fhnf you know fho ruIos nnd hnvo nn Idon of whnf fho oufuf shouId
Iook IIko, uso fho C!I fooIs fo consfrucf n fuzzy Inforonco sysfom for fhIs
docIsIon rocoss.
The FIS Editor
Tho IIS IdIfor dIsInys InformnfIon nbouf n fuzzy Inforonco sysfom. To oon
fho IIS IdIfor, fyo fho foIIowIng commnnd nf fho MAT!AI romf:
<;>E
Build Mamdani Systems (GUI)
fuzzy
Tho IIS IdIfor oons nnd dIsInys n dIngrnm of fho fuzzy Inforonco sysfom
wIfh fho nnmos of onch Inuf vnrInbIo on fho Ioff, nnd fhoso of onch oufuf
vnrInbIo on fho rIghf, ns shown In fho noxf fIguro. Tho snmIo momborshI
funcfIons shown In fho boxos nro jusf Icons nnd do nof doIcf fho ncfunI
shnos of fho momborshI funcfIons.
Menu commands for
saving, opening, or editing
a fuzzy system.
Double-click the input
variable icon to open the
Membership Function Editor.
Double-click the
system diagram to
open the Rule Editor.
Double-click the output
variable icon to open the
Membership Function Editor.
IoIow fho dIngrnm Is fho nnmo of fho sysfom nnd fho fyo of Inforonco usod.
<;>F
2 Tutorial
Name of the system.
To change it, select
File > Export > To Workspace.
Options for adjusting the fuzzy
inference functions, such
as the defuzzification method.
Status line describes
the most recent operation.
Name of the selected input
or output variables.
In fhIs oxnmIo, you uso fho dofnuIf MnmdnnI-fyo Inforonco. Anofhor fyo
of Inforonco, cnIIod Sugono-fyo Inforonco, Is nIso nvnIInbIo. Soo Whnf Is
Sugono-Tyo Iuzzy Inforonco on ngo 2-l02.
In fho IIS IdIfor:
Tho dro-down IIsfs Iof you modIfy fho fuzzy Inforonco funcfIons.
Tho O,))"%# \()$(43" nron dIsInys fho nnmo of oIfhor nn Inuf or oufuf
vnrInbIo, Ifs fyo, nnd dofnuIf rnngo.
A sfnfus IIno nf fho boffom dIsInys InformnfIon nbouf fho mosf roconf
oornfIon.
To buIId fho Iuzzy Inforonco Sysfom doscrIbod In Tho InsIc TIIng
IrobIom on ngo 2-3? from scrnfch, fyo fho foIIowIng commnnd nf fho
MAT!AI romf:
fuzzy
<;AG
Build Mamdani Systems (GUI)
Tho gonorIc unfIfIod IIS IdIfor oons, wIfh ono Inuf $%9,#:, nnd ono oufuf
0,#9,#:.
Tip To oon fho IIS IdIfor wIfh fho robuIIf fuzzy Inforonco sysfom sforod
In tipper.fis, fyo
fuzzy tipper
Howovor, If you Iond fho robuIIf sysfom, you wIII nof buIId ruIos or consfrucf
momborshI funcfIons.
In fhIs oxnmIo, you consfrucf n fwo-Inuf, ono oufuf sysfom. Tho fwo
Inufs nro 8")H$1" nnd K00*. Tho ono oufuf Is #$9.
To ndd n socond Inuf vnrInbIo nnd chnngo fho vnrInbIo nnmos fo rofIocf fhoso
dosIgnnfIons:
<;A:
2 Tutorial
1 SoIocf Y*$# ] X** H()$(43" ] =%9,#.
A socond yoIIow box InboIod $%9,#< nonrs.
2 CIIck fho yoIIow box $%9,#:. ThIs box Is hIghIIghfod wIfh n rod oufIIno.
3 IdIf fho J(N" fIoId from input1 fo service, nnd ross Y%#").
4 CIIck fho yoIIow box $%9,#<. ThIs box Is hIghIIghfod wIfh n rod oufIIno.
5 IdIf fho J(N" fIoId from input2 fo food, nnd ross Y%#").
6 CIIck fho bIuo box 0,#9,#:.
7 IdIf fho J(N" fIoId from output1 fo tip, nnd ross Y%#").
8 SoIocf +$3" ] Y590)# ] 20 B0)T89(1".
9 Infor fho B0)T89(1" H()$(43" nnmo tipper, nnd cIIck V^.
Tho dIngrnm Is udnfod fo rofIocf fho now nnmos of fho Inuf nnd oufuf
vnrInbIos. Thoro Is now n now vnrInbIo In fho worksnco cnIIod tipper fhnf
confnIns nII fho InformnfIon nbouf fhIs sysfom. Iy snvIng fo fho worksnco
wIfh n now nnmo, you nIso ronnmo fho onfIro sysfom. Your wIndow Iooks
somofhIng IIko fho foIIowIng dIngrnm.
<;A<
Build Mamdani Systems (GUI)
!onvo fho Inforonco ofIons In fho Iowor Ioff In fhoIr dofnuIf osIfIons for now.
You hnvo onforod nII fho InformnfIon you nood for fhIs nrfIcuInr C!I. oxf,
dofIno fho momborshI funcfIons nssocInfod wIfh onch of fho vnrInbIos. To do
fhIs, oon fho MomborshI IuncfIon IdIfor.
You cnn oon fho MomborshI IuncfIon IdIfor In ono of fhroo wnys:
WIfhIn fho IIS IdIfor wIndow, soIocf Y*$# ] P"N4")8@$9 +,%1#$0%8I.
WIfhIn fho IIS IdIfor wIndow, doubIo-cIIck fho bIuo Icon cnIIod #$9.
Af fho commnnd IIno, fyo mfedit.
The Membership Function Editor
Tho MomborshI IuncfIon IdIfor Is fho fooI fhnf Iofs you dIsIny nnd odIf
nII of fho momborshI funcfIons nssocInfod wIfh nII of fho Inuf nnd oufuf
vnrInbIos for fho onfIro fuzzy Inforonco sysfom. Tho MomborshI IuncfIon
<;A>
2 Tutorial
IdIfor shnros somo fonfuros wIfh fho IIS IdIfor, ns shown In fho noxf fIguro.
In fncf, nII of fho fIvo bnsIc C!I fooIs hnvo sImIInr monu ofIons, sfnfus IInos,
nnd _"39 nnd O308" buffons.
Menu commands for
saving, opening, and editing
a fuzzy system.
"Variable Palette" area.
Click a variable to edit its
membership functions.
Graph displays all
membership functions
for the selected variable.
Click a line to change its attributes,
such as name, type, and numerical parameters.
Drag the curve to move it or to change its shape.
<;AA
Build Mamdani Systems (GUI)
This status line
describes the most
recent operation.
Name and type of
current variable.
Set the range
of the current variable.
Set the display range
of the current plot.
Select the type of
current membership
function.
Change the numerical
parameters for current
membership function.
Edit name of current
membership function.
Whon you oon fho MomborshI IuncfIon IdIfor fo work on n fuzzy Inforonco
sysfom fhnf doos nof nIrondy oxIsf In fho worksnco, fhoro nro no momborshI
funcfIons nssocInfod wIfh fho vnrInbIos fhnf you dofInod wIfh fho IIS IdIfor.
On fho uor-Ioff sIdo of fho grnh nron In fho MomborshI IuncfIon IdIfor Is
n VnrInbIo InIoffo fhnf Iofs you sof fho momborshI funcfIons for n gIvon
vnrInbIo.
To sof u fho momborshI funcfIons nssocInfod wIfh nn Inuf or nn oufuf
vnrInbIo for fho IIS, soIocf n IIS vnrInbIo In fhIs rogIon by cIIckIng If.
oxf soIocf fho Y*$# uII-down monu, nnd chooso X** P+8 I. A now wIndow
nonrs, whIch nIIows you fo soIocf bofh fho momborshI funcfIon fyo nnd
fho numbor of momborshI funcfIons nssocInfod wIfh fho soIocfod vnrInbIo.
In fho Iowor-rIghf cornor of fho wIndow nro fho confroIs fhnf Iof you chnngo
fho nnmo, fyo, nnd nrnmofors (shno), of fho momborshI funcfIon, nffor
If Is soIocfod.
Tho momborshI funcfIons from fho curronf vnrInbIo nro dIsInyod In fho mnIn
grnh. Thoso momborshI funcfIons cnn bo mnnIuInfod In fwo wnys. You
<;AD
2 Tutorial
cnn fIrsf uso fho mouso fo soIocf n nrfIcuInr momborshI funcfIon nssocInfod
wIfh n gIvon vnrInbIo qunIIfy, (such ns oor, for fho vnrInbIo, sorvIco), nnd
fhon drng fho momborshI funcfIon from sIdo fo sIdo. ThIs ncfIon nffocfs fho
mnfhomnfIcnI doscrIfIon of fho qunIIfy nssocInfod wIfh fhnf momborshI
funcfIon for n gIvon vnrInbIo. Tho soIocfod momborshI funcfIon cnn nIso bo
fnggod for dIInfIon or confrncfIon by cIIckIng on fho smnII squnro drng oInfs
on fho momborshI funcfIon, nnd fhon drnggIng fho funcfIon wIfh fho mouso
fownrd fho &"80(51, for dIInfIon, or fownrd fho (70(51, for confrncfIon. ThIs
ncfIon chnngos fho nrnmofors nssocInfod wIfh fhnf momborshI funcfIon.
IoIow fho VnrInbIo InIoffo Is somo InformnfIon nbouf fho fyo nnd nnmo of
fho curronf vnrInbIo. Thoro Is n foxf fIoId In fhIs rogIon fhnf Iofs you chnngo
fho IImIfs of fho curronf vnrInbIo`s rnngo (unIvorso of dIscourso) nnd nnofhor
fhnf Iofs you sof fho IImIfs of fho curronf Iof (whIch hns no ronI offocf on
fho sysfom).
Tho rocoss of socIfyIng fho momborshI funcfIons for fho fwo Inuf fIIng
oxnmIo, tipper, Is ns foIIows:
1 oubIo-cIIck fho Inuf vnrInbIo service fo oon fho MomborshI IuncfIon
IdIfor.
<;AL
Build Mamdani Systems (GUI)
2 In fho MomborshI IuncfIon IdIfor, onfor [0 10] In fho [(%&" nnd fho
7$893(. [(%&" fIoIds.
3 Cronfo momborshI funcfIons for fho Inuf vnrInbIo service.
a SoIocf Y*$# ] ["N0H" X33 P+8 fo romovo fho dofnuIf momborshI
funcfIons for fho Inuf vnrInbIo service.
b SoIocf Y*$# ] X** P+8I fo oon fho MomborshI IuncfIons dInIog box.
c In fho MomborshI IuncfIons dInIog box, soIocf gaussmf ns fho P+
2.9".
<;AM
2 Tutorial
d VorIfy fhnf 3 Is soIocfod ns fho J,N4") 0K P+8.
e CIIck V^ fo ndd fhroo CnussInn curvos fo fho Inuf vnrInbIo service.
4 !onnmo fho momborshI funcfIons for fho Inuf vnrInbIo service, nnd
socIfy fhoIr nrnmofors.
a CIIck on fho curvo nnmod mf1 fo soIocf If, nnd socIfy fho foIIowIng fIoIds
In fho O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor poor.
In fho 6()(N8 fIoId, onfor [1.5 0].
Tho fwo Inufs of 6()(N8 rorosonf fho sfnndnrd dovInfIon nnd
confor for fho CnussInn curvo.
Tip To ndjusf fho shno of fho momborshI funcfIon, fyo In fho
dosIrod nrnmofors or uso fho mouso, ns doscrIbod rovIousIy.
b CIIck on fho curvo nnmod mf2 fo soIocf If, nnd socIfy fho foIIowIng fIoIds
In fho O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor good.
In fho 6()(N8 fIoId, onfor [1.5 5].
c CIIck on fho curvo nnmod mf3, nnd socIfy fho foIIowIng fIoIds In fho
O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor excellent.
In fho 6()(N8 fIoId, onfor [1.5 10].
<;AE
Build Mamdani Systems (GUI)
Tho MomborshI IuncfIon IdIfor wIndow Iooks sImIInr fo fho foIIowIng
fIguro.
5 In fho +=' \()$(43"8 nron, cIIck fho Inuf vnrInbIo food fo soIocf If.
6 Infor [0 10] In fho [(%&" nnd fho 7$893(. [(%&" fIoIds.
7 Cronfo fho momborshI funcfIons for fho Inuf vnrInbIo food.
a SoIocf Y*$# ] ["N0H" X33 P+8 fo romovo fho dofnuIf MomborshI
IuncfIons for fho Inuf vnrInbIo food.
b SoIocf Y*$# ] X** P+8 fo oon fho MomborshI IuncfIons dInIog box.
c In fho MomborshI IuncfIons dInIog box, soIocf trapmf ns fho P+ 2.9".
d SoIocf 2 In fho J,N4") 0K P+8 dro-down IIsf.
<;AF
2 Tutorial
e CIIck V^ fo ndd fwo frnozoIdnI curvos fo fho Inuf vnrInbIo food.
8 !onnmo fho momborshI funcfIons for fho Inuf vnrInbIo food, nnd socIfy
fhoIr nrnmofors:
a In fho +=' \()$(43"8 nron, cIIck fho Inuf vnrInbIo food fo soIocf If.
b CIIck on fho curvo nnmod mf1, nnd socIfy fho foIIowIng fIoIds In fho
O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor rancid.
In fho 6()(N8 fIoId, onfor [0 0 1 3].
c CIIck on fho curvo nnmod mf2 fo soIocf If, nnd onfor delicious In fho
J(N" fIoId.
!osof fho nssocInfod nrnmofors If dosIrod.
9 CIIck on fho oufuf vnrInbIo tip fo soIocf If.
10 Infor [0 30] In fho [(%&" nnd fho 7$893(. [(%&" fIoIds fo covor fho
oufuf rnngo.
Tho Inufs rnngos from 0 fo l0, buf fho oufuf Is n fI bofwoon 5 nnd 25.
11 !onnmo fho dofnuIf frInnguInr momborshI funcfIons for fho oufuf
vnrInbIo tip, nnd socIfy fhoIr nrnmofors.
a CIIck fho curvo nnmod mf1 fo soIocf If, nnd socIfy fho foIIowIng fIoIds In
fho O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor cheap.
In fho 6()(N8 fIoId, onfor [0 5 10].
b CIIck fho curvo nnmod mf2 fo soIocf If, nnd socIfy fho foIIowIng fIoIds In
fho O,))"%# P"N4")8@$9 +,%1#$0% R13$1T 0% P+ #0 8"3"1#S nron:
In fho J(N" fIoId, onfor average.
In fho 6()(N8 fIoId, onfor [10 15 20].
c CIIck fho curvo nnmod mf3 fo soIocf If, nnd socIfy fho foIIowIng:
In fho J(N" fIoId, onfor generous.
In fho 6()(N8 fIoId, onfor [20 25 30].
<;DG
Build Mamdani Systems (GUI)
Tho MomborshI IuncfIon IdIfor Iooks sImIInr fo fho foIIowIng fIguro.
ow fhnf fho vnrInbIos hnvo boon nnmod nnd fho momborshI funcfIons
hnvo nrorInfo shnos nnd nnmos, you cnn onfor fho ruIos. To cnII u fho
!uIo IdIfor, go fo fho Y*$# monu nnd soIocf [,3"8, or fyo ruleedit nf fho
commnnd IIno.
<;D:
2 Tutorial
The Rule Editor
Input or output selection menus.
The rules are
entered
automatically
using the GUI
tools.
The menu items allow
you to save, open, or
edit a fuzzy system
using any of the five
basic GUI tools.
Link input
statements in rules.
This status line
describes the most
recent operation.
Negate input or output
statements in rules.
Create or edit rules with the GUI buttons and
choices from the input or output selection menus.
The Help button
gives some
information about
how the Rule Editor
works, and the
Close button closes
the window.
ConsfrucfIng ruIos usIng fho grnhIcnI !uIo IdIfor Inforfnco Is fnIrIy soIf
ovIdonf. Insod on fho doscrIfIons of fho Inuf nnd oufuf vnrInbIos dofInod
wIfh fho IIS IdIfor, fho !uIo IdIfor nIIows you fo consfrucf fho ruIo
sfnfomonfs nufomnfIcnIIy, Irom fho C!I, you cnn:
Cronfo ruIos by soIocfIng nn Ifom In onch Inuf nnd oufuf vnrInbIo box,
soIocfIng ono O0%%"1#$0% Ifom, nnd cIIckIng X** [,3". You cnn chooso
<;D<
Build Mamdani Systems (GUI)
none ns ono of fho vnrInbIo qunIIfIos fo oxcIudo fhnf vnrInbIo from n gIvon
ruIo nnd chooso not undor nny vnrInbIo nnmo fo nognfo fho nssocInfod
qunIIfy.
oIofo n ruIo by soIocfIng fho ruIo nnd cIIckIng 7"3"#" [,3".
IdIf n ruIo by chnngIng fho soIocfIon In fho vnrInbIo box nnd cIIckIng
O@(%&" [,3".
SocIfy woIghf fo n ruIo by fyIng In n dosIrod numbor bofwoon 0 nnd 1 In
B"$&@#. If you do nof socIfy fho woIghf, If Is nssumod fo bo unIfy (1).
SImIInr fo fhoso In fho IIS IdIfor nnd fho MomborshI IuncfIon IdIfor, fho
!uIo IdIfor hns fho monu bnr nnd fho sfnfus IIno. Tho monu Ifoms nIIow
you fo oon, cIoso, snvo nnd odIf n fuzzy sysfom usIng fho fIvo bnsIc C!I
fooIs. Irom fho monu, you cnn nIso:
Sof fho formnf for fho dIsIny by soIocfIng V9#$0%8 ] +0)N(#.
Sof fho Inngungo by soIocfIng V9#$0%8 ] /(%&,(&".
You cnn nccoss InformnfIon nbouf fho !uIo IdIfor by cIIckIng _"39 nnd cIoso
fho C!I usIng O308".
To Insorf fho fIrsf ruIo In fho !uIo IdIfor, soIocf fho foIIowIng:
poor undor fho vnrInbIo 8")H$1"
rancid undor fho vnrInbIo K00*
Tho 0) rndIo buffon, In fho O0%%"1#$0% bIock
cheap, undor fho oufuf vnrInbIo, #$9.
Thon, cIIck X** ),3".
Tho rosuIfIng ruIo Is
X@ E9 F012>()1 (0 ;&&2G &2 F9&&5 (0 2=7)(5G 8<17 F8(; (0 )<1=;G FXG
Tho numbors In fho nronfhosos rorosonf woIghfs.
IoIIow n sImIInr rocoduro fo Insorf fho socond nnd fhIrd ruIos In fho !uIo
IdIfor fo gof
<;D>
2 Tutorial
1 E9 F012>()1 (0 ;&&2G &2 F9&&5 (0 2=7)(5G 8<17 F8(; (0 )<1=;G FXG
2 E9 F012>()1 (0 '&&5G 8<17 F8(; (0 =>12='1G FXG
3 E9 F012>()1 (0 1-)1++178G &2 F9&&5 (0 51+()(&"0G 8<17 F8(; (0 '1712&"0G FXG
Tip To chnngo n ruIo, fIrsf cIIck on fho ruIo fo bo chnngod. oxf mnko fho
dosIrod chnngos fo fhnf ruIo, nnd fhon cIIck O@(%&" ),3". Ior oxnmIo, fo
chnngo fho fIrsf ruIo fo
X@ E9 F012>()1 7&8 ;&&2G &2 F9&&5 7&8 2=7)(5G 8<17 F8(; (0 7&8 )<1=;G FXG
SoIocf fho %0# chock box undor onch vnrInbIo, nnd fhon cIIck O@(%&" ),3".
Tho +0)N(# o-u monu from fho V9#$0%8 monu IndIcnfos fhnf you nro
IookIng nf fho vorboso form of fho ruIos. Try chnngIng If fo symbolic. You
wIII soo
X@ F012>()1NN;&&2G Y F9&&5NN2=7)(5G NZ F8(;N)<1=;G FXG
[@ F012>()1NN'&&5G NZ F8(;N=>12='1G FXG
\@ F012>()1NN1-)1++178G Y F9&&5NN51+()(&"0G NZ F8(;N'1712&"0G FXG
Thoro Is nof much dIfforonco In fho dIsIny ronIIy, buf If Is sIIghfIy moro
Inngungo noufrnI, bocnuso If doos nof doond on forms IIko (9 nnd 8<17. If
you chnngo fho formnf fo Indoxod, you soo nn oxfromoIy comrossod vorsIon
of fho ruIos.
X X? X FXG P [
[ ]? [ FXG P X
\ [? \ FXG P [
ThIs Is fho vorsIon of fho ruIos fhnf fho mnchIno donIs wIfh.
Tho fIrsf coIumn In fhIs sfrucfuro corrosonds fo fho Inuf vnrInbIos.
Tho socond coIumn corrosonds fo fho oufuf vnrInbIo.
Tho fhIrd coIumn dIsInys fho woIghf nIIod fo onch ruIo.
Tho fourfh coIumn Is shorfhnnd fhnf IndIcnfos whofhor fhIs Is nn O! (2)
ruIo or nn A (l) ruIo.
<;DA
Build Mamdani Systems (GUI)
Tho numbors In fho fIrsf fwo coIumns rofor fo fho Indox numbor of fho
momborshI funcfIon.
A IIfornI InforrofnfIon of ruIo l Is If Inuf l Is MIl (fho fIrsf momborshI
funcfIon nssocInfod wIfh Inuf l) or If Inuf 2 Is MIl, fhon oufuf l shouId
bo MIl (fho fIrsf momborshI funcfIon nssocInfod wIfh oufuf l) wIfh fho
woIghf l.
Tho symboIIc formnf doos nof consIdor fho forms, (9, 8<17, nnd so on. Tho
Indoxod formnf doosn`f ovon bofhor wIfh fho nnmos of your vnrInbIos.
ObvIousIy fho funcfIonnIIfy of your sysfom doosn`f doond on how woII you
hnvo nnmod your vnrInbIos nnd momborshI funcfIons. Tho whoIo oInf of
nnmIng vnrInbIos doscrIfIvoIy Is, ns nIwnys, mnkIng fho sysfom onsIor for
you fo Inforrof. Thus, unIoss you hnvo somo socInI uroso In mInd, If Is
robnbIy bo onsIor for you fo confInuo wIfh fho H")408" formnf.
Af fhIs oInf, fho fuzzy Inforonco sysfom hns boon comIofoIy dofInod, In fhnf
fho vnrInbIos, momborshI funcfIons, nnd fho ruIos nocossnry fo cnIcuInfo fIs
nro In Inco. ow, Iook nf fho fuzzy Inforonco dIngrnm rosonfod nf fho ond of
fho rovIous socfIon nnd vorIfy fhnf ovoryfhIng Is bohnvIng fho wny you fhInk
If shouId. You cnn uso fho !uIo VIowor, fho noxf of fho C!I fooIs wo`II Iook nf.
Irom fho \$"W monu, soIocf [,3"8.
<;DD
2 Tutorial
The Rule Viewer
Tho !uIo VIowor dIsInys n rondmn of fho whoIo fuzzy Inforonco rocoss. If
Is bnsod on fho fuzzy Inforonco dIngrnm doscrIbod In fho rovIous socfIon. You
soo n sIngIo fIguro wIndow wIfh l0 Iofs nosfod In If. Tho fhroo Iofs ncross
fho fo of fho fIguro rorosonf fho nnfocodonf nnd consoquonf of fho fIrsf ruIo.
Inch ruIo Is n row of Iofs, nnd onch coIumn Is n vnrInbIo. Tho ruIo numbors
nro dIsInyod on fho Ioff of onch row. You cnn cIIck on n ruIo numbor fo vIow
fho ruIo In fho sfnfus IIno.
Tho fIrsf fwo coIumns of Iofs (fho sIx yoIIow Iofs) show fho momborshI
funcfIons roforoncod by fho nnfocodonf, or fho If-nrf of onch ruIo.
Tho fhIrd coIumn of Iofs (fho fhroo bIuo Iofs) shows fho momborshI
funcfIons roforoncod by fho consoquonf, or fho fhon-nrf of onch ruIo.
<;DL
Build Mamdani Systems (GUI)
ofIco fhnf undor K00*, fhoro Is n Iof whIch Is bInnk. ThIs corrosonds fo
fho chnrncforIznfIon of none for fho vnrInbIo K00* In fho socond ruIo.
Tho fourfh Iof In fho fhIrd coIumn of Iofs rorosonfs fho nggrognfo
woIghfod docIsIon for fho gIvon Inforonco sysfom.
ThIs docIsIon wIII doond on fho Inuf vnIuos for fho sysfom. Tho
dofuzzIfIod oufuf Is dIsInyod ns n boId vorfIcnI IIno on fhIs Iof.
Tho vnrInbIos nnd fhoIr curronf vnIuos nro dIsInyod on fo of fho coIumns. In
fho Iowor Ioff, fhoro Is n foxf fIoId =%9,# In whIch you cnn onfor socIfIc Inuf
vnIuos. Ior fho fwo-Inuf sysfom, you wIII onfor nn Inuf vocfor, [9 8], for
oxnmIo, nnd fhon ross Y%#"). You cnn nIso ndjusf fhoso Inuf vnIuos by
cIIckIng on nny of fho fhroo Iofs for onch Inuf. ThIs wIII movo fho rod Indox
IIno horIzonfnIIy, fo fho oInf whoro you hnvo cIIckod. AIfornnfIvoIy, you cnn
nIso cIIck nnd drng fhIs IIno In ordor fo chnngo fho Inuf vnIuos. Whon you
roIonso fho IIno, (or nffor mnnunIIy socIfyIng fho Inuf), n now cnIcuInfIon Is
orformod, nnd you cnn soo fho whoIo fuzzy Inforonco rocoss fnko Inco:
Whoro fho Indox IIno rorosonfIng sorvIco crossos fho momborshI funcfIon
IIno sorvIco Is oor In fho uor-Ioff Iof doformInos fho dogroo fo whIch
ruIo ono Is ncfIvnfod.
A yoIIow nfch of coIor undor fho ncfunI momborshI funcfIon curvo Is usod
fo mnko fho fuzzy momborshI vnIuo vIsunIIy nnronf.
Inch of fho chnrncforIznfIons of onch of fho vnrInbIos Is socIfIod wIfh rosocf
fo fho Inuf Indox IIno In fhIs mnnnor. If you foIIow ruIo l ncross fho fo of
fho dIngrnm, you cnn soo fho consoquonf fI Is chon hns boon fruncnfod fo
oxncfIy fho snmo dogroo ns fho (comosIfo) nnfocodonffhIs Is fho ImIIcnfIon
rocoss In ncfIon. Tho nggrognfIon occurs down fho fhIrd coIumn, nnd fho
rosuIfnnf nggrognfo Iof Is shown In fho sIngIo Iof nonrIng In fho Iowor
rIghf cornor of fho Iof fIoId. Tho dofuzzIfIod oufuf vnIuo Is shown by fho
fhIck IIno nssIng fhrough fho nggrognfo fuzzy sof.
You cnn shIff fho Iofs usIng 3"K#, )$&@#, *0W%, nnd ,9. Tho monu Ifoms nIIow
you fo snvo, oon, or odIf n fuzzy sysfom usIng nny of fho fIvo bnsIc C!I fooIs.
Tho !uIo VIowor nIIows you fo Inforrof fho onfIro fuzzy Inforonco rocoss
nf onco. Tho !uIo VIowor nIso shows how fho shno of corfnIn momborshI
funcfIons InfIuoncos fho ovornII rosuIf. Iocnuso If Iofs ovory nrf of ovory
<;DM
2 Tutorial
ruIo, If cnn bocomo unwIoIdy for nrfIcuInrIy Inrgo sysfoms, buf, for n
roInfIvoIy smnII numbor of Inufs nnd oufufs, If orforms woII (doondIng on
how much scroon snco you dovofo fo If) wIfh u fo 30 ruIos nnd ns mnny ns
6 or ? vnrInbIos.
Tho !uIo VIowor shows ono cnIcuInfIon nf n fImo nnd In gronf dofnII. In fhIs
sonso, If rosonfs n sorf of mIcro vIow of fho fuzzy Inforonco sysfom. If you
wnnf fo soo fho onfIro oufuf surfnco of your sysfomfho onfIro snn of fho
oufuf sof bnsod on fho onfIro snn of fho Inuf sofyou nood fo oon u fho
Surfnco VIowor. ThIs vIowor Is fho Insf of fho fIvo bnsIc Iuzzy !ogIc TooIbox
C!I fooIs. To oon fho Surfnco VIowor, soIocf ',)K(1" from fho \$"W monu.
The Surface Viewer
<;DE
Build Mamdani Systems (GUI)
!on oonIng fho Surfnco VIowor, you soo n fhroo-dImonsIonnI curvo fhnf
rorosonfs fho mnIng from food nnd sorvIco qunIIfy fo fI nmounf. Iocnuso
fhIs curvo rorosonfs n fwo-Inuf ono-oufuf cnso, you cnn soo fho onfIro
mnIng In ono Iof. Whon wo movo boyond fhroo dImonsIons ovornII, wo
sfnrf fo oncounfor froubIo dIsInyIng fho rosuIfs.
AccordIngIy, fho Surfnco VIowor Is oquIod wIfh dro-down monus `
R$%9,#Sa, U R$%9,#Sa nnd b R0,#9,#Sa fhnf Iof you soIocf nny fwo Inufs
nnd nny ono oufuf for IoffIng. IoIow fhoso monus nro fwo Inuf fIoIds `
&)$*8a nnd U &)$*8a fhnf Iof you socIfy how mnny x-nxIs nnd y-nxIs grId
IInos you wnnf fo IncIudo. ThIs cnnbIIIfy nIIows you fo koo fho cnIcuInfIon
fImo ronsonnbIo for comIox robIoms.
If you wnnf fo cronfo n smoofhor Iof, uso fho 630# 90$%#8 fIoId fo socIfy fho
numbor of oInfs on whIch fho momborshI funcfIons nro ovnIunfod In fho
Inuf or oufuf rnngo. Iy dofnuIf, fho vnIuo of fhIs fIoId Is l0l.
CIIckIng YH(3,(#" InIfInfos fho cnIcuInfIon, nnd fho Iof Is gonornfod nffor
fho cnIcuInfIon Is comIofo. To chnngo fho --nxIs or $-nxIs grId nffor fho
surfnco Is In vIow, chnngo fho nrorInfo Inuf fIoId, nnd ross Y%#"). Tho
surfnco Iof Is udnfod fo rofIocf fho now grId soffIngs.
Tho Surfnco VIowor hns n socInI cnnbIIIfy fhnf Is vory hoIfuI In cnsos wIfh
fwo (or moro) Inufs nnd ono oufuf: you cnn grnb fho nxos, usIng fho mouso
nnd roosIfIon fhom fo gof n dIfforonf fhroo-dImonsIonnI vIow on fho dnfn.
Tho ["KI =%9,# fIoId Is usod In sIfunfIons whon fhoro nro moro Inufs
roquIrod by fho sysfom fhnn fho surfnco Is mnIng. You cnn odIf fhIs fIoId fo
oxIIcIfIy sof Inufs nof socIfIod In fho surfnco Iof.
Suoso you hnvo n four-Inuf ono-oufuf sysfom nnd wouId IIko fo soo fho
oufuf surfnco. Tho Surfnco VIowor cnn gonornfo n fhroo-dImonsIonnI oufuf
surfnco whoro nny fwo of fho Inufs vnry, buf fwo of fho Inufs musf bo hoId
consfnnf bocnuso comufor monIfors cnnnof dIsIny n fIvo-dImonsIonnI shno.
In such n cnso, fho Inuf Is n four-dImonsIonnI vocfor wIfh NaNs hoIdIng fho
Inco of fho vnryIng Inufs whIIo numorIcnI vnIuos IndIcnfos fhoso vnIuos fhnf
romnIn fIxod. A n Is fho IIII

symboI for of n umbor.


<;DF
2 Tutorial
Tho monu Ifoms nIIow you fo oon, cIoso, snvo nnd odIf n fuzzy sysfom usIng
fho fIvo bnsIc C!I fooIs. You cnn nccoss InformnfIon nbouf fho Surfnco VIowor
by cIIckIng _"39 nnd cIoso fho C!I usIng O308".
ThIs concIudos fho quIck wnIk-fhrough of onch of fho mnIn C!I fooIs. Ior fho
fIIng robIom, fho oufuf of fho fuzzy sysfom mnfchos your orIgInnI Idon of
fho shno of fho fuzzy mnIng from sorvIco fo fI fnIrIy woII. In hIndsIghf,
you mIghf sny, Why bofhor I couId hnvo jusf drnwn n quIck Iooku fnbIo
nnd boon dono nn hour ngo! Howovor, If you nro Inforosfod In soIvIng nn
onfIro cInss of sImIInr docIsIon-mnkIng robIoms, fuzzy IogIc mny rovIdo
nn nrorInfo fooI for fho soIufIon, gIvon Ifs onso wIfh whIch n sysfom cnn
bo quIckIy modIfIod.
Importing and Exporting from the GUI Tools
Whon you snvo n fuzzy sysfom fo n fIIo, you nro snvIng nn ASCII foxf IIS fIIo
rorosonfnfIon of fhnf sysfom wIfh fho fIIo suffIx .fis. ThIs foxf fIIo cnn bo
odIfod nnd modIfIod nnd Is sImIo fo undorsfnnd. Whon you snvo your fuzzy
sysfom fo fho MAT!AI worksnco, you nro cronfIng n vnrInbIo (whoso nnmo
you chooso) fhnf ncfs ns n MAT!AI sfrucfuro for fho IIS sysfom. IIS fIIos
nnd IIS sfrucfuros rorosonf fho snmo sysfom.
Note If you do nof snvo your IIS fo n fIIo, buf onIy snvo If fo fho MAT!AI
worksnco, you cnnnof rocovor If for uso In n now MAT!AI sossIon.
<;LG
Build Mamdani Systems Using Custom Functions
Build Mamdani Systems Using Custom Functions
In this section...
How fo IuIId Iuzzy Inforonco Sysfoms !sIng Cusfom IuncfIons In fho
C!I on ngo 2-6l
SocIfyIng Cusfom MomborshI IuncfIons on ngo 2-63
SocIfyIng Cusfom Inforonco IuncfIons on ngo 2-69
How to Build Fuzzy Inference Systems Using Custom
Functions in the GUI
Whon you buIId n fuzzy Inforonco sysfom, ns doscrIbod In Iuzzy Inforonco
Irocoss on ngo 2-23, you cnn roInco fho buIIf-In momborshI funcfIons or
Inforonco funcfIons, or bofh wIfh cusfom funcfIons. In fhIs socfIon, you Ionrn
how fo buIId n fuzzy Inforonco sysfom usIng cusfom funcfIons In fho C!I. To
Ionrn how fo buIId fho sysfom usIng cusfom funcfIons nf fho commnnd IIno,
soo SocIfyIng Cusfom MomborshI nnd Inforonco IuncfIons on ngo 2-84
In IuIId MnmdnnI Sysfoms (Codo) on ngo 2-?5.
To buIId n fuzzy Inforonco sysfom usIng cusfom funcfIons In fho C!I:
1 Oon fho IIS IdIfor by fyIng fuzzy nf fho MAT!AI romf.
2 SocIfy fho numbor of Inufs nnd oufufs of fho fuzzy sysfom, ns doscrIbod
In Tho IIS IdIfor on ngo 2-38.
3 Cronfo cusfom momborshI funcfIons, nnd roInco fho buIIf-In momborshI
funcfIons wIfh fhom, ns doscrIbod In SocIfyIng Cusfom MomborshI
IuncfIons on ngo 2-63.
MomborshI funcfIons dofIno how onch oInf In fho Inuf snco Is mnod
fo n momborshI vnIuo bofwoon 0 nnd l.
4 Cronfo ruIos usIng fho !uIo IdIfor, ns doscrIbod In Tho !uIo IdIfor on
ngo 2-52.
!uIos dofIno fho IogIcnI roInfIonshI bofwoon fho Inufs nnd fho oufufs.
<;L:
2 Tutorial
5 Cronfo cusfom Inforonco funcfIons, nnd roInco fho buIIf In Inforonco
funcfIons wIfh fhom, ns doscrIbod In SocIfyIng Cusfom Inforonco
IuncfIons on ngo 2-69.
Inforonco mofhods IncIudo fho A, O!, ImIIcnfIon, nggrognfIon nnd
dofuzzIfIcnfIon mofhods. ThIs ncfIon gonornfos fho oufuf vnIuos for fho
fuzzy sysfom.
Tho noxf fIguro shows fho fIIng robIom oxnmIo whoro fho buIIf-In
=N93$1(#$0% nnd 7"K,--$K$1(#$0% funcfIons nro roIncod wIfh n cusfom
ImIIcnfIon funcfIon, customimp, nnd cusfom dofuzzIfIcnfIon funcfIon,
customdefuzz, rosocfIvoIy.
6 SoIocf \$"W ] ',)K(1" fo vIow fho oufuf of fho fuzzy Inforonco sysfom In
fho Surfnco VIowor, ns doscrIbod In Tho Surfnco VIowor on ngo 2-58.
<;L<
Build Mamdani Systems Using Custom Functions
Specifying Custom Membership Functions
You cnn cronfo cusfom momborshI funcfIons, nnd uso fhom In fho fuzzy
Inforonco rocoss. Tho vnIuos of fhoso funcfIons musf IIo bofwoon 0 nnd l. You
musf snvo fho cusfom momborshI funcfIons In your curronf workIng foIdor.
To Ionrn how fo buIId fuzzy sysfoms usIng cusfom momborshI funcfIons,
soo How fo IuIId Iuzzy Inforonco Sysfoms !sIng Cusfom IuncfIons In fho
C!I on ngo 2-6l.
To cronfo n cusfom momborshI funcfIon, nnd roInco fho buIIf-In momborshI
funcfIon:
1 Cronfo n MAT!AI funcfIon, nnd snvo If In your curronf workIng foIdor.
To Ionrn how fo cronfo MAT!AI funcfIons, soo ScrIfs vs. IuncfIons In
fho MAT!AI documonfnfIon.
Tho foIIowIng codo Is nn oxnmIo of n muIfI-sfo cusfom momborshI
funcfIon, custmf1, fhnf doonds on oIghf nrnmofors bofwoon 0 nnd 10.
% Function to generate a multi-step custom membership function
% using 8 parameters for the input argument x
function out = custmf1(x, params)
for i=1:length(x)
if x(i)<params(1)
y(i)=params(1);
elseif x(i)<params(2)
y(i)=params(2);
elseif x(i)<params(3)
y(i)=params(3);
elseif x(i)<params(4)
y(i)=params(4);
elseif x(i)<params(5)
y(i)=params(5);
elseif x(i)<params(6)
y(i)=params(6);
elseif x(i)<params(7)
y(i)=params(7);
elseif x(i)<params(8)
y(i)=params(8);
else
<;L>
2 Tutorial
y(i)=0;
end
end
out=.1*y'; % scaling the output to lie between 0 and 1
Note Cusfom momborshI funcfIons cnn IncIudo n mnxImum of l6
nrnmofors for fho Inuf nrgumonf.
2 Oon fho IIS IdIfor by fyIng fuzzy nf fho MAT!AI romf, If you hnvo
nof dono so nIrondy.
Tho IIS IdIfor oons wIfh fho dofnuIf IIS nnmo, Untitled, nnd confnIns
ono Inuf $%9,#:, nnd ono oufuf 0,#9,#:.
<;LA
Build Mamdani Systems Using Custom Functions
3 In fho IIS IdIfor, soIocf Y*$# ] P"N4")8@$9 +,%1#$0%8 fo oon fho
MomborshI IuncfIon IdIfor.
Throo frInnguInr-shnod momborshI funcfIons for $%9,#: nro dIsInyod
by dofnuIf.
4 To roInco fho dofnuIf momborshI funcfIon wIfh n cusfom funcfIon In
fho MomborshI IuncfIon IdIfor:
a SoIocf Y*$# ] ["N0H" X33 P+8 fo romovo fho dofnuIf momborshI
funcfIons for $%9,#:.
<;LD
2 Tutorial
b SoIocf Y*$# ] X** O,8#0N P+ fo oon fho Cusfom MomborshI
IuncfIon dInIog box.
5 To socIfy n cusfom funcfIon In fho Cusfom MomborshI IuncfIon dInIog
box:
a SocIfy n nnmo for fho cusfom momborshI funcfIon In fho P+ %(N"
fIoId.
Note Whon nddIng nddIfIonnI cusfom momborshI funcfIons, you musf
socIfy n dIfforonf P+ %(N" for onch funcfIon.
b SocIfy fho nnmo of fho cusfom momborshI funcfIon fIIo In fho P;K$3"
K,%1#$0% %(N" fIoId.
c SocIfy n vocfor of nrnmofors In fho 6()(N"#") 3$8# fIoId.
Thoso vnIuos doformIno fho shno nnd osIfIon of fho momborshI
funcfIon, nnd fho funcfIon Is ovnIunfod usIng fhoso nrnmofor vnIuos.
Note Tho Iongfh of fho nrnmofor vocfor musf bo gronfor fhnn or oqunI
fo fho numbor of nrnmofors In fho cusfom momborshI funcfIon.
<;LL
Build Mamdani Systems Using Custom Functions
!sIng fho custmf1 oxnmIo In sfo l, fho Cusfom MomborshI IuncfIon
dInIog box Iooks sImIInr fo fho foIIowIng fIguro.
d CIIck V^ fo ndd fho cusfom momborshI funcfIon.
Tho MomborshI IuncfIon IdIfor dIsInys fho cusfom momborshI funcfIon
Iof.
<;LM
2 Tutorial
ThIs ncfIon nIso ndds fho cusfom momborshI funcfIon fo fho !uIo VIowor,
nnd Is now nvnIInbIo for cronfIng ruIos for fho fuzzy Inforonco rocoss. To
vIow fho cusfom funcfIon In fho !uIo VIowor, soIocf Y*$# ] [,3"8 In oIfhor
fho IIS IdIfor or fho MomborshI IuncfIon IdIfor.
<;LE
Build Mamdani Systems Using Custom Functions
6 To ndd cusfom momborshI funcfIons for 0,#9,#:, soIocf If In fho
MomborshI IuncfIon IdIfor, nnd roonf sfos 4 nnd 5.
Specifying Custom Inference Functions
You cnn roInco fho buIIf-In A, O!, ImIIcnfIon, nggrognfIon, nnd
dofuzzIfIcnfIon Inforonco mofhods wIfh cusfom funcfIons. Affor you cronfo fho
cusfom Inforonco funcfIon, snvo If In your curronf workIng foIdor. To Ionrn
how fo buIId fuzzy sysfoms usIng cusfom Inforonco funcfIons, soo fho How
fo IuIId Iuzzy Inforonco Sysfoms !sIng Cusfom IuncfIons In fho C!I on
ngo 2-6l socfIon.
You musf foIIow n fow guIdoIInos whon cronfIng cusfom Inforonco funcfIons.
Tho guIdoIInos for cronfIng nnd socIfyIng fho funcfIons for buIIdIng fuzzy
Inforonco sysfoms nro doscrIbod In fho foIIowIng socfIons.
<;LF
2 Tutorial
CuIdoIInos for CronfIng Cusfom A nnd O! IuncfIons on ngo 2-?0
CuIdoIInos for CronfIng Cusfom ImIIcnfIon IuncfIons on ngo 2-?l
CuIdoIInos for CronfIng Cusfom AggrognfIon IuncfIons on ngo 2-?2
CuIdoIInos for CronfIng Cusfom ofuzzIfIcnfIon IuncfIons on ngo 2-?2
Sfos for SocIfyIng Cusfom Inforonco IuncfIons on ngo 2-?3
Guidelines for Creating Custom AND and OR Functions
Tho cusfom A nnd O! Inforonco funcfIons musf oornfo coIumn-wIso on n
mnfrIx, In fho snmo wny ns fho MAT!AI funcfIons max, min, or prod.
Ior n row or coIumn mnfrIx x, min(x) rofurns fho mInImum oIomonf.
x=[1 2 3 4];
min(x)
ans =
1
Ior n mnfrIx x, min(x) rofurns n row vocfor confnInIng fho mInImum oIomonf
from onch coIumn.
x=[1 2 3 4;5 6 7 8;9 10 11 12];
min(x)
ans =
1 2 3 4
Ior - nrrnys, min(x) oornfos nIong fho fIrsf non-sIngIofon dImonsIon.
Tho funcfIon min(x,y) rofurns nn nrrny fhnf Is snmo sIzo ns x nnd y wIfh fho
mInImum oIomonfs from x or y. IIfhor of fho Inuf nrgumonfs cnn bo n scnInr.
IuncfIons such ns max, nnd prod oornfo In n sImIInr mnnnor.
<;MG
Build Mamdani Systems Using Custom Functions
In fho fooIbox, fho A ImIIcnfIon mofhods orform nn oIomonf by oIomonf
mnfrIx oornfIon, sImIInr fo fho MAT!AI funcfIon min(x,y).
a=[1 2; 3 4];
b=[2 2; 2 2];
min(a,b)
ans =
1 2
2 2
Tho O! ImIIcnfIon mofhods orform nn oIomonf by oIomonf mnfrIx oornfIon,
sImIInr fo fho MAT!AI funcfIon max(x,y).
Guidelines for Creating Custom Implication Functions
Cusfom ImIIcnfIon funcfIons musf oornfo In fho snmo wny ns fho MAT!AI
funcfIons max, min, or prod.
Tho foIIowIng Is nn oxnmIo of n cusfom ImIIcnfIon funcfIon:
function y=custom_imp(x1,x2)
if nargin==1
y=prod(x1).^2;
else
y=(x1.*x2).^2;
end
An ImIIcnfIon funcfIon musf suorf oIfhor ono or fwo Inufs bocnuso fho
soffwnro cnIIs fho funcfIon In fwo wnys:
To cnIcuInfo fho oufuf fuzzy sof vnIuos usIng fho fIrIng sfrongfh of nII fho
ruIos nnd fho corrosondIng oufuf momborshI funcfIons. In fhIs cnso,
fho soffwnro cnIIs fho ImIIcnfIon funcfIon usIng fwo Inufs, sImIInr fo
fho foIIowIng oxnmIo:
impvals = custom_imp(w,outputmf)
- w IIrIng sfrongfh of muIfIIo ruIos, socIfIod ns nn 72-by-70 mnfrIx.
Horo, 72 Is fho numbor of ruIos nnd 70 Is fho numbor of snmIos of fho
oufuf momborshI funcfIons.
<;M:
2 Tutorial
w(:,j) = w(:,1) for nII B. w(i,1) Is fho fIrIng sfrongfh of fho (
fh
ruIo.
- outputmf Oufuf momborshI funcfIon vnIuos, socIfIod ns nn
72-by-70 mnfrIx. Horo, 72 Is fho numbor of ruIos nnd 70 Is fho numbor of
snmIos of fho oufuf momborshI funcfIons.
outputmf(i,:) confnIns fho dnfn of fho (
fh
oufuf momborshI funcfIon.
To cnIcuInfo fho oufuf fuzzy vnIuo usIng fho fIrIng sfrongfh of n sIngIo ruIo
nnd fho corrosondIng oufuf momborshI funcfIon, for n gIvon snmIo.
In fhIs cnso, fho soffwnro cnIIs fho ImIIcnfIon funcfIon usIng ono Inuf,
sImIInr fo fho foIIowIng oxnmIo:
impval = custom_imp([w outputmf])
w nnd outputmf nro scnInr vnIuos rorosonfIng fho fIrIng sfrongfh of n
ruIo nnd fho corrosondIng oufuf momborshI funcfIon vnIuo, for n gIvon
snmIo.
Guidelines for Creating Custom Aggregation Functions
Tho cusfom nggrognfIon funcfIons musf oornfo In fho snmo wny ns
fho MAT!AI funcfIons max, min, or prod nnd musf bo of fho form y =
custom_agg(x).
- Is nn 7>-by-72 mnfrIx, whIch Is fho IIsf of fruncnfod oufuf funcfIons
rofurnod by fho ImIIcnfIon mofhod for onch ruIo. 7> Is fho numbor of oufuf
vnrInbIos, nnd 72 Is fho numbor of ruIos. Tho oufuf of fho nggrognfIon
mofhod Is ono fuzzy sof for onch oufuf vnrInbIo.
Tho foIIowIng Is nn oxnmIo of n cusfom nggrognfIon funcfIon:
function aggfun = custom_agg(x)
aggfun=(sum(x)/2).^0.5;
Guidelines for Creating Custom Defuzzification Functions
Tho cusfom dofuzzIfIcnfIon funcfIons musf bo of fho form y =
custom_defuzz(xmf,ymf), whoro F-:9?$:9G Is n fInIfo sof of momborshI
funcfIon vnIuos. -:9 Is fho vocfor of vnIuos In fho momborshI funcfIon Inuf
rnngo. $:9 Is fho vnIuo of fho momborshI funcfIon nf -:9.
Tho foIIowIng Is nn oxnmIo of n cusfom dofuzzIfIcnfIon funcfIon:
<;M<
Build Mamdani Systems Using Custom Functions
function defuzzfun= custom_defuzz(xmf,ymf);
total_area=sum(ymf);
defuzzfun=sum(ymf*xmf)/total_area;
Steps for Specifying Custom Inference Functions
Affor you cronfo nnd snvo n cusfom Inforonco funcfIon, uso fho foIIowIng sfos
fo socIfy fho funcfIon In fho fuzzy Inforonco rocoss:
1 In fho Iowor-Ioff nnoI of fho IIS IdIfor, soIocf Custom from fho dro-down
monu corrosondIng fo fho Inforonco mofhod for whIch you wnnf fo socIfy
fho cusfom funcfIon.
ThIs ncfIon oons n dInIog box whoro you socIfy fho nnmo of fho cusfom
Inforonco funcfIon.
2 In fho P"#@0* %(N" fIoId, socIfy fho nnmo of fho cusfom Inforonco
funcfIon, nnd cIIck V^.
<;M>
2 Tutorial
Tho cusfom funcfIon roIncos fho buIIf-In funcfIon whon buIIdIng fho fuzzy
Inforonco sysfom.
3 To socIfy cusfom funcfIons for ofhor Inforonco mofhods, roonf sfos
l nnd 2.
<;MA
Build Mamdani Systems (Code)
Build Mamdani Systems (Code)
In this section...
TIIng IrobIom from fho Commnnd !Ino on ngo 2-?5
Sysfom IsIny IuncfIons on ngo 2-?8
IuIIdIng n Sysfom from Scrnfch on ngo 2-8l
IIS IvnIunfIon on ngo 2-84
Tho IIS Sfrucfuro on ngo 2-85
Tipping Problem from the Command Line
Tho fIIng robIom Is ono of mnny Iuzzy !ogIc TooIbox oxnmIos of fuzzy
Inforonco sysfoms. Tho IIS Is nIwnys cnsf ns n MAT!AI sfrucfuro. To Iond
fhIs sysfom, fyo:
a = readfis('tipper.fis')
ThIs commnnd rofurns fho foIIowIng rosuIf:
a =
name: 'tipper'
type: 'mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centroid'
impMethod: 'min'
aggMethod: 'max'
input: [1x2 struct]
output: [1x1 struct]
rule: [1x3 struct]
Tho InboIs on fho Ioff of fhIs IIsfIng rorosonf fho vnrIous comononfs of
fho MAT!AI sfrucfuro nssocInfod wIfh tipper.fis. To nccoss fho vnrIous
comononfs of fhIs sfrucfuro, fyo fho comononf nnmo nffor a nf fho
MAT!AI romf. Ior oxnmIo:
a.type
<;MD
2 Tutorial
rofurns fho foIIowIng rosuIf:
ans =
mamdani
Tho funcfIon
getfis(a)
rofurns nImosf fho snmo sfrucfuro InformnfIon fhnf fyIng a, nIono doos:
Name = tipper
Type = mamdani
NumInputs = 2
InLabels =
service
food
NumOutputs = 1
OutLabels =
tip
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroid
Somo of fhoso fIoIds nro nof nrf of fho sfrucfuro a. Thus, you cnnnof gof
InformnfIon by fyIng a.Inlabels, buf you cnn gof If by fyIng
getfis(a,'Inlabels')
SImIInrIy, you cnn obfnIn sfrucfuro InformnfIon usIng getfis In fhIs mnnnor.
getfis(a,'input',1)
getfis(a,'output',1)
getfis(a,'input',1,'mf',1)
Tho structure.field synfnx nIso gonornfos fhIs InformnfIon. Ior moro
InformnfIon on fho synfnx for MAT!AI sfrucfuros nnd coII nrrnys, soo Cronfo
n Sfrucfuro Arrny nnd Cronfo n CoII Arrny In fho MAT!AI documonfnfIon.
<;ML
Build Mamdani Systems (Code)
Ior oxnmIo, fyo
a.input
or
a.input(1).mf(1)
Tho funcfIon getfis Is IoosoIy modoIod on fho HnndIo CrnhIcs

funcfIon
get. Tho funcfIon setfis ncfs ns fho rocIrocnI fo getfis. If nIIows you fo
chnngo nny roorfy of n IIS. Ior oxnmIo, If you wnnfod fo chnngo fho nnmo
of fhIs sysfom, you couId fyo
a = setfis(a,'name','gratuity');
Howovor, bocnuso a Is nIrondy n MAT!AI sfrucfuro, you cnn sof fhIs
InformnfIon moro sImIy by fyIng
a.name = 'gratuity';
ow fho IIS sfrucfuro a hns boon chnngod fo rofIocf fho now nnmo. If you
wnnf n IIffIo moro InsIghf Info fhIs IIS sfrucfuro, fry
showfis(a)
ThIs synfnx rofurns n rInfouf IIsfIng nII fho InformnfIon nbouf a. ThIs
funcfIon Is Infondod moro for dobuggIng fhnn nnyfhIng oIso, buf If shows nII
fho InformnfIon rocordod In fho IIS sfrucfuro
Iocnuso fho vnrInbIo, a, dosIgnnfos fho fuzzy fIIng sysfom, you cnn dIsIny
nny of fho C!Is for fho fIIng sysfom dIrocfIy from fho commnnd IIno. Any of
fho foIIowIng funcfIons wIII dIsIny fho fIIng sysfom wIfh fho nssocInfod
C!I:
fuzzy(a) dIsInys fho IIS IdIfor.
mfedit(a) dIsInys fho MomborshI IuncfIon IdIfor.
ruleedit(a) dIsInys fho !uIo IdIfor.
ruleview(a) dIsInys fho !uIo VIowor.
surfview(a) dIsInys fho Surfnco VIowor.
<;MM
2 Tutorial
If, In nddIfIon, a Is n Sugono-fyo IIS, fhon anfisedit(a) dIsInys fho
AIIS IdIfor C!I.
Whon you oon nny of fhoso C!Is, you cnn nccoss nny of fho ofhor C!Is usIng
fho uII-down monu rnfhor fhnn fho commnnd IIno.
System Display Functions
Thoro nro fhroo funcfIons dosIgnod fo gIvo you n hIgh-IovoI vIow of your fuzzy
Inforonco sysfom from fho commnnd IIno: plotfis, plotmf, nnd gensurf.
Tho fIrsf of fhoso dIsInys fho whoIo sysfom ns n bIock dIngrnm much ns If
wouId nonr on fho IIS IdIfor.
plotfis(a)
Affor cIosIng nny oon MAT!AI fIguros or C!I wIndows, fho funcfIon plotmf
Iofs nII fho momborshI funcfIons nssocInfod wIfh n gIvon vnrInbIo ns foIIows.
plotmf(a,'input',1)
<;ME
Build Mamdani Systems (Code)
rofurns fho foIIowIng Iofs
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
service
D
e
g
r
e
e

o
f

m
e
m
b
e
r
s
h
i
p
poor good excellent
plotmf(a,'output',1)
<;MF
2 Tutorial
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
tip
D
e
g
r
e
e

o
f

m
e
m
b
e
r
s
h
i
p
cheap average generous
Thoso Iofs nonr In fho MomborshI IuncfIon IdIfor C!I, or In nn oon
MAT!AI fIguro, If plotmf Is cnIIod whIIo oIfhor of fhoso Is oon.
IInnIIy, fho funcfIon gensurf Iofs nny ono or fwo Inufs vorsus nny ono
oufuf of n gIvon sysfom. Tho rosuIf Is oIfhor n fwo-dImonsIonnI curvo, or n
fhroo-dImonsIonnI surfnco. Whon fhoro nro fhroo or moro Inufs, gensurf
musf bo gonornfod wIfh nII buf fwo Inufs fIxod, ns Is doscrIbod In gensurf.
gensurf(a)
<;EG
Build Mamdani Systems (Code)
0
2
4
6
8
10
0
2
4
6
8
10
5
10
15
20
25
service
food
t
i
p
Building a System from Scratch
You cnn buIId n fuzzy Inforonco sysfom usIng Iuzzy !ogIc TooIbox commnnds
ns nn nIfornnfIvo fo fho C!I fooIs. Ior oxnmIo, fo buIId fho fIIng sysfom
onfIroIy from fho commnnd IIno, you uso fho commnnds newfis, addvar,
addmf, nnd addrule.
IrobnbIy fho mosf dIffIcuIf nrf of fhIs rocoss Is IonrnIng fho shorfhnnd fhnf
fho fuzzy Inforonco sysfoms uso for buIIdIng ruIos. !so fho commnnd IIno
funcfIon, addrule fo do fhIs.
Inch vnrInbIo, Inuf, or oufuf, hns nn Indox numbor, nnd onch momborshI
funcfIon hns nn Indox numbor. Tho ruIos nro buIIf from sfnfomonfs such
ns fho foIIowIng:
E9 (7;"8X (0 R!X &2 (7;"8[ (0 R!\? 8<17 &"8;"8X (0 R![ FC1('<8 N ]@^G
ThIs ruIo Is furnod Info n sfrucfuro nccordIng fo fho foIIowIng IogIc. If fhoro
nro : Inufs fo n sysfom nnd 7 oufufs, fhon fho fIrsf : vocfor onfrIos of fho
ruIo sfrucfuro corrosond fo Inufs l fhrough :.
Tho onfry In coIumn l Is fho Indox numbor for fho momborshI funcfIon
nssocInfod wIfh Inuf l.
<;E:
2 Tutorial
Tho onfry In coIumn 2 Is fho Indox numbor for fho momborshI funcfIon
nssocInfod wIfh Inuf 2, nnd so on.
Tho noxf 7 coIumns work fho snmo wny for fho oufufs.
CoIumn : + 7 + l Is fho woIghf nssocInfod wIfh fhnf ruIo (fyIcnIIy l) nnd
coIumn : + 7 + 2 socIfIos fho connocfIvo usod (whoro A = l nnd O! = 2).
Tho sfrucfuro nssocInfod wIfh fho rocodIng ruIo Is
1 3 2 0.5 2
ThIs snmIo codo shows ono wny you cnn buIId fho onfIro fIIng sysfom from
fho commnnd IIno, usIng fho MAT!AI sfrucfuro synfnx.
a=newfis('tipper');
a.input(1).name='service';
a.input(1).range=[0 10];
a.input(1).mf(1).name='poor';
a.input(1).mf(1).type='gaussmf';
a.input(1).mf(1).params=[1.5 0];
a.input(1).mf(2).name='good';
a.input(1).mf(2).type='gaussmf';
a.input(1).mf(2).params=[1.5 5];
a.input(1).mf(3).name='excellent';
a.input(1).mf(3).type='gaussmf';
a.input(1).mf(3).params=[1.5 10];
a.input(2).name='food';
a.input(2).range=[0 10];
a.input(2).mf(1).name='rancid';
a.input(2).mf(1).type='trapmf';
a.input(2).mf(1).params=[-2 0 1 3];
a.input(2).mf(2).name='delicious';
a.input(2).mf(2).type='trapmf';
a.input(2).mf(2).params=[7 9 10 12];
a.output(1).name='tip';
a.output(1).range=[0 30];
a.output(1).mf(1).name='cheap'
a.output(1).mf(1).type='trimf';
a.output(1).mf(1).params=[0 5 10];
a.output(1).mf(2).name='average';
<;E<
Build Mamdani Systems (Code)
a.output(1).mf(2).type='trimf';
a.output(1).mf(2).params=[10 15 20];
a.output(1).mf(3).name='generous';
a.output(1).mf(3).type='trimf';
a.output(1).mf(3).params=[20 25 30];
a.rule(1).antecedent=[1 1];
a.rule(1).consequent=[1];
a.rule(1).weight=1;
a.rule(1).connection=2;
a.rule(2).antecedent=[2 0];
a.rule(2).consequent=[2];
a.rule(2).weight=1;
a.rule(2).connection=1;
a.rule(3).antecedent=[3 2];
a.rule(3).consequent=[3];
a.rule(3).weight=1;
a.rule(3).connection=2
Tip You cnn nIso buIId fho IIS sfrucfuro usIng MAT!AI worksnco vnrInbIos.
Ior oxnmIo, fo socIfy fho rnngo of fho Inuf, fyo:
r1= [0 10]
a.input(1).range = r1;
AIfornnfIvoIy, you cnn buIId fho onfIro fIIng sysfom from fho commnnd
IIno usIng Iuzzy !ogIc TooIbox commnnds. Thoso commnnds nro In fho
mktipper.m fIIo.
a=newfis('tipper');
a=addvar(a,'input','service',[0 10]);
a=addmf(a,'input',1,'poor','gaussmf',[1.5 0]);
a=addmf(a,'input',1,'good','gaussmf',[1.5 5]);
a=addmf(a,'input',1,'excellent','gaussmf',[1.5 10]);
a=addvar(a,'input','food',[0 10]);
a=addmf(a,'input',2,'rancid','trapmf',[-2 0 1 3]);
a=addmf(a,'input',2,'delicious','trapmf',[7 9 10 12]);
a=addvar(a,'output','tip',[0 30]);
<;E>
2 Tutorial
a=addmf(a,'output',1,'cheap','trimf',[0 5 10]);
a=addmf(a,'output',1,'average','trimf',[10 15 20]);
a=addmf(a,'output',1,'generous','trimf',[20 25 30]);
ruleList=[ ...
1 1 1 1 2
2 0 2 1 1
3 2 3 1 2 ];
a=addrule(a,ruleList);
Specifying Custom Membership and Inference Functions
You cnn cronfo cusfom momborshI nnd Inforonco funcfIons ns doscrIbod In
SocIfyIng Cusfom MomborshI IuncfIons on ngo 2-63, nnd SocIfyIng
Cusfom Inforonco IuncfIons on ngo 2-69, nnd socIfy fhom for buIIdIng
fuzzy Inforonco sysfoms nf fho commnnd IIno.
To IncIudo n cusfom momborshI funcfIon, socIfy fho nnmo of fho cusfom
momborshI funcfIon, ns shown In fho foIIowIng oxnmIo:
a=addmf(a,'input',1,'customMF1','custmf1',[0 1 2 4 6 8 9 10]);
To IncIudo n cusfom Inforonco funcfIon, socIfy fho nnmo of fho cusfom
Inforonco funcfIon, ns shown In fho foIIowIng oxnmIo:
a.defuzzMethod='customdefuzz';
FIS Evaluation
To ovnIunfo fho oufuf of n fuzzy sysfom for n gIvon Inuf, uso fho funcfIon
evalfis. Ior oxnmIo, fho foIIowIng scrIf ovnIunfos tipper nf fho Inuf,
|l 2].
a = readfis('tipper');
evalfis([1 2], a)
ans =
5.5586
ThIs funcfIon cnn nIso bo usod for muIfIIo coIIocfIons of Inufs, bocnuso
dIfforonf Inuf vocfors nro rorosonfod In dIfforonf nrfs of fho Inuf
sfrucfuro.
<;EA
Build Mamdani Systems (Code)
evalfis([3 5; 2 7], a)
ans =
12.2184
7.7885
The FIS Structure
Tho IIS sfrucfuro Is fho MAT!AI objocf fhnf confnIns nII fho fuzzy Inforonco
sysfom InformnfIon. ThIs sfrucfuro Is sforod InsIdo onch C!I fooI. Accoss
funcfIons such ns getfis nnd setfis mnko If onsy fo oxnmIno fhIs sfrucfuro.
AII fho InformnfIon for n gIvon fuzzy Inforonco sysfom Is confnInod In fho IIS
sfrucfuro, IncIudIng vnrInbIo nnmos, momborshI funcfIon dofInIfIons, nnd
so on. ThIs sfrucfuro cnn IfsoIf bo fhoughf of ns n hIornrchy of sfrucfuros,
ns shown In fho foIIowIng dIngrnm.
You cnn gonornfo n IIsfIng of InformnfIon on fho IIS usIng fho showfis
commnnd, ns shown In fho foIIowIng codo snmIo:
showfis(a)
1. Name tipper
2. Type mamdani
<;ED
2 Tutorial
3. Inputs/Outputs [ 2 1 ]
4. NumInputMFs [ 3 2 ]
5. NumOutputMFs 3
6. NumRules 3
7. AndMethod min
8. OrMethod max
9. ImpMethod min
10. AggMethod max
11. DefuzzMethod centroid
12. InLabels service
13. food
14. OutLabels tip
15. InRange [ 0 10 ]
16. [ 0 10 ]
17. OutRange [ 0 30 ]
18. InMFLabels poor
19. good
20. excellent
21. rancid
22. delicious
23. OutMFLabels cheap
24. average
25. generous
26. InMFTypes gaussmf
27. gaussmf
28. gaussmf
29. trapmf
30. trapmf
31. OutMFTypes trimf
32. trimf
33. trimf
34. InMFParams [ 1.5 0 0 0 ]
35. [ 1.5 5 0 0 ]
36. [ 1.5 10 0 0 ]
37. [ 0 0 1 3 ]
38. [ 7 9 10 10 ]
39. OutMFParams [ 0 5 10 0 ]
40. [ 10 15 20 0 ]
41. [ 20 25 30 0 ]
42. Rule Antecedent [ 1 1 ]
<;EL
Build Mamdani Systems (Code)
43. [ 2 0 ]
44. [ 3 2 ]
42. Rule Consequent 1
43. 2
44. 3
42. Rule Weight 1
43. 1
44. 1
42. Rule Connection 2
43. 1
44. 2
Tho IIsf of commnnd-IIno funcfIons nssocInfod wIfh IIS consfrucfIon IncIudos
getfis, setfis, showfis, addvar, addmf, addrule, rmvar, nnd rmmf.
Saving FIS Files
A socInIIzod foxf fIIo formnf Is usod for snvIng fuzzy Inforonco sysfoms. Tho
funcfIons readfis nnd writefis nro usod for rondIng nnd wrIfIng fhoso fIIos.
If you rofor, you cnn modIfy fho IIS by odIfIng Ifs .fis foxf fIIo rnfhor
fhnn usIng nny of fho C!Is. You shouId bo nwnro, howovor, fhnf chnngIng
ono onfry mny obIIgo you fo chnngo nnofhor. Ior oxnmIo, If you doIofo n
momborshI funcfIon usIng fhIs mofhod, you nIso nood fo mnko corfnIn fhnf
nny ruIos roquIrIng fhIs momborshI funcfIon nro nIso doIofod.
Tho ruIos nonr In Indoxod formnf In n .fis foxf fIIo. Tho foIIowIng snmIo
shows fho fIIo tipper.fis.
[System]
Name='tipper'
Type='mamdani'
NumInputs=2
NumOutputs=1
NumRules=3
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
<;EM
2 Tutorial
[Input1]
Name='service'
Range=[0 10]
NumMFs=3
MF1='poor':'gaussmf',[1.5 0]
MF2='good':'gaussmf',[1.5 5]
MF3='excellent':'gaussmf',[1.5 10]
[Input2]
Name='food'
Range=[0 10]
NumMFs=2
MF1='rancid':'trapmf',[0 0 1 3]
MF2='delicious':'trapmf',[7 9 10 10]
[Output1]
Name='tip'
Range=[0 30]
NumMFs=3
MF1='cheap':'trimf',[0 5 10]
MF2='average':'trimf',[10 15 20]
MF3='generous':'trimf',[20 25 30]
[Rules]
1 1, 1 (1) : 2
2 0, 2 (1) : 1
3 2, 3 (1) : 2
<;EE
Simulate Fuzzy Inference Systems in Simulink

Simulate Fuzzy Inference Systems in Simulink


Iuzzy !ogIc TooIbox soffwnro Is dosIgnod fo work In SImuIInk onvIronmonf.
Affor you hnvo cronfod your fuzzy sysfom usIng fho C!I fooIs or somo ofhor
mofhod, you nro rondy fo ombod your sysfom dIrocfIy Info n sImuInfIon.
IIcfuro n fnnk wIfh n Io fIowIng In nnd n Io fIowIng ouf. You cnn chnngo
fho vnIvo confroIIIng fho wnfor fhnf fIows In, buf fho ouffIow rnfo doonds on
fho dInmofor of fho ouffIow Io (whIch Is consfnnf) nnd fho rossuro In fho
fnnk (whIch vnrIos wIfh fho wnfor IovoI). Tho sysfom hns somo vory nonIInonr
chnrncforIsfIcs.
A confroIIor for fho wnfor IovoI In fho fnnk noods fo know fho curronf wnfor
IovoI nnd If noods fo bo nbIo fo sof fho vnIvo. Your confroIIor`s Inuf Is fho
wnfor IovoI orror (dosIrod wnfor IovoI mInus ncfunI wnfor IovoI), nnd Ifs oufuf
Is fho rnfo nf whIch fho vnIvo Is oonIng or cIosIng. A fIrsf nss nf wrIfIng n
fuzzy confroIIor for fhIs sysfom mIghf bo fho foIIowIng:
X@ E9 F+1>1+ (0 &D=$G 8<17 F>=+>1 (0 7&_)<=7'1G FXG
[@ E9 F+1>1+ (0 +&CG 8<17 F>=+>1 (0 &;17_9=08G FXG
\@ E9 F+1>1+ (0 <('<G 8<17 F>=+>1 (0 )+&01_9=08G FXG
You cnn fnko fuzzy sysfoms dIrocfIy Info SImuIInk nnd fosf fhom ouf In n
sImuInfIon onvIronmonf. A SImuIInk bIock dIngrnm for fhIs sysfom Is shown
In fho foIIowIng fIguro. If confnIns n SImuIInk bIock cnIIod fho Iuzzy !ogIc
ConfroIIor bIock. Tho SImuIInk bIock dIngrnm for fhIs sysfom Is sltank.
TyIng
sltank
<;EF
2 Tutorial
nf fho commnnd IIno, cnusos fho sysfom fo nonr. Af fho snmo fImo, fho fIIo
tank.fis Is Iondod Info fho IIS sfrucfuro tank.
Somo oxorImonfnfIon shows fhnf fhroo ruIos nro nof suffIcIonf, bocnuso fho
wnfor IovoI fonds fo oscIIInfo nround fho dosIrod IovoI. Soo fho foIIowIng Iof:
<;FG
Simulate Fuzzy Inference Systems in Simulink

0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (second)
You nood fo ndd nnofhor Inuf, fho wnfor IovoI`s rnfo of chnngo, fo sIow down
fho vnIvo movomonf whon If gofs cIoso fo fho rIghf IovoI.
`@ E9 F+1>1+ (0 '&&5G =75 F2=81 (0 71'=8(>1G? 8<17 F>=+>1 (0 )+&01_0+&CG FXG
^@ E9 F+1>1+ (0 '&&5G =75 F2=81 (0 ;&0(8(>1G? 8<17 F>=+>1 (0 &;17_0+&CG FXG
sltank Is buIIf wIfh fhoso fIvo ruIos. WIfh nII fIvo ruIos In oornfIons, you cnn
oxnmIno fho sfo rosonso by sImuInfIng fhIs sysfom. You do so by cIIckIng
'$N,3(#$0% ] [,%, nnd cIIckIng fho ComnrIson bIock. Tho rosuIf Iooks
sImIInr fo fho foIIowIng Iof.
<;F:
2 Tutorial
0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Time (second)
Ono InforosfIng fonfuro of fho wnfor fnnk sysfom Is fhnf fho fnnk omfIos
much moro sIowIy fhnn If fIIIs u bocnuso of fho socIfIc vnIuo of fho ouffIow
dInmofor Io. You cnn donI wIfh fhIs by soffIng fho close_slow vnIvo
momborshI funcfIon fo bo sIIghfIy dIfforonf from fho open_slow soffIng.
A II confroIIor doos nof hnvo fhIs cnnbIIIfy. Tho vnIvo commnnd vorsus
fho wnfor IovoI chnngo rnfo (doIcfod ns C=812) nnd fho roInfIvo wnfor IovoI
chnngo (doIcfod ns +1>1+) surfnco Iooks IIko fhIs. If you Iook cIosoIy, you cnn
soo n sIIghf nsymmofry fo fho Iof.
<;F<
Simulate Fuzzy Inference Systems in Simulink

!1
!0.5
0
0.5
1
!0.1
!0.05
0
0.05
0.1
!0.8
!0.6
!0.4
!0.2
0
0.2
0.4
0.6
0.8
level
water
v
a
l
v
e
Iocnuso MAT!AI soffwnro suorfs so mnny fooIs such ns ConfroI Sysfom
TooIbox, nnd ournI ofwork TooIbox soffwnro, you cnn, for oxnmIo, onsIIy
mnko n comnrIson of n fuzzy confroIIor vorsus n IInonr confroIIor or n nournI
nofwork confroIIor.
Ior n oxnmIo of how fho !uIo VIowor cnn bo usod fo Inforncf wIfh n Iuzzy
!ogIc TooIbox bIock In n SImuIInk modoI, fyo
sltankrule
ThIs oxnmIo confnIns n bIock cnIIod fho Iuzzy ConfroIIor WIfh !uIo VIowor
bIock.
In fhIs oxnmIo, fho !uIo VIowor oons whon you sfnrf fho sImuInfIon. ThIs
!uIo VIowor rovIdos nn nnImnfIon of how fho ruIos nro fIrod durIng fho wnfor
fnnk sImuInfIon. Tho wIndows fhnf oon whon you sImuInfo sltankrule
nro doIcfod ns foIIows.
<;F>
2 Tutorial
Tho !uIo VIowor fhnf oons durIng fho sImuInfIon cnn bo usod fo nccoss fho
MomborshI IuncfIon IdIfor, fho !uIo IdIfor, or nny of fho ofhor C!Is, (soo
Tho MomborshI IuncfIon IdIfor on ngo 2-43, or Tho !uIo IdIfor on ngo
2-52, for moro InformnfIon).
Ior oxnmIo, you mny wnnf fo oon fho !uIo IdIfor fo chnngo ono of your
ruIos. To do so, soIocf [,3"8 undor fho Y*$# monu of fho oon !uIo VIowor.
ow, you cnn vIow or odIf fho ruIos for fhIs SImuIInk modoI.
<;FA
Simulate Fuzzy Inference Systems in Simulink

If you sfo fho sImuInfIon rIor fo soIocfIng nny of fhoso odIfors, you shouId
chnngo your IIS. !omombor fo snvo nny chnngos you mnko fo your IIS fo fho
worksnco boforo you rosfnrf fho sImuInfIon.
<;FD
2 Tutorial
Build Your Own Fuzzy Simulink Models
To buIId your own SImuIInk sysfoms fhnf uso fuzzy IogIc, sImIy coy fho
Iuzzy !ogIc ConfroIIor bIock ouf of sltank (or nny of fho ofhor SImuIInk
sysfoms nvnIInbIo wIfh fho fooIbox) nnd Inco If In your own bIock dIngrnm.
You cnn nIso fInd fho Iuzzy !ogIc ConfroIIor bIocks In fho Iuzzy !ogIc TooIbox
IIbrnry. You cnn oon fho IIbrnry by soIocfIng +,--. /0&$1 2003405 In fho
SImuIInk !Ibrnry Irowsor wIndow, or by fyIng
fuzblock
nf fho MAT!AI romf.
Tho foIIowIng IIbrnry nonrs.
Tho Iuzzy !ogIc TooIbox IIbrnry confnIns fho Iuzzy !ogIc ConfroIIor
nnd Iuzzy !ogIc ConfroIIor wIfh !uIo VIowor bIocks. If nIso IncIudos n
MomborshI IuncfIons subIIbrnry fhnf confnIns SImuIInk bIocks for fho
buIIf-In momborshI funcfIons.
<;FL
Build Your Own Fuzzy Simulink

Models
To ndd n bIock from fho IIbrnry, drng fho bIock Info fho SImuIInk modoI
wIndow. You cnn gof hoI on n socIfIc bIock by cIIckIng _"39.
About the Fuzzy Logic Controller Block
Ior mosf fuzzy Inforonco sysfoms, fho Iuzzy !ogIc ConfroIIor bIock
nufomnfIcnIIy gonornfos n hIornrchIcnI bIock dIngrnm rorosonfnfIon of your
IIS. ThIs nufomnfIc modoI gonornfIon nbIIIfy Is cnIIod fho !"##$ a(#=25.
Tho bIock dIngrnm rorosonfnfIon onIy usos buIIf-In SImuIInk bIocks nnd,
fhoroforo, nIIows for offIcIonf codo gonornfIon.
Tho Iuzzy WIznrd cnnnof hnndIo IIS wIfh cusfom momborshI funcfIons or
wIfh A, O!, IMI, nnd ACC funcfIons oufsIdo of fho foIIowIng IIsf:
orMethod: max
andMethod: min,prod
impMethod: min,prod
aggMethod: max
In fhoso cnsos, fho Iuzzy !ogIc ConfroIIor bIock usos fho S-funcfIon sffis
fo sImuInfo fho IIS.
About the Fuzzy Logic Controller with Ruleviewer
Block
Tho Iuzzy !ogIc ConfroIIor wIfh !uIo VIowor bIock Is nn oxfonsIon of fho
Iuzzy !ogIc ConfroIIor bIock. If nIIows you fo vIsunIIzo how ruIos nro
fIrod durIng sImuInfIon. !Ighf-cIIck on fho Iuzzy ConfroIIor WIfh !uIo
VIowor bIock, nnd soIocf P(8T ] /00T ?%*") P(8T fo vIow fho undorIyIng
subsysfom.
<;FM
2 Tutorial
Initializing Fuzzy Logic Controller Blocks
You cnn InIfInIIzo n Iuzzy !ogIc ConfroIIor or Iuzzy !ogIc ConfroIIor wIfh
!uIovIowor bIock usIng n fuzzy Inforonco sysfom snvod ns n .fis fIIo or n
sfrucfuro. To Ionrn how fo snvo your fuzzy Inforonco sysfom, soo ImorfIng
nnd IxorfIng from fho C!I TooIs on ngo 2-60.
To InIfInIIzo n Iuzzy !ogIc ConfroIIor bIock, uso fho foIIowIng sfos:
1 oubIo-cIIck fho bIock fo oon fho IuncfIon IIock Inrnmofors: Iuzzy !ogIc
ConfroIIor dInIog box.
2 In +=' K$3" 0) 8#),1#,)", onfor fho nnmo of fho sfrucfuro vnrInbIo or fho
nnmo of fho .fis fIIo.
<;FE
Build Your Own Fuzzy Simulink

Models
If you nro usIng fho Iuzzy !ogIc ConfroIIor wIfh !uIovIowor bIock, onfor fho
nnmo of fho sfrucfuro vnrInbIo or fho nnmo of fho .fis fIIo In +=' N(#)$5.
Note Whon onforIng fho nnmo of fho .fis fIIo In fho bIocks, you musf
oncIoso If In sIngIo quofos.
Example: Cart and Pole Simulation
Tho cnrf nnd oIo sImuInfIon Is nn oxnmIo of n IIS modoI nufo-gonornfod
by fho Iuzzy !ogIc ConfroIIor bIock.
Tyo
slcp
nf fho MAT!AI romf fo oon fho sImuInfIon.
ThIs modoI nonrs.
<;FF
2 Tutorial
!Ighf-cIIck on fho Iuzzy !ogIc ConfroIIor bIock, nnd soIocf P(8T ] /00T
?%*") P(8T from fho rIghf-cIIck monu. Tho foIIowIng subsysfom oons.
IoIIow fho snmo rocoduro fo Iook undor fho mnsk of fho IIS WIznrd
subsysfom fo soo fho ImIomonfnfIon of your IIS. Tho Iuzzy !ogIc ConfroIIor
bIock usos buIIf-In SImuIInk bIocks fo ImIomonf your IIS. AIfhough fho
<;:GG
Build Your Own Fuzzy Simulink

Models
modoIs cnn grow comIox, fhIs rorosonfnfIon Is boffor suIfod fhnn fho
S-funcfIon sffis for offIcIonf codo gonornfIon.
<;:G:
2 Tutorial
What Is Sugeno-Type Fuzzy Inference?
ThIs foIc dIscussos fho so-cnIIod Sugono, or TnkngI-Sugono-Knng, mofhod
of fuzzy Inforonco. Infroducod In l985 |l6], If Is sImIInr fo fho MnmdnnI
mofhod In mnny rosocfs. Tho fIrsf fwo nrfs of fho fuzzy Inforonco rocoss,
fuzzIfyIng fho Inufs nnd nIyIng fho fuzzy oornfor, nro oxncfIy fho snmo.
Tho mnIn dIfforonco bofwoon MnmdnnI nnd Sugono Is fhnf fho Sugono oufuf
momborshI funcfIons nro oIfhor IInonr or consfnnf.
A fyIcnI ruIo In n Sugono fuzzy modoI hns fho form
If Inuf l = - nnd Inuf 2 = $, fhon Oufuf Is # N =- b ,$ b )
Ior n zoro-ordor Sugono modoI, fho oufuf IovoI # Is n consfnnf F=N, N]G@
Tho oufuf IovoI #
I
of onch ruIo Is woIghfod by fho fIrIng sfrongfh w
I
of fho
ruIo. Ior oxnmIo, for nn A ruIo wIfh Inuf l = - nnd Inuf 2 = $, fho
fIrIng sfrongfh Is
w AndMethod F x F y
i
= ( ( ), ( ))
1 2
whoro !
l,2
F@G nro fho momborshI funcfIons for Inufs l nnd 2.
Tho fInnI oufuf of fho sysfom Is fho woIghfod nvorngo of nII ruIo oufufs,
comufod ns
Final Output =
=
w z
w
i i
i
N
i
i
N
1
1

=
whoro c Is fho numbor of ruIos.
<;:G<
What Is Sugeno-Type Fuzzy Inference?
A Sugono ruIo oornfos ns shown In fho foIIowIng dIngrnm.
2. Apply
fuzzy
operation
(OR = max)
1. Fuzzify inputs
3. Apply
implication
method (prod).
delicious
(average)
good
excellent
rancid
(cheap)
poor
(generous)
food = 8
input 2 output
rule 2 has
no dependency
on input 2
tip = 16.3%
service = 3
input 1
If service is poor food is rancid tip = cheap then or
If service is good then tip = average
If service is excellent food is delicious then or tip = generous
1.
2.
3.
z
z
z z
1
2
3 3
z
1
z
2
Tho rocodIng fIguro shows fho fuzzy fIIng modoI dovoIood In rovIous
socfIons of fhIs mnnunI ndnfod for uso ns n Sugono sysfom. IorfunnfoIy, If Is
froquonfIy fho cnso fhnf sIngIofon oufuf funcfIons nro comIofoIy suffIcIonf
for fho noods of n gIvon robIom. As nn oxnmIo, fho sysfom tippersg.fis Is
<;:G>
2 Tutorial
fho Sugono-fyo rorosonfnfIon of fho now-fnmIIInr fIIng modoI. If you Iond
fho sysfom nnd Iof Ifs oufuf surfnco, you wIII soo fhnf If Is nImosf fho snmo
ns fho MnmdnnI sysfom you hnvo rovIousIy soon.
a = readfis('tippersg');
gensurf(a)
0
2
4
6
8
10
0
2
4
6
8
10
10
15
20
service
food
t
i
p
Tho onsIosf wny fo vIsunIIzo fIrsf-ordor Sugono sysfoms Is fo fhInk of onch ruIo
ns dofInIng fho IocnfIon of n movIng sIngIofon. Thnf Is, fho sIngIofon oufuf
sIkos cnn movo nround In n IInonr fnshIon In fho oufuf snco, doondIng
on whnf fho Inuf Is. ThIs nIso fonds fo mnko fho sysfom nofnfIon vory
comncf nnd offIcIonf. HIghor-ordor Sugono fuzzy modoIs nro ossIbIo, buf
fhoy Infroduco sIgnIfIcnnf comIoxIfy wIfh IIffIo obvIous morIf. Sugono fuzzy
modoIs whoso oufuf momborshI funcfIons nro gronfor fhnn fIrsf ordor nro
nof suorfod by Iuzzy !ogIc TooIbox soffwnro.
Iocnuso of fho IInonr doondonco of onch ruIo on fho Inuf vnrInbIos, fho
Sugono mofhod Is IdonI for ncfIng ns nn InforoInfIng suorvIsor of muIfIIo
IInonr confroIIors fhnf nro fo bo nIIod, rosocfIvoIy, fo dIfforonf oornfIng
condIfIons of n dynnmIc nonIInonr sysfom. Ior oxnmIo, fho orformnnco
<;:GA
What Is Sugeno-Type Fuzzy Inference?
of nn nIrcrnff mny chnngo drnmnfIcnIIy wIfh nIfIfudo nnd Mnch numbor.
!Inonr confroIIors, fhough onsy fo comufo nnd woII suIfod fo nny gIvon
fIIghf condIfIon, musf bo udnfod roguInrIy nnd smoofhIy fo koo u wIfh
fho chnngIng sfnfo of fho fIIghf vohIcIo. A Sugono fuzzy Inforonco sysfom Is
oxfromoIy woII suIfod fo fho fnsk of smoofhIy InforoInfIng fho IInonr gnIns
fhnf wouId bo nIIod ncross fho Inuf snco; If Is n nnfurnI nnd offIcIonf
gnIn schoduIor. SImIInrIy, n Sugono sysfom Is suIfod for modoIIng nonIInonr
sysfoms by InforoInfIng bofwoon muIfIIo IInonr modoIs.
To soo n socIfIc oxnmIo of n sysfom wIfh IInonr oufuf momborshI
funcfIons, consIdor fho ono Inuf ono oufuf sysfom sforod In sugeno1.fis.
fismat = readfis('sugeno1');
getfis(fismat,'output',1)
ThIs synfnx rofurns:
Name = output
NumMFs = 2
MFLabels =
line1
line2
Range = [0 1]
Tho oufuf vnrInbIo hns fwo momborshI funcfIons.
getfis(fismat,'output',1,'mf',1)
ThIs synfnx rofurns:
Name = line1
Type = linear
Params =
-1 -1
getfis(fismat,'output',1,'mf',2)
ThIs synfnx rofurns:
<;:GD
2 Tutorial
Name = line2
Type = linear
Params =
1 -1
Iurfhor, fhoso momborshI funcfIons nro IInonr funcfIons of fho Inuf
vnrInbIo. Tho momborshI funcfIon line1 Is dofInod by fho oqunfIon
output input = + ( ) ( ) 1 1
nnd fho momborshI funcfIon line2 Is dofInod by fho oqunfIon
output input = + ( ) ( ) 1 1
Tho Inuf momborshI funcfIons nnd ruIos dofIno whIch of fhoso oufuf
funcfIons nro oxrossod nnd whon:
showrule(fismat)
ans =
1. If (input is low) then (output is line1) (1)
2. If (input is high) then (output is line2) (1)
Tho funcfIon plotmf shows us fhnf fho momborshI funcfIon low gonornIIy
rofors fo Inuf vnIuos Ioss fhnn zoro, whIIo high rofors fo vnIuos gronfor
fhnn zoro. Tho funcfIon gensurf shows how fho ovornII fuzzy sysfom oufuf
swIfchos smoofhIy from fho IIno cnIIod line1 fo fho IIno cnIIod line2.
subplot(2,1,1), plotmf(fismat,'input',1)
subplot(2,1,2),gensurf(fismat)
<;:GL
What Is Sugeno-Type Fuzzy Inference?
!5 !4 !3 !2 !1 0 1 2 3 4 5
0
0.2
0.4
0.6
0.8
1
input
D
e
g
r
e
e

o
f

b
e
l
i
e
f
low high
!5 !4 !3 !2 !1 0 1 2 3 4 5
!1
0
1
2
3
4
input
o
u
t
p
u
t
As fhIs oxnmIo shows, Sugono-fyo sysfom gIvos you fho froodom fo
Incorornfo IInonr sysfoms Info your fuzzy sysfoms. Iy oxfonsIon, you couId
buIId n fuzzy sysfom fhnf swIfchos bofwoon sovornI ofImnI IInonr confroIIors
ns n hIghIy nonIInonr sysfom movos nround In Ifs oornfIng snco.
See Also readfis | gensurf
Concepts ComnrIson of Sugono nnd MnmdnnI Sysfoms on ngo 2-l08
Whnf Is MnmdnnI-Tyo Iuzzy Inforonco on ngo 2-34
<;:GM
2 Tutorial
Comparison of Sugeno and Mamdani Systems
Iocnuso If Is n moro comncf nnd comufnfIonnIIy offIcIonf rorosonfnfIon
fhnn n MnmdnnI sysfom, fho Sugono sysfom Ionds IfsoIf fo fho uso of ndnfIvo
fochnIquos for consfrucfIng fuzzy modoIs. Thoso ndnfIvo fochnIquos cnn bo
usod fo cusfomIzo fho momborshI funcfIons so fhnf fho fuzzy sysfom bosf
modoIs fho dnfn.
Note You cnn uso fho MAT!AI commnnd-IIno funcfIon mam2sug fo convorf n
MnmdnnI sysfom Info n Sugono sysfom (nof nocossnrIIy wIfh n sIngIo oufuf)
wIfh consfnnf oufuf momborshI funcfIons. If usos fho confroId nssocInfod
wIfh nII of fho oufuf momborshI funcfIons of fho MnmdnnI sysfom.
Tho foIIowIng nro somo fInnI consIdornfIons nbouf fho fwo dIfforonf mofhods.
Advantages of the Sugeno Method
If Is comufnfIonnIIy offIcIonf.
If works woII wIfh IInonr fochnIquos (o.g., II confroI).
If works woII wIfh ofImIznfIon nnd ndnfIvo fochnIquos.
If hns gunrnnfood confInuIfy of fho oufuf surfnco.
If Is woII suIfod fo mnfhomnfIcnI nnnIysIs.
Advantages of the Mamdani Method
If Is InfuIfIvo.
If hns wIdosrond nccofnnco.
If Is woII suIfod fo humnn Inuf.
<;:GE
anfis and the ANFIS Editor GUI
anfis and the ANFIS Editor GUI
In this section...
Whon fo !so ouro-AdnfIvo !onrnIng on ngo 2-l09
ModoI !onrnIng nnd Inforonco Through AIIS on ngo 2-ll0
TrnIn AdnfIvo ouro-Iuzzy Inforonco Sysfoms (C!I) on ngo 2-ll3
Tosf nfn AgnInsf TrnInod Sysfom (C!I) on ngo 2-ll?
IrodIcf ChnofIc TImo-SorIos (Codo) on ngo 2-l3l
Snvo TrnInIng Irror nfn fo MAT!AI Worksnco on ngo 2-l3?
ComnrIson of anfis nnd AIIS IdIfor IuncfIonnIIfy on ngo 2-l44
When to Use Neuro-Adaptive Learning
Tho bnsIc sfrucfuro of MnmdnnI fuzzy Inforonco sysfom Is n modoI fhnf mns
Inuf chnrncforIsfIcs fo Inuf momborshI funcfIons, Inuf momborshI
funcfIon fo ruIos, ruIos fo n sof of oufuf chnrncforIsfIcs, oufuf chnrncforIsfIcs
fo oufuf momborshI funcfIons, nnd fho oufuf momborshI funcfIon fo
n sIngIo-vnIuod oufuf or n docIsIon nssocInfod wIfh fho oufuf. You usod
onIy fIxod momborshI funcfIons fhnf woro choson nrbIfrnrIIy. You nIIod
fuzzy Inforonco fo onIy modoIIng sysfoms whoso ruIo sfrucfuro Is ossonfInIIy
rodoformInod by fho usor`s InforrofnfIon of fho chnrncforIsfIcs of fho
vnrInbIos In fho modoI.
anfis nnd fho AIIS IdIfor C!I nIy fuzzy Inforonco fochnIquos fo dnfn
modoIIng. As you hnvo soon from fho ofhor fuzzy Inforonco C!Is, fho shno
of fho momborshI funcfIons doonds on nrnmofors, nnd chnngIng fhoso
nrnmofors chnngo fho shno of fho momborshI funcfIon. Insfond of jusf
IookIng nf fho dnfn fo chooso fho momborshI funcfIon nrnmofors, you chooso
momborshI funcfIon nrnmofors nufomnfIcnIIy usIng fhoso Iuzzy !ogIc
TooIbox nIIcnfIons.
Suoso you wnnf fo nIy fuzzy Inforonco fo n sysfom for whIch you nIrondy
hnvo n coIIocfIon of Inuf/oufuf dnfn fhnf you wouId IIko fo uso for modoIIng,
modoI-foIIowIng, or somo sImIInr sconnrIo. You do nof nocossnrIIy hnvo n
rodoformInod modoI sfrucfuro bnsod on chnrncforIsfIcs of vnrInbIos In your
sysfom.
<;:GF
2 Tutorial
In somo modoIIng sIfunfIons, you cnnnof dIscorn whnf fho momborshI
funcfIons shouId Iook IIko sImIy from IookIng nf dnfn. !nfhor fhnn choosIng
fho nrnmofors nssocInfod wIfh n gIvon momborshI funcfIon nrbIfrnrIIy,
fhoso nrnmofors couId bo choson so ns fo fnIIor fho momborshI funcfIons
fo fho Inuf/oufuf dnfn In ordor fo nccounf for fhoso fyos of vnrInfIons
In fho dnfn vnIuos. In such cnsos, you cnn uso fho Iuzzy !ogIc TooIbox
71"2&M=5=;8(>1 IonrnIng fochnIquos Incorornfod In fho anfis commnnd.
Model Learning and Inference Through ANFIS
Tho nouro-ndnfIvo IonrnIng mofhod works sImIInrIy fo fhnf of nournI
nofworks. ouro-ndnfIvo IonrnIng fochnIquos rovIdo n mofhod for fho
fuzzy modoIIng rocoduro fo +1=27 InformnfIon nbouf n dnfn sof. Iuzzy !ogIc
TooIbox soffwnro comufos fho momborshI funcfIon nrnmofors fhnf bosf
nIIow fho nssocInfod fuzzy Inforonco sysfom fo frnck fho gIvon Inuf/oufuf
dnfn. Tho Iuzzy !ogIc TooIbox funcfIon fhnf nccomIIshos fhIs momborshI
funcfIon nrnmofor ndjusfmonf Is cnIIod anfis. Tho anfis funcfIon cnn bo
nccossod oIfhor from fho commnnd IIno or fhrough fho AIIS IdIfor C!I.
Iocnuso fho funcfIonnIIfy of fho commnnd IIno funcfIon anfis nnd fho AIIS
IdIfor C!I Is sImIInr, fhoy nro usod somowhnf InforchnngonbIy In fhIs
dIscussIon, oxcof whon socIfIcnIIy doscrIbIng fho C!I.
What Is ANFIS?
Tho ncronym AIIS dorIvos Ifs nnmo from =5=;8(>1 71"2&M9"##$ (791217)1
0$081:. !sIng n gIvon Inuf/oufuf dnfn sof, fho fooIbox funcfIon anfis
consfrucfs n fuzzy Inforonco sysfom (IIS) whoso momborshI funcfIon
nrnmofors nro funod (ndjusfod) usIng oIfhor n bnckrongnfIon nIgorIfhm
nIono or In combInnfIon wIfh n Ionsf squnros fyo of mofhod. ThIs ndjusfmonf
nIIows your fuzzy sysfoms fo Ionrn from fho dnfn fhoy nro modoIIng.
FIS Structure and Parameter Adjustment
A nofwork-fyo sfrucfuro sImIInr fo fhnf of n nournI nofwork, whIch mns
Inufs fhrough Inuf momborshI funcfIons nnd nssocInfod nrnmofors, nnd
fhon fhrough oufuf momborshI funcfIons nnd nssocInfod nrnmofors fo
oufufs, cnn bo usod fo Inforrof fho Inuf/oufuf mn.
Tho nrnmofors nssocInfod wIfh fho momborshI funcfIons chnngos fhrough
fho IonrnIng rocoss. Tho comufnfIon of fhoso nrnmofors (or fhoIr
<;::G
anfis and the ANFIS Editor GUI
ndjusfmonf) Is fncIIIfnfod by n grndIonf vocfor. ThIs grndIonf vocfor rovIdos n
monsuro of how woII fho fuzzy Inforonco sysfom Is modoIIng fho Inuf/oufuf
dnfn for n gIvon sof of nrnmofors. Whon fho grndIonf vocfor Is obfnInod,
nny of sovornI ofImIznfIon roufInos cnn bo nIIod In ordor fo ndjusf fho
nrnmofors fo roduco somo orror monsuro. ThIs orror monsuro Is usunIIy
dofInod by fho sum of fho squnrod dIfforonco bofwoon ncfunI nnd dosIrod
oufufs. anfis usos oIfhor bnck rongnfIon or n combInnfIon of Ionsf
squnros osfImnfIon nnd bnckrongnfIon for momborshI funcfIon nrnmofor
osfImnfIon.
Know Your Data
Tho modoIIng nronch usod by anfis Is sImIInr fo mnny sysfom IdonfIfIcnfIon
fochnIquos. IIrsf, you hyofhosIzo n nrnmoforIzod modoI sfrucfuro (roInfIng
Inufs fo momborshI funcfIons fo ruIos fo oufufs fo momborshI funcfIons,
nnd so on). oxf, you coIIocf Inuf/oufuf dnfn In n form fhnf wIII bo usnbIo by
anfis for frnInIng. You cnn fhon uso anfis fo 82=(7 fho IIS modoI fo omuInfo
fho frnInIng dnfn rosonfod fo If by modIfyIng fho momborshI funcfIon
nrnmofors nccordIng fo n choson orror crIforIon.
In gonornI, fhIs fyo of modoIIng works woII If fho frnInIng dnfn rosonfod
fo anfis for frnInIng (osfImnfIng) momborshI funcfIon nrnmofors Is fuIIy
rorosonfnfIvo of fho fonfuros of fho dnfn fhnf fho frnInod IIS Is Infondod fo
modoI. In somo cnsos howovor, dnfn Is coIIocfod usIng noIsy monsuromonfs,
nnd fho frnInIng dnfn cnnnof bo rorosonfnfIvo of nII fho fonfuros of fho dnfn
fhnf wIII bo rosonfod fo fho modoI. In such sIfunfIons, modoI vnIIdnfIon Is
hoIfuI.
Model Validation Using Testing and Checking Data Sets. R&51+
>=+(5=8(&7 Is fho rocoss by whIch fho Inuf vocfors from Inuf/oufuf dnfn
sofs on whIch fho IIS wns nof frnInod, nro rosonfod fo fho frnInod IIS
modoI, fo soo how woII fho IIS modoI rodIcfs fho corrosondIng dnfn sof
oufuf vnIuos.
Ono robIom wIfh modoI vnIIdnfIon for modoIs consfrucfod usIng ndnfIvo
fochnIquos Is soIocfIng n dnfn sof fhnf Is bofh rorosonfnfIvo of fho dnfn
fho frnInod modoI Is Infondod fo omuInfo, yof suffIcIonfIy dIsfIncf from fho
frnInIng dnfn sof so ns nof fo rondor fho vnIIdnfIon rocoss frIvInI.
<;:::
2 Tutorial
If you hnvo coIIocfod n Inrgo nmounf of dnfn, hoofuIIy fhIs dnfn confnIns nII
fho nocossnry rorosonfnfIvo fonfuros, so fho rocoss of soIocfIng n dnfn sof
for chockIng or fosfIng urosos Is mndo onsIor. Howovor, If you oxocf fo bo
rosonfIng noIsy monsuromonfs fo your modoI, If Is ossIbIo fho frnInIng dnfn
sof doos nof IncIudo nII of fho rorosonfnfIvo fonfuros you wnnf fo modoI.
Tho fosfIng dnfn sof Iofs you chock fho gonornIIznfIon cnnbIIIfy of fho
rosuIfIng fuzzy Inforonco sysfom. Tho Idon bohInd usIng n chockIng dnfn sof
for modoI vnIIdnfIon Is fhnf nffor n corfnIn oInf In fho frnInIng, fho modoI
bogIns ovorfIffIng fho frnInIng dnfn sof. In rIncIIo, fho modoI orror for fho
chockIng dnfn sof fonds fo docronso ns fho frnInIng fnkos Inco u fo fho
oInf fhnf ovorfIffIng bogIns, nnd fhon fho modoI orror for fho chockIng dnfn
suddonIy Incronsos. OvorfIffIng Is nccounfod for by fosfIng fho IIS frnInod on
fho frnInIng dnfn ngnInsf fho chockIng dnfn, nnd choosIng fho momborshI
funcfIon nrnmofors fo bo fhoso nssocInfod wIfh fho mInImum chockIng orror
If fhoso orrors IndIcnfo modoI ovorfIffIng.
!sunIIy, fhoso frnInIng nnd chockIng dnfn sofs nro coIIocfod bnsod on
obsorvnfIons of fho fnrgof sysfom nnd nro fhon sforod In sonrnfo fIIos.
In fho fIrsf oxnmIo, fwo sImIInr dnfn sofs nro usod for chockIng nnd frnInIng,
buf fho chockIng dnfn sof Is corrufod by n smnII nmounf of noIso. ThIs
oxnmIo IIIusfrnfos of fho uso of fho AIIS IdIfor C!I wIfh chockIng dnfn
fo roduco fho offocf of modoI ovorfIffIng. In fho socond oxnmIo, n frnInIng
dnfn sof fhnf Is rosonfod fo anfis Is suffIcIonfIy dIfforonf fhnn fho nIIod
chockIng dnfn sof. Iy oxnmInIng fho chockIng orror soquonco ovor fho
frnInIng orIod, If Is cIonr fhnf fho chockIng dnfn sof Is nof good for modoI
vnIIdnfIon urosos. ThIs oxnmIo IIIusfrnfos fho uso of fho AIIS IdIfor
C!I fo comnro dnfn sofs.
References
|l] Jnng, J.-S. !., Iuzzy ModoIIng !sIng ConornIIzod ournI ofworks nnd
KnImnn IIIfor AIgorIfhm, J2&)@ &9 8<1 c(78< c=8(&7=+ 6&79@ &7 K28(9()(=+
E781++('17)1 FKKKEMdXG, . ?62-?6?, JuIy l99l.
|2] Jnng, J.-S. !., AIIS: AdnfIvo-ofwork-bnsod Iuzzy Inforonco
Sysfoms, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75 6$,12718()0, VoI. 23,
o. 3, . 665-685, Mny l993.
<;::<
anfis and the ANFIS Editor GUI
|3] Jnng, J.-S. !. nnd . CuIIoy, CnIn schoduIIng bnsod fuzzy confroIIor
dosIgn, J2&)@ &9 8<1 E78127=8(&7=+ T&(78 6&791217)1 &9 8<1 c&28< K:12()=7
!"##$ E79&2:=8(&7 J2&)100(7' I&)(18$ L(=77"=+ 6&791217)1? 8<1 E75"082(=+
!"##$ 6&782&+ =75 E781++('178 I$081:0 6&791217)1? =75 8<1 cKIK T&(78
*1)<7&+&'$ a&2D0<&; &7 c1"2=+ c18C&2D0 =75 !"##$ %&'(), Snn AnfonIo,
Toxns, oc. l994.
|4] Jnng, J.-S. !. nnd C.-T. Sun, ouro-fuzzy modoIIng nnd confroI,
J2&)115(7'0 &9 8<1 ESSS, Mnrch l995.
|5] Jnng, J.-S. !. nnd C.-T. Sun, c1"2&M!"##$ =75 I&98 6&:;"8(7'P K
6&:;"8=8(&7=+ K;;2&=)< 8& %1=27(7' =75 R=)<(71 E781++('17)1, IronfIco
HnII, l99?.
|6] Wnng, !.-X., K5=;8(>1 9"##$ 0$081:0 =75 )&782&+P 510('7 =75 08=,(+(8$
=7=+$0(0, IronfIco HnII, l994.
|?] WIdrow, I. nnd . Sfonrns, K5=;8(>1 I('7=+ J2&)100(7', IronfIco HnII,
l985.
Train Adaptive Neuro-Fuzzy Inference Systems (GUI)
You cnn cronfo, frnIn, nnd fosf Sugono-fyo fuzzy sysfoms usIng fho AIIS
IdIfor C!I.
To sfnrf fho C!I, fyo fho foIIowIng commnnd nf fho MAT!AI romf:
anfisedit
Tho AIIS IdIfor C!I wIndow shown In fho foIIowIng fIguro IncIudos four
dIsfIncf nrons fo suorf n fyIcnI workfIow. Tho C!I Iofs you orform fho
foIIowIng fnsks:
1 !ondIng, IIoffIng, nnd CIonrIng fho nfn on ngo 2-ll4
2 ConornfIng or !ondIng fho InIfInI IIS Sfrucfuro on ngo 2-ll5
3 TrnInIng fho IIS on ngo 2-ll5
4 VnIIdnfIng fho TrnInod IIS on ngo 2-ll6
<;::>
2 Tutorial
Accoss fho onIIno hoI foIcs by cIIckIng _"39 In fho AIIS IdIfor.
Loading, Plotting, and Clearing the Data
To frnIn n IIS, you musf bogIn by IondIng n 2)($%$%& dnfn sof fhnf confnIns
fho dosIrod Inuf/oufuf dnfn of fho sysfom fo bo modoIod. Any dnfn sof you
Iond musf bo nn nrrny wIfh fho dnfn nrrnngod ns coIumn vocfors, nnd fho
oufuf dnfn In fho Insf coIumn.
You cnn nIso Iond 2"8#$%& nnd O@"1T$%& dnfn In fho C!I. Ior moro
InformnfIon on fosfIng nnd chockIng dnfn sofs, soo ModoI VnIIdnfIon !sIng
TosfIng nnd ChockIng nfn Sofs on ngo 2-lll.
To Iond n dnfn sof usIng fho /0(* *(#( orfIon of fho C!I:
<;::A
anfis and the ANFIS Editor GUI
1 SocIfy fho dnfn 2.9".
2 SoIocf fho dnfn from n K$3" or fho MAT!AI W0)T89.
3 CIIck /0(* 7(#(.
Affor you Iond fho dnfn, If dIsInys In fho Iof. Tho frnInIng, fosfIng nnd
chockIng dnfn nro nnnofnfod In bIuo ns )(2)+10, 5(=:&750, nnd ;+"010
rosocfIvoIy.
To cIonr n socIfIc dnfn sof from fho C!I:
1 In fho /0(* *(#( nron, soIocf fho dnfn 2.9".
2 CIIck O3"() 7(#(.
ThIs ncfIon nIso romovos fho corrosondIng dnfn from fho Iof.
Generating or Loading the Initial FIS Structure
Ioforo you sfnrf fho IIS frnInIng, you musf socIfy nn InIfInI IIS modoI
sfrucfuro. To socIfy fho modoI sfrucfuro, orform ono of fho foIIowIng fnsks:
!ond n rovIousIy snvod Sugono-fyo IIS sfrucfuro from n fIIo or fho
MAT!AI worksnco.
Conornfo fho InIfInI IIS modoI by choosIng ono of fho foIIowIng nrfIfIonIng
fochnIquos:
- !)$* 9()#$#$0% Conornfos n sIngIo-oufuf Sugono-fyo IIS by usIng
grId nrfIfIonIng on fho dnfn.
- ',4I 13,8#")$%& Conornfos nn InIfInI modoI for AIIS frnInIng by
fIrsf nIyIng subfrncfIvo cIusforIng on fho dnfn.
To vIow n grnhIcnI rorosonfnfIon of fho InIfInI IIS modoI sfrucfuro, cIIck
'#),1#,)".
Training the FIS
Affor IondIng fho frnInIng dnfn nnd gonornfIng fho InIfInI IIS sfrucfuro, you
cnn sfnrf frnInIng fho IIS.
<;::D
2 Tutorial
Tip If you wnnf fo snvo fho frnInIng orror gonornfod durIng AIIS frnInIng
fo fho MAT!AI worksnco, soo Snvo TrnInIng Irror nfn fo MAT!AI
Worksnco on ngo 2-l3?.
Tho foIIowIng sfos show you how fo frnIn fho IIS.
1 In V9#$NI P"#@0*, chooso @.4)$* or 4(1T9)09(&( ns fho ofImIznfIon
mofhod.
Tho ofImIznfIon mofhods frnIn fho momborshI funcfIon nrnmofors fo
omuInfo fho frnInIng dnfn.
Note Tho @.4)$* ofImIznfIon mofhod Is n combInnfIon of Ionsf-squnros
nnd bnckrongnfIon grndIonf dosconf mofhod.
2 Infor fho numbor of frnInIng Y901@8 nnd fho frnInIng Y))0) 203")(%1"
fo sof fho sfoIng crIforIn for frnInIng.
Tho frnInIng rocoss sfos whonovor fho mnxImum ooch numbor Is
ronchod or fho frnInIng orror gonI Is nchIovod.
3 CIIck 2)($% J0W fo frnIn fho IIS.
ThIs ncfIon ndjusfs fho momborshI funcfIon nrnmofors nnd dIsInys fho
orror Iofs.
IxnmIno fho orror Iofs fo doformIno ovorfIffIng durIng fho frnInIng. If
you nofIco fho chockIng orror IncronsIng ovor IfornfIons, If IndIcnfos modoI
ovorfIffIng. Ior oxnmIos on modoI ovorfIffIng, soo ChockIng nfn HoIs
ModoI VnIIdnfIon on ngo 2-ll? nnd ChockIng nfn oos of VnIIdnfo
ModoI on ngo 2-l2?.
Validating the Trained FIS
Affor fho IIS Is frnInod, vnIIdnfo fho modoI usIng n 2"8#$%& or O@"1T$%&
dnfn fhnf dIffors from fho ono you usod fo frnIn fho IIS. To vnIIdnfo fho
frnInod IIS:
<;::L
anfis and the ANFIS Editor GUI
1 SoIocf fho vnIIdnfIon dnfn sof nnd cIIck /0(* 7(#(.
2 CIIck 2"8# J0W.
ThIs ncfIon Iofs fho fosf dnfn ngnInsf fho IIS oufuf (shown In rod) In
fho Iof.
Ior moro InformnfIon on fho uso of fosfIng dnfn nnd chockIng dnfn for modoI
vnIIdnfIon, soo ModoI VnIIdnfIon !sIng TosfIng nnd ChockIng nfn Sofs on
ngo 2-lll.
Test Data Against Trained System (GUI)
ChockIng nfn HoIs ModoI VnIIdnfIon on ngo 2-ll?
ChockIng nfn oos of VnIIdnfo ModoI on ngo 2-l2?
Checking Data Helps Model Validation
In fhIs socfIon, wo Iook nf nn oxnmIo fhnf Ionds sImIInr frnInIng nnd chockIng
dnfn sofs. Tho chockIng dnfn sof Is corrufod by noIso.
1 !ondIng nfn on ngo 2-ll?
2 InIfInIIzIng nnd ConornfIng Your IIS on ngo 2-l20
3 VIowIng Your IIS Sfrucfuro on ngo 2-l23
4 AIIS TrnInIng on ngo 2-l24
5 TosfIng Your nfn AgnInsf fho TrnInod IIS on ngo 2-l25
Loading Data. To work bofh of fho foIIowIng oxnmIos, you Iond fho frnInIng
dnfn sofs (fuzex1trnData nnd fuzex2trnData) nnd fho chockIng dnfn sofs
(fuzex1chkData nnd fuzex2chkData), Info fho AIIS IdIfor C!I from fho
worksnco. You mny nIso subsfIfufo your own dnfn sofs.
To Iond fho dnfn sofs from fho worksnco Info fho AIIS IdIfor C!I:
1 Tyo fho foIIowIng commnnds nf fho MAT!AI commnnd IIno fo Iond fho
dnfn sofs from fho foIdor fuzzydemos Info fho MAT!AI worksnco:
<;::M
2 Tutorial
load fuzex1trnData.dat
load fuzex2trnData.dat
load fuzex1chkData.dat
load fuzex2chkData.dat
2 Oon fho AIIS IdIfor C!I by fyIng anfisedit In fho MAT!AI
commnnd IIno.
3 To Iond fho frnInIng dnfn sof from fho worksnco:
a In fho /0(* *(#( orfIon of fho C!I, soIocf fho foIIowIng ofIons:
2.9"a 2)($%$%&
+)0Na W0)T89I
b CIIck /0(* 7(#( fo oon fho !ond from worksnco dInIog box.
<;::E
anfis and the ANFIS Editor GUI
c Tyo fuzex1trnData ns shown In fho foIIowIng fIguro, nnd cIIck V^.
Tho frnInIng dnfn sof Is usod fo frnIn n fuzzy sysfom by ndjusfIng fho
momborshI funcfIon nrnmofors fhnf bosf modoI fhIs dnfn, nnd nonrs
In fho Iof In fho confor of fho C!I ns n sof of )(2)+10.
Tho horIzonfnI nxIs Is mnrkod *(#( 8"# $%*"5. ThIs Indox IndIcnfos fho
row from whIch fhnf Inuf dnfn vnIuo wns obfnInod (whofhor or nof
fho Inuf Is n vocfor or n scnInr).
4 To Iond fho chockIng dnfn sof from fho worksnco:
a In fho /0(* *(#( orfIon of fho C!I, soIocf O@"1T$%& In fho 2.9"
coIumn.
b CIIck /0(* 7(#( fo oon fho !ond from worksnco dInIog box.
<;::F
2 Tutorial
c Tyo fuzex1chkData ns fho vnrInbIo nnmo nnd cIIck V^.
Tho chockIng dnfn nonrs In fho C!I Iof ns ;+"010 suorImosod on
fho frnInIng dnfn.
Tho noxf sfo Is fo socIfy nn InIfInI fuzzy Inforonco sysfom for anfis
fo frnIn.
Initializing and Generating Your FIS. You cnn oIfhor InIfInIIzo fho IIS
nrnmofors fo your own roforonco, or If you do nof hnvo nny roforonco for
how you wnnf fho InIfInI momborshI funcfIons fo bo nrnmoforIzod, you
cnn Iof anfis InIfInIIzo fho nrnmofors for you, ns doscrIbod In fho foIIowIng
socfIons:
AufomnfIc IIS Sfrucfuro ConornfIon on ngo 2-l2l
<;:<G
anfis and the ANFIS Editor GUI
SocIfyIng Your Own MomborshI IuncfIons for AIIS on ngo 2-l22
Automatic FIS Structure Generation. To InIfInIIzo your IIS usIng anfis:
1 Chooso !)$* 9()#$#$0%c fho dofnuIf nrfIfIonIng mofhod. Tho fwo nrfIfIon
mofhods, grId nrfIfIonIng nnd subfrncfIvo cIusforIng, nro doscrIbod Infor In
Iuzzy C-Monns CIusforIng on ngo 2-l52, nnd In SubfrncfIvo CIusforIng
on ngo 2-l5?.
2 CIIck on fho !"%")(#" +=' buffon. CIIckIng fhIs buffon dIsInys n monu
from whIch you cnn chooso fho numbor of momborshI funcfIons, P+8, nnd
fho fyo of Inuf nnd oufuf momborshI funcfIons. Thoro nro onIy fwo
choIcos for fho oufuf momborshI funcfIon: constant nnd linear. ThIs
IImIfnfIon of oufuf momborshI funcfIon choIcos Is bocnuso anfis onIy
oornfos on Sugono-fyo sysfoms.
3 IIII In fho onfrIos ns shown In fho foIIowIng fIguro, nnd cIIck V^I
<;:<:
2 Tutorial
You cnn nIso ImIomonf fhIs IIS gonornfIon from fho commnnd IIno usIng
fho commnnd genfis1 (for grId nrfIfIonIng) or genfis2 (for subfrncfIvo
cIusforIng).
Specifying Your Own Membership Functions for ANFIS. You cnn chooso
your own roforrod momborshI funcfIons wIfh socIfIc nrnmofors fo bo usod
by anfis ns nn InIfInI IIS for frnInIng.
To dofIno your own IIS sfrucfuro nnd nrnmofors:
1 Oon fho P"N4")8@$9 K,%1#$0%8 monu Ifom from fho Y*$# monu.
2 Add your dosIrod momborshI funcfIons (fho cusfom momborshI ofIon
wIII bo dIsnbIod for anfis). Tho oufuf momborshI funcfIons musf oIfhor
bo nII consfnnf or nII IInonr. Ior cnrryIng ouf fhIs nnd fho foIIowIng sfo,
soo Tho IIS IdIfor on ngo 2-38 nnd Tho MomborshI IuncfIon IdIfor
on ngo 2-43.
3 SoIocf fho [,3"8 monu Ifom In fho Y*$# monu, nnd uso fho !uIo IdIfor fo
gonornfo fho ruIos (soo Tho !uIo IdIfor on ngo 2-52).
4 SoIocf fho +=' 6)09")#$"8 monu Ifom from fho Y*$# monu. nmo your
IIS, nnd snvo If fo oIfhor fho worksnco or fo fIIo.
5 CIIck fho O308" buffon fo rofurn fo fho AIIS IdIfor C!I fo frnIn fho IIS.
6 To Iond nn oxIsfIng IIS for AIIS InIfInIIznfIon, In fho !"%")(#" +='
orfIon of fho C!I, cIIck /0(* K)0N W0)T89I or /0(* K)0N K$3". You Iond
your IIS from n fIIo If you hnvo snvod n IIS rovIousIy fhnf you wouId IIko
fo uso. OfhorwIso you Iond your IIS from fho worksnco.
<;:<<
anfis and the ANFIS Editor GUI
Viewing Your FIS Structure. Affor you gonornfo fho IIS, you cnn vIow fho
modoI sfrucfuro by cIIckIng fho '#),1#,)" buffon In fho mIddIo of fho rIghf
sIdo of fho C!I. A now C!I nonrs, ns foIIows.
Tho brnnchos In fhIs grnh nro coIor codod. CoIor codIng of brnnchos
chnrncforIzo fho ruIos nnd IndIcnfo whofhor or nof =75, 7&8, or &2 nro usod In
fho ruIos. Tho Inuf Is rorosonfod by fho Ioff-mosf nodo nnd fho oufuf by
fho rIghf-mosf nodo. Tho nodo rorosonfs n normnIIznfIon fncfor for fho ruIos.
CIIckIng on fho nodos IndIcnfos InformnfIon nbouf fho sfrucfuro.
You cnn vIow fho momborshI funcfIons or fho ruIos by oonIng oIfhor fho
MomborshI IuncfIon IdIfor, or fho !uIo IdIfor from fho Y*$# monu.
<;:<>
2 Tutorial
ANFIS Training. Tho fwo anfis nrnmofor ofImIznfIon mofhod ofIons
nvnIInbIo for IIS frnInIng nro hybrid (fho dofnuIf, mIxod Ionsf squnros nnd
bnckrongnfIon) nnd backpropa (bnckrongnfIon). Y))0) 203")(%1" Is
usod fo cronfo n frnInIng sfoIng crIforIon, whIch Is roInfod fo fho orror
sIzo. Tho frnInIng wIII sfo nffor fho frnInIng dnfn orror romnIns wIfhIn fhIs
foIornnco. ThIs Is bosf Ioff sof fo 0 If you nro unsuro how your frnInIng orror
mny bohnvo.
Note If you wnnf fo snvo fho frnInIng orror dnfn gonornfod durIng AIIS
frnInIng fo fho MAT!AI worksnco, you musf frnIn fho IIS nf fho commnnd
IIno. Ior nn oxnmIo, Snvo TrnInIng Irror nfn fo MAT!AI Worksnco on
ngo 2-l3?.
To sfnrf fho frnInIng:
1 !onvo fho ofImIznfIon mofhod nf hybrid.
2 Sof fho numbor of frnInIng oochs fo 40, undor fho Y901@8 IIsfIng on fho
C!I (fho dofnuIf vnIuo Is 3).
<;:<A
anfis and the ANFIS Editor GUI
3 SoIocf 2)($% J0W.
Tho foIIowIng wIndow nonrs on your scroon.
Tho Iof shows fho chockIng orror ns on fho fo . Tho frnInIng orror
nonrs ns * * on fho boffom. Tho chockIng orror docronsos u fo n corfnIn
oInf In fho frnInIng, nnd fhon If Incronsos. ThIs Incronso rorosonfs fho
oInf of modoI ovorfIffIng. anfis choosos fho modoI nrnmofors nssocInfod
wIfh fho mInImum chockIng orror (jusf rIor fo fhIs jum oInf). ThIs
oxnmIo shows why fho chockIng dnfn ofIon of anfis Is usofuI.
Testing Your Data Against the Trained FIS. To fosf your IIS ngnInsf fho
chockIng dnfn, soIocf O@"1T$%& *(#( In fho 2"8# +=' orfIon of fho AIIS
IdIfor C!I, nnd cIIck 2"8# J0W. Whon you fosf fho chockIng dnfn ngnInsf
fho IIS, If Iooks snfIsfncfory.
<;:<D
2 Tutorial
Loading More Data with anfis. If you Iond dnfn Info anfis nffor cIonrIng
rovIousIy Iondod dnfn, you musf mnko suro fhnf fho nowIy Iondod dnfn sofs
hnvo fho snmo numbor of Inufs ns fho rovIousIy Iondod onos dId. OfhorwIso,
you musf sfnrf n now anfisedit sossIon from fho commnnd IIno.
Checking Data Option and Clearing Data. If you do nof wnnf fo uso fho
chockIng dnfn ofIon of anfis, fhon do nof Iond nny chockIng dnfn boforo you
frnIn fho IIS. If you docIdo fo rofrnIn your IIS wIfh no chockIng dnfn, you
cnn unIond fho chockIng dnfn In ono of fwo wnys:
SoIocf fho O@"1T$%& ofIon buffon In fho /0(* *(#( orfIon of fho AIIS
IdIfor C!I, nnd fhon cIIck O3"() 7(#( fo unIond fho chockIng dnfn.
<;:<L
anfis and the ANFIS Editor GUI
CIoso fho AIIS IdIfor C!I, nnd go fo fho MAT!AI commnnd IIno, nnd
rofyo anfisedit. In fhIs cnso you musf roIond fho frnInIng dnfn.
Affor cIonrIng fho dnfn, you musf rogonornfo your IIS. Affor fho IIS Is
gonornfod, you cnn uso your fIrsf frnInIng oxorIonco fo docIdo on fho numbor
of frnInIng oochs you wnnf for fho socond round of frnInIng.
Checking Data Does Not Validate Model
ThIs oxnmIo oxnmInos whnf hnons whon fho frnInIng nnd chockIng dnfn
sofs nro suffIcIonfIy dIfforonf. To soo how fho AIIS IdIfor C!I cnn bo usod
fo Ionrn somofhIng nbouf dnfn sofs nnd how fhoy dIffor:
1 CIonr fho AIIS IdIfor C!I:
CIonr bofh fho frnInIng nnd chockIng dnfn.
(ofIonnI) CIIck fho O3"() 630# buffon on fho rIghf.
2 !ond fuzex2trnData nnd fuzex2chkData (rosocfIvoIy, fho frnInIng dnfn
nnd chockIng dnfn) from fho MAT!AI worksnco jusf ns you dId In fho
rovIous oxnmIo.
<;:<M
2 Tutorial
You shouId soo n Iof sImIInr fo fho ono In fho foIIowIng fIguro. Tho frnInIng
dnfn nonrs ns )(2)+10 suorImosod wIfh fho chockIng dnfn, nonrIng ns
;+"010.
TrnIn fho IIS for fhIs sysfom oxncfIy ns you dId In fho rovIous oxnmIo,
oxcof now chooso 60 Y901@8 boforo frnInIng. You shouId gof fho foIIowIng
Iof, showIng fho chockIng orror ns on fo nnd fho frnInIng orror ns *
* on fho boffom.
<;:<E
anfis and the ANFIS Editor GUI
In fhIs cnso, fho chockIng orror Is quIfo Inrgo. If nonrs fhnf fho mInImum
chockIng orror occurs wIfhIn fho fIrsf ooch. !sIng fho chockIng dnfn ofIon
wIfh anfis nufomnfIcnIIy sofs fho IIS nrnmofors fo bo fhoso nssocInfod wIfh
fho mInImum chockIng orror. CIonrIy fhIs sof of momborshI funcfIons Is nof
fho bosf choIco for modoIIng fho frnInIng dnfn.
ThIs oxnmIo IIIusfrnfos fho robIom dIscussod onrIIor whoroIn fho chockIng
dnfn sof rosonfod fo anfis for frnInIng wns suffIcIonfIy dIfforonf from fho
frnInIng dnfn sof. As n rosuIf, fho frnInod IIS dId nof cnfuro fho fonfuros
of fhIs dnfn sof vory woII. If Is Imorfnnf fo know fho fonfuros of your dnfn
sof woII whon you soIocf your frnInIng nnd chockIng dnfn. Whon you do nof
know fho fonfuros of your dnfn, you cnn nnnIyzo fho chockIng orror Iofs fo
soo whofhor or nof fho chockIng dnfn orformod suffIcIonfIy woII wIfh fho
frnInod modoI.
<;:<F
2 Tutorial
In fhIs oxnmIo, fho chockIng orror Is suffIcIonfIy Inrgo fo IndIcnfo fhnf oIfhor
you nood fo soIocf moro dnfn for frnInIng or modIfy your momborshI funcfIon
choIcos (bofh fho numbor of momborshI funcfIons nnd fho fyo). OfhorwIso,
fho sysfom cnn bo rofrnInod wIfhouf fho chockIng dnfn, If you fhInk fho
frnInIng dnfn suffIcIonfIy cnfuros fho fonfuros you nro fryIng fo rorosonf.
To comIofo fhIs oxnmIo, fosf fho frnInod IIS modoI ngnInsf fho chockIng
dnfn. To do so, soIocf O@"1T$%& *(#( In fho 2"8# +=' orfIon of fho C!I, nnd
cIIck 2"8# J0W. Tho foIIowIng Iof In fho C!I IndIcnfos fhnf fhoro Is quIfo n
dIscronncy bofwoon fho chockIng dnfn oufuf nnd fho IIS oufuf.
<;:>G
anfis and the ANFIS Editor GUI
Predict Chaotic Time-Series (Code)
ConornfIng n IIS usIng fho AIIS IdIfor C!I Is quIfo sImIo. Howovor, ns
you snw In fho Insf oxnmIo, you nood fo bo cnufIous nbouf ImIomonfIng fho
chockIng dnfn vnIIdnfIon fonfuro of anfis. You musf chock fhnf fho chockIng
dnfn orror doos whnf Is suosod fo. OfhorwIso, you nood fo rofrnIn fho IIS.
ThIs socfIon doscrIbos how fo cnrry ouf fho commnnd IIno fonfuros of anfis on
n chnofIc fImos-sorIos rodIcfIon oxnmIo.
Using anfis for Chaotic Time-Series Prediction
Tho oxnmIo mgtsdemo usos anfis fo rodIcf n fImo sorIos fhnf Is gonornfod
by fho foIIowIng Mnckoy-CInss (MC) fImo-doIny dIfforonfInI oqunfIon.
x t
x t
x t
x t ( ) =
( )
+ ( )
( )
0 2
1
0 1
10
.
.

ThIs fImo sorIos Is chnofIc, nnd so fhoro Is no cIonrIy dofInod orIod. Tho
sorIos doos nof convorgo or dIvorgo, nnd fho frnjocfory Is hIghIy sonsIfIvo fo
InIfInI condIfIons. ThIs bonchmnrk robIom Is usod In fho nournI nofwork nnd
fuzzy modoIIng rosonrch communIfIos.
To obfnIn fho fImo sorIos vnIuo nf Infogor oInfs, wo nIIod fho fourfh-ordor
!ungo-Kuffn mofhod fo fInd fho numorIcnI soIufIon fo fho rovIous MC
oqunfIon; fho rosuIf wns snvod In fho fIIo mgdata.dat. Assumo -(0) = l.2, =
l?, nnd -F8G = 0 for 8(:1 < 0. To Iof fho MC fImo sorIos, fyo
load mgdata.dat
time = mgdata(:, 1); x = mgdata(:, 2);
figure(1), plot(time, x);
title('Mackey-Glass Chaotic Time Series')
xlabel('Time (sec)')
<;:>:
2 Tutorial
In fImo-sorIos rodIcfIon, you nood fo uso known vnIuos of fho fImo sorIos
u fo fho oInf In fImo, sny, 8, fo rodIcf fho vnIuo nf somo oInf In fho
fufuro, sny, 8bJ. Tho sfnndnrd mofhod for fhIs fyo of rodIcfIon Is fo cronfo
n mnIng from snmIo dnfn oInfs, snmIod ovory unIfs In fImo,
(-F8MFU-l)),..., -F8-), x(f)), fo n rodIcfod fufuro vnIuo -F8bJG. IoIIowIng fho
convonfIonnI soffIngs for rodIcfIng fho MC fImo sorIos, sof U = 4 nnd = J =
6. Ior onch 8, fho Inuf frnInIng dnfn for anfis Is n four-dImonsIonnI vocfor
of fho foIIowIng form.
w(f) = |x(f-l8) x(f-l2) x(f-6) x(f)]
Tho oufuf frnInIng dnfn corrosonds fo fho frnjocfory rodIcfIon.
s(f) = x(f+6)
Ior onch 8, rnngIng In vnIuos from ll8 fo lll?, fho frnInIng Inuf/oufuf
dnfn Is n sfrucfuro whoso fIrsf comononf Is fho four-dImonsIonnI Inuf C,
nnd whoso socond comononf Is fho oufuf s. Thoro Is l000 Inuf/oufuf
<;:><
anfis and the ANFIS Editor GUI
dnfn vnIuos. You uso fho fIrsf 500 dnfn vnIuos for fho anfis frnInIng (fhoso
bocomo fho frnInIng dnfn sof), whIIo fho ofhors nro usod ns chockIng dnfn for
vnIIdnfIng fho IdonfIfIod fuzzy modoI. ThIs dIvIsIon of dnfn vnIuos rosuIfs In
fwo 500-oInf dnfn sfrucfuros, trnData nnd chkData.
Tho foIIowIng codo gonornfos fhIs dnfn:
for t=118:1117,
Data(t-117,:)=[x(t-18) x(t-12) x(t-6) x(t) x(t+6)];
end
trnData=Data(1:500, :);
chkData=Data(501:end, :);
To sfnrf fho frnInIng, you nood n IIS sfrucfuro fhnf socIfIos fho sfrucfuro
nnd InIfInI nrnmofors of fho IIS for IonrnIng. Tho genfis1 funcfIon hnndIos
fhIs socIfIcnfIon.
fismat = genfis1(trnData);
Iocnuso you dId nof socIfy numbors nnd fyos of momborshI funcfIons
usod In fho IIS, dofnuIf vnIuos nro nssumod. Thoso dofnuIfs rovIdo fwo
gonornIIzod boII momborshI funcfIons on onch of fho four Inufs, oIghf
nIfogofhor. Tho gonornfod IIS sfrucfuro confnIns l6 fuzzy ruIos wIfh l04
nrnmofors. To nchIovo good gonornIIznfIon cnnbIIIfy, If Is Imorfnnf fhnf
fho numbor of frnInIng dnfn oInfs bo sovornI fImos Inrgor fhnn fho numbor
nrnmofors boIng osfImnfod. In fhIs cnso, fho rnfIo bofwoon dnfn nnd
nrnmofors Is nbouf fIvo (500/l04).
Tho funcfIon genfis1 gonornfos InIfInI momborshI funcfIons fhnf nro oqunIIy
sncod nnd covor fho whoIo Inuf snco. You cnn Iof fho Inuf momborshI
funcfIons usIng fho foIIowIng commnnds.
figure(2)
subplot(2,2,1)
plotmf(fismat, 'input', 1)
subplot(2,2,2)
plotmf(fismat, 'input', 2)
subplot(2,2,3)
plotmf(fismat, 'input', 3)
subplot(2,2,4)
plotmf(fismat, 'input', 4)
<;:>>
2 Tutorial
Thoso foIIowIng Iofs show fhoso InIfInI momborshI funcfIons.
To sfnrf fho frnInIng, fyo
[fismat1,error1,ss,fismat2,error2] = ...
anfis(trnData,fismat,[],[],chkData);
Iocnuso fho chockIng dnfn ofIon of anfis Is Invokod, fho fInnI IIS you chooso
Is fho ono nssocInfod wIfh fho mInImum chockIng orror. ThIs rosuIf Is sforod
In fismat2. Tho foIIowIng codo Iofs fhoso now momborshI funcfIons.
figure(3)
subplot(2,2,1)
plotmf(fismat2, 'input', 1)
subplot(2,2,2)
plotmf(fismat2, 'input', 2)
subplot(2,2,3)
plotmf(fismat2, 'input', 3)
<;:>A
anfis and the ANFIS Editor GUI
subplot(2,2,4)
plotmf(fismat2, 'input', 4)
Tho foIIowIng Iofs show fho rosuIf.
To Iof fho orror sIgnnIs, fyo
figure(4)
plot([error1 error2]);
hold on; plot([error1 error2], 'o');
xlabel('Epochs');
ylabel('RMSE (Root Mean Squared Error)');
title('Error Curves');
<;:>D
2 Tutorial
Tho Iofs dIsIny fho roof-monn-squnro orror. Tho Iof In bIuo rorosonfs
error1, fho orror for frnInIng dnfn . Tho Iof In groon rorosonfs error2,
fho orror for chockIng dnfn .
In nddIfIon fo fhoso orror Iofs, you mny wnnf fo Iof fho IIS oufuf vorsus
fho frnInIng or chockIng dnfn. To comnro fho orIgInnI MC fImo sorIos nnd
fho fuzzy rodIcfIon sIdo by sIdo, fry
figure(5)
anfis_output = evalfis([trnData(:,1:4); chkData(:,1:4)], ...
fismat2);
index = 125:1124;
subplot(211), plot(time(index), [x(index) anfis_output]);
xlabel('Time (sec)');
title('MG Time Series and ANFIS Prediction');
subplot(212), plot(time(index), x(index) - anfis_output);
xlabel('Time (sec)');
title('Prediction Errors');
<;:>L
anfis and the ANFIS Editor GUI
Tho dIfforonco bofwoon fho orIgInnI MC fImo sorIos nnd fho vnIuos osfImnfod
usIng anfis Is vory smnII, Thus, you cnn onIy soo ono curvo In fho fIrsf Iof.
Tho rodIcfIon orror nonrs In fho socond Iof wIfh n much fInor scnIo. You
frnInod for onIy l0 oochs. If you nIy moro oxfonsIvo frnInIng, you gof
boffor orformnnco.
Save Training Error Data to MATLAB Workspace
Whon workIng In fho AIIS IdIfor C!I, you cnn oxorf your InIfInI IIS
sfrucfuro fo fho MAT!AI worksnco nnd fhon snvo fho AIIS frnInIng orror
vnIuos In fho worksnco.
Tho foIIowIng oxnmIo shows how fo snvo fho frnInIng orror gonornfod durIng
AIIS frnInIng fo fho MAT!AI worksnco:
1 !ond fho frnInIng nnd chockIng dnfn In fho MAT!AI worksnco by fyIng
fho foIIowIng commnnds nf fho MAT!AI romf:
load fuzex1trnData.dat
<;:>M
2 Tutorial
load fuzex1chkData.dat
2 Oon fho AIIS IdIfor C!I by fyIng fho foIIowIng commnnd:
anfisedit
Tho AIIS IdIfor C!I oons, ns shown In fho noxf fIguro.
3 !ond fho frnInIng dnfn from fho MAT!AI worksnco Info fho AIIS
IdIfor C!I:
a In fho /0(* *(#( nnoI of fho AIIS IdIfor, vorIfy fhnf 2)($%$%& Is
soIocfod In fho 2.9" coIumn.
b SoIocf W0)T89I In fho +)0N coIumn.
c CIIck /0(* 7(#( fo oon fho !ond from worksnco dInIog box.
<;:>E
anfis and the ANFIS Editor GUI
d Tyo fuzex1trnData, nnd cIIck V^.
Tho AIIS IdIfor dIsInys fho frnInIng dnfn In fho Iof ns n sof of
cIrcIos ().
4 !ond fho chockIng dnfn from fho MAT!AI worksnco Info fho AIIS
IdIfor C!I:
a In fho /0(* *(#( nnoI of fho AIIS IdIfor, soIocf O@"1T$%& In fho
2.9" coIumn.
<;:>F
2 Tutorial
b CIIck /0(* 7(#( fo oon fho !ond from worksnco dInIog box.
c Tyo fuzex1chkData ns fho vnrInbIo nnmo, nnd cIIck V^.
Tho AIIS IdIfor dIsInys fho chockIng dnfn ns Ius sIgns (+)
suorImosod on fho frnInIng dnfn.
5 Conornfo nn InIfInI IIS:
a In fho !"%")(#" +=' nnoI, vorIfy fhnf !)$* 9()#$#$0% ofIon Is
soIocfod.
b CIIck !"%")(#" +='.
ThIs ncfIon oons n dInIog box whoro you socIfy fho sfrucfuro of fho IIS.
<;:AG
anfis and the ANFIS Editor GUI
c In fho dInIog box, socIfy fho foIIowIng:
Infor 4 In fho J,N4") 0K P+8 fIoId.
SoIocf gbellmf ns fho P"N4")8@$9 2.9" for fho Inuf.
SoIocf linear ns fho P"N4")8@$9 2.9" for fho oufuf.
<;:A:
2 Tutorial
d CIIck V^ fo gonornfo fho IIS nnd cIoso fho dInIog box.
6 Ixorf fho InIfInI IIS fo fho MAT!AI worksnco:
a In fho AIIS IdIfor C!I, soIocf +$3" ] Y590)# ] 20 B0)T89(1".
ThIs ncfIon oons n dInIog box whoro you socIfy fho MAT!AI vnrInbIo
nnmo.
<;:A<
anfis and the ANFIS Editor GUI
b Infor initfis In fho B0)T89(1" H()$(43" fIoId.
c CIIck V^ fo cIoso fho dInIog box.
A vnrInbIo nnmod initfis now nonrs In fho MAT!AI worksnco.
7 TrnIn fho IIS for 40 oochs by fyIng fho foIIowIng commnnd nf fho
MAT!AI romf:
figure;hold on;
fismat=initfis;
for ct=1:40,
[fismat,error]=anfis(fuzex1trnData,fismat,...
2,NaN,fuzex1chkData,1);
plot(ct,error(1),'b*');
end
To Imrovo nccurncy whon you frnIn fho IIS, fho codo usos fho rosuIfs
of fho curronf IfornfIon rofurnod by fho anfis commnnd ns fho InIfInI
condIfIons for fho noxf IfornfIon. Tho oufuf nrgumonf error confnIns fho
roof monn squnrod orrors rorosonfIng fho frnInIng dnfn orror. Ior moro
InformnfIon, soo fho anfis roforonco ngo.
<;:A>
2 Tutorial
Tho Iof of fho frnInIng orror vorsus fho numbor of oochs nonrs In fho
noxf fIguro.
Comparison of anfis and ANFIS Editor Functionality
ThIs foIc dIscussos fho nrgumonfs nnd rnngo comononfs of fho commnnd
IIno funcfIon anfis nnd fho nnnIogous funcfIonnIIfy of fho AIIS IdIfor C!I.
Tho commnnd anfis fnkos nf Ionsf fwo nnd nf mosf sIx Inuf nrgumonfs.
Tho gonornI formnf Is
[fismat1,trnError,ss,fismat2,chkError] = ...
anfis(trnData,fismat,trnOpt,dispOpt,chkData,method);
whoro trnOpt (frnInIng ofIons), dispOpt (dIsIny ofIons), chkData (chockIng
dnfn), nndmethod (frnInIng mofhod), nro ofIonnI. AII oufuf nrgumonfs nro
nIso ofIonnI.
<;:AA
anfis and the ANFIS Editor GUI
Whon you oon fho AIIS IdIfor C!I usIng anfisedit, onIy fho frnInIng
dnfn sof musf oxIsf rIor fo ImIomonfIng anfis. In nddIfIon, fho sfo-sIzo Is
fIxod whon fho ndnfIvo nouro-fuzzy sysfom Is frnInod usIng fhIs C!I fooI.
Training Data
Tho frnInIng dnfn, trnData, Is n roquIrod nrgumonf fo anfis, ns woII ns
fo fho AIIS IdIfor C!I. Inch row of trnData Is n dosIrod Inuf/oufuf
nIr of fho fnrgof sysfom you wnnf fo modoI Inch row sfnrfs wIfh nn Inuf
vocfor nnd Is foIIowod by nn oufuf vnIuo. Thoroforo, fho numbor of rows of
trnData Is oqunI fo fho numbor of frnInIng dnfn nIrs, nnd, bocnuso fhoro Is
onIy ono oufuf, fho numbor of coIumns of trnData Is oqunI fo fho numbor of
Inufs Ius ono.
Input FIS Structure
You cnn obfnIn fho Inuf IIS sfrucfuro, fismat, from nny of fho fuzzy odIfors:
Tho IIS IdIfor
Tho MomborshI IuncfIon IdIfor
Tho !uIo IdIfor from fho AIIS IdIfor C!I (whIch nIIows n IIS sfrucfuro
fo bo Iondod from n fIIo or fho MAT!AI worksnco)
Tho commnnd IIno funcfIon, genfis1 (for whIch you onIy nood fo gIvo
numbors nnd fyos of momborshI funcfIons)
Tho IIS sfrucfuro confnIns bofh fho modoI sfrucfuro, (whIch socIfIos such
Ifoms ns fho numbor of ruIos In fho IIS, fho numbor of momborshI funcfIons
for onch Inuf, ofc.), nnd fho nrnmofors, (whIch socIfy fho shnos of
momborshI funcfIons).
Thoro nro fwo :18<&50 fhnf anfis IonrnIng omIoys for udnfIng momborshI
funcfIon nrnmofors:
InckrongnfIon for nII nrnmofors (n sfooosf dosconf mofhod)
A hybrId mofhod consIsfIng of bnckrongnfIon for fho nrnmofors
nssocInfod wIfh fho Inuf momborshI funcfIons, nnd Ionsf squnros
osfImnfIon for fho nrnmofors nssocInfod wIfh fho oufuf momborshI
funcfIons
<;:AD
2 Tutorial
As n rosuIf, fho frnInIng orror docronsos, nf Ionsf IocnIIy, fhroughouf fho
IonrnIng rocoss. Thoroforo, fho moro fho InIfInI momborshI funcfIons
rosombIo fho ofImnI onos, fho onsIor If wIII bo for fho modoI nrnmofor
frnInIng fo convorgo. Humnn oxorfIso nbouf fho fnrgof sysfom fo bo modoIod
mny nId In soffIng u fhoso InIfInI momborshI funcfIon nrnmofors In fho
IIS sfrucfuro.
Tho genfis1 funcfIon roducos n IIS sfrucfuro bnsod on n fIxod numbor
of momborshI funcfIons. ThIs sfrucfuro Invokos fho so-cnIIod )"201 &9
5(:170(&7=+(8$, nnd cnusos oxcossIvo rongnfIon of fho numbor of ruIos whon
fho numbor of Inufs Is modornfoIy Inrgo, fhnf Is, moro fhnn four or fIvo. Iuzzy
!ogIc TooIbox soffwnro offors n mofhod fhnf rovIdos for somo dImonsIon
roducfIon In fho fuzzy Inforonco sysfom: you cnn gonornfo n IIS sfrucfuro
usIng fho cIusforIng nIgorIfhm dIscussod In SubfrncfIvo CIusforIng on ngo
2-l5?. To uso fho cIusforIng nIgorIfhm, you musf soIocf fho ',4I O3,8#")$%&
ofIon In fho !"%")(#" +=' orfIon of fho AIIS IdIfor C!I boforo fho IIS
Is gonornfod. ThIs subfrncfIvo cIusforIng mofhod nrfIfIons fho dnfn Info
grous cnIIod cIusfors, nnd gonornfos n IIS wIfh fho mInImum numbor ruIos
roquIrod fo dIsfInguIsh fho fuzzy qunIIfIos nssocInfod wIfh onch of fho cIusfors.
Training Options
Tho AIIS IdIfor C!I fooI nIIows you fo chooso your dosIrod orror foIornnco
nnd numbor of frnInIng oochs.
TrnInIng ofIon trnOpt for fho commnnd IIno anfis Is n vocfor fhnf socIfIos
fho sfoIng crIforIn nnd fho sfo-sIzo ndnfnfIon sfrnfogy:
trnOpt(1): numbor of frnInIng oochs, dofnuIf = l0
trnOpt(2): orror foIornnco, dofnuIf = 0
trnOpt(3): InIfInI sfo-sIzo, dofnuIf = 0.0l
trnOpt(4): sfo-sIzo docronso rnfo, dofnuIf = 0.9
trnOpt(5): sfo-sIzo Incronso rnfo, dofnuIf = l.l
If nny oIomonf of trnOpt Is nn NaN or mIssIng, fhon fho dofnuIf vnIuo Is fnkon.
Tho frnInIng rocoss sfos If fho dosIgnnfod ooch numbor Is ronchod or fho
orror gonI Is nchIovod, whIchovor comos fIrsf.
<;:AL
anfis and the ANFIS Editor GUI
!sunIIy, fho sfo-sIzo rofIIo Is n curvo fhnf Incronsos InIfInIIy, ronchos
somo mnxImum, nnd fhon docronsos for fho romnIndor of fho frnInIng. You
nchIovo fhIs IdonI sfo-sIzo rofIIo by ndjusfIng fho InIfInI sfo-sIzo nnd fho
Incronso nnd docronso rnfos (trnOpt(3) - trnOpt(5)). Tho dofnuIf vnIuos nro
sof u fo covor n wIdo rnngo of IonrnIng fnsks. Ior nny socIfIc nIIcnfIon,
you mny wnnf fo modIfy fhoso sfo-sIzo ofIons In ordor fo ofImIzo fho
frnInIng. Howovor, fhoro nro no usor-socIfIod sfo-sIzo ofIons for frnInIng
fho ndnfIvo nouro-fuzzy Inforonco sysfom gonornfod usIng fho AIIS IdIfor
C!I.
Display Options
IsIny ofIons nIy onIy fo fho commnnd-IIno funcfIon anfis.
Ior fho commnnd IIno anfis, fho dIsIny ofIons =2'":178, dispOpt, Is n
vocfor of oIfhor ls or 0s fhnf socIfIos whnf InformnfIon fo dIsIny, (rInf
In fho MAT!AI commnnd wIndow), boforo, durIng, nnd nffor fho frnInIng
rocoss. A l Is usod fo donofo ;2(78 8<(0 &;8(&7, whorons n 0 donofos 5& 7&8
;2(78 8<(0 &;8(&7:
dispOpt(1): dIsIny AIIS InformnfIon, dofnuIf = l
dispOpt(2): dIsIny orror (onch ooch), dofnuIf = l
dispOpt(3): dIsIny sfo-sIzo (onch ooch), dofnuIf = l
dispOpt(4): dIsIny fInnI rosuIfs, dofnuIf = l
Tho dofnuIf modo dIsInys nII nvnIInbIo InformnfIon. If nny oIomonf of
dispOpt Is NaN or mIssIng, fho dofnuIf vnIuo Is usod.
Method
Iofh fho AIIS IdIfor C!I nnd fho commnnd IIno anfis nIy oIfhor
n bnckrongnfIon form of fho sfooosf dosconf mofhod for momborshI
funcfIon nrnmofor osfImnfIon, or n combInnfIon of bnckrongnfIon nnd fho
Ionsf-squnros mofhod fo osfImnfo momborshI funcfIon nrnmofors. Tho
choIcos for fhIs nrgumonf nro hybrid or backpropagation. Thoso mofhod
choIcos nro dosIgnnfod In fho commnnd IIno funcfIon, anfis, by l nnd 0,
rosocfIvoIy.
<;:AM
2 Tutorial
Output FIS Structure for Training Data
fismat1 Is fho oufuf IIS sfrucfuro corrosondIng fo n mInImnI frnInIng
orror. ThIs IIS sfrucfuro Is fho ono fhnf you uso fo rorosonf fho fuzzy sysfom
whon fhoro Is no chockIng dnfn usod for modoI cross-vnIIdnfIon. ThIs dnfn nIso
rorosonfs fho IIS sfrucfuro fhnf Is snvod by fho AIIS IdIfor C!I whon
fho chockIng dnfn ofIon Is nof usod.
Whon you uso fho chockIng dnfn ofIon, fho oufuf snvod Is fhnf nssocInfod
wIfh fho mInImum chockIng orror.
Training Error
Tho frnInIng orror Is fho dIfforonco bofwoon fho frnInIng dnfn oufuf vnIuo,
nnd fho oufuf of fho fuzzy Inforonco sysfom corrosondIng fo fho snmo
frnInIng dnfn Inuf vnIuo, (fho ono nssocInfod wIfh fhnf frnInIng dnfn oufuf
vnIuo). Tho frnInIng orror trnError rocords fho roof monn squnrod orror
(!MSI) of fho frnInIng dnfn sof nf onch ooch. fismat1 Is fho snnshof
of fho IIS sfrucfuro whon fho frnInIng orror monsuro Is nf Ifs mInImum.
Tho AIIS IdIfor C!I Iofs fho frnInIng orror vorsus oochs curvo ns fho
sysfom Is frnInod.
Step-Size
You cnnnof confroI fho sfo-sIzo ofIons wIfh fho AIIS IdIfor C!I. !sIng
fho commnnd IIno anfis, fho sfo-sIzo nrrny ss rocords fho sfo-sIzo durIng
fho frnInIng. IIoffIng ss gIvos fho sfo-sIzo rofIIo, whIch sorvos ns n
roforonco for ndjusfIng fho InIfInI sfo-sIzo nnd fho corrosondIng docronso
nnd Incronso rnfos. Tho sfo-sIzo (ss) for fho commnnd-IIno funcfIon anfis
Is udnfod nccordIng fo fho foIIowIng guIdoIInos:
If fho orror undorgoos four consocufIvo roducfIons, Incronso fho sfo-sIzo by
muIfIIyIng If by n consfnnf (ssinc) gronfor fhnn ono.
If fho orror undorgoos fwo consocufIvo combInnfIons of ono Incronso nnd
ono roducfIon, docronso fho sfo-sIzo by muIfIIyIng If by n consfnnf
(ssdec) Ioss fhnn ono.
Tho dofnuIf vnIuo for fho InIfInI sfo-sIzo Is 0.0l; fho dofnuIf vnIuos for ssinc
nnd ssdec nro l.l nnd 0.9, rosocfIvoIy. AII fho dofnuIf vnIuos cnn bo chnngod
vIn fho frnInIng ofIon for fho commnnd IIno anfis.
<;:AE
anfis and the ANFIS Editor GUI
Checking Data
Tho chockIng dnfn, chkData, Is usod for fosfIng fho gonornIIznfIon cnnbIIIfy
of fho fuzzy Inforonco sysfom nf onch ooch. Tho chockIng dnfn hns fho snmo
formnf ns fhnf of fho frnInIng dnfn, nnd Ifs oIomonfs nro gonornIIy dIsfIncf
from fhoso of fho frnInIng dnfn.
Tho chockIng dnfn Is Imorfnnf for IonrnIng fnsks for whIch fho Inuf numbor
Is Inrgo, nnd/or fho dnfn IfsoIf Is noIsy. A fuzzy Inforonco sysfom noods fo
frnck n gIvon Inuf/oufuf dnfn sof woII. Iocnuso fho modoI sfrucfuro usod
for anfis Is fIxod, fhoro Is n fondoncy for fho modoI fo ovorfIf fho dnfn
on whIch Is If frnInod, osocInIIy for n Inrgo numbor of frnInIng oochs. If
ovorfIffIng doos occur, fho fuzzy Inforonco sysfom mny nof rosond woII fo
ofhor Indoondonf dnfn sofs, osocInIIy If fhoy nro corrufod by noIso. A
vnIIdnfIon or chockIng dnfn sof cnn bo usofuI for fhoso sIfunfIons. ThIs dnfn
sof Is usod fo cross-vnIIdnfo fho fuzzy Inforonco modoI. ThIs cross-vnIIdnfIon
roquIros nIyIng fho chockIng dnfn fo fho modoI nnd fhon sooIng how woII
fho modoI rosonds fo fhIs dnfn.
Whon fho chockIng dnfn ofIon Is usod wIfh anfis, oIfhor vIn fho commnnd
IIno, or usIng fho AIIS IdIfor C!I, fho chockIng dnfn Is nIIod fo fho
modoI nf onch frnInIng ooch. Whon fho commnnd IIno anfis Is Invokod,
fho modoI nrnmofors fhnf corrosond fo fho mInImum chockIng orror nro
rofurnod vIn fho oufuf nrgumonf fismat2. Tho IIS momborshI funcfIon
nrnmofors comufod usIng fho AIIS IdIfor C!I whon bofh frnInIng nnd
chockIng dnfn nro Iondod nro nssocInfod wIfh fho frnInIng ooch fhnf hns
n mInImum chockIng orror.
Tho uso of fho mInImum chockIng dnfn orror ooch fo sof fho momborshI
funcfIon nrnmofors nssumos
Tho chockIng dnfn Is sImIInr onough fo fho frnInIng dnfn fhnf fho chockIng
dnfn orror docronsos ns fho frnInIng bogIns.
Tho chockIng dnfn Incronsos nf somo oInf In fho frnInIng nffor fho dnfn
ovorfIffIng occurs.
oondIng on fho bohnvIor of fho chockIng dnfn orror, fho rosuIfIng IIS mny
or mny nof bo fho ono you nood fo uso. !ofor fo ChockIng nfn oos of
VnIIdnfo ModoI on ngo 2-l2?.
<;:AF
2 Tutorial
Output FIS Structure for Checking Data
Tho oufuf of fho commnnd IIno anfis, fismat2, Is fho oufuf IIS sfrucfuro
wIfh fho mInImum chockIng orror. ThIs IIS sfrucfuro Is fho ono fhnf you
shouId uso for furfhor cnIcuInfIon If chockIng dnfn Is usod for cross vnIIdnfIon.
Checking Error
Tho chockIng orror Is fho dIfforonco bofwoon fho chockIng dnfn oufuf vnIuo,
nnd fho oufuf of fho fuzzy Inforonco sysfom corrosondIng fo fho snmo
chockIng dnfn Inuf vnIuo, whIch Is fho ono nssocInfod wIfh fhnf chockIng
dnfn oufuf vnIuo. Tho chockIng orror chkError rocords fho !MSI for fho
chockIng dnfn nf onch ooch. fismat2 Is fho snnshof of fho IIS sfrucfuro
whon fho chockIng orror Is nf Ifs mInImum. Tho AIIS IdIfor C!I Iofs fho
chockIng orror vorsus oochs curvo ns fho sysfom Is frnInod.
<;:DG
Fuzzy Clustering
Fuzzy Clustering
In this section...
Whnf Is nfn CIusforIng on ngo 2-l5l
Iuzzy C-Monns CIusforIng on ngo 2-l52
CIusfor QunsI-!nndom nfn !sIng Iuzzy C-Monns CIusforIng on ngo
2-l53
SubfrncfIvo CIusforIng on ngo 2-l5?
ModoI Suburbnn CommufIng !sIng SubfrncfIvo CIusforIng on ngo 2-l58
nfn CIusforIng !sIng fho CIusforIng TooI on ngo 2-l69
What Is Data Clustering?
CIusforIng of numorIcnI dnfn forms fho bnsIs of mnny cInssIfIcnfIon nnd
sysfom modoIIng nIgorIfhms. Tho uroso of cIusforIng Is fo IdonfIfy nnfurnI
grouIngs of dnfn from n Inrgo dnfn sof fo roduco n concIso rorosonfnfIon of
n sysfom`s bohnvIor.
Iuzzy !ogIc TooIbox fooIs nIIow you fo fInd cIusfors In Inuf-oufuf frnInIng
dnfn. You cnn uso fho cIusfor InformnfIon fo gonornfo n Sugono-fyo fuzzy
Inforonco sysfom fhnf bosf modoIs fho dnfn bohnvIor usIng n mInImum
numbor of ruIos. Tho ruIos nrfIfIon fhomsoIvos nccordIng fo fho fuzzy
qunIIfIos nssocInfod wIfh onch of fho dnfn cIusfors. !so fho commnnd-IIno
funcfIon, genfis2 fo nufomnfIcnIIy nccomIIsh fhIs fyo of IIS gonornfIon.
References
|l] Iozdoc, J.C., J=88127 e1)&'7(8(&7 C(8< !"##$ A,B1)8(>1 !"7)8(&7
K+'&2(8<:0? IIonum Iross, ow York, l98l.
|2] ChIu, S., Iuzzy ModoI IdonfIfIcnfIon Insod on CIusfor IsfImnfIon,
T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, Sof. l994.
<;:D:
2 Tutorial
Fuzzy C-Means Clustering
!"##$ )M:1=70 (ICM) Is n dnfn cIusforIng fochnIquo whoroIn onch dnfn oInf
boIongs fo n cIusfor fo somo dogroo fhnf Is socIfIod by n momborshI grndo.
ThIs fochnIquo wns orIgInnIIy Infroducod by JIm Iozdok In l98l|l] ns nn
Imrovomonf on onrIIor cIusforIng mofhods. If rovIdos n mofhod fhnf shows
how fo grou dnfn oInfs fhnf ouInfo somo muIfIdImonsIonnI snco Info n
socIfIc numbor of dIfforonf cIusfors.
Iuzzy !ogIc TooIbox commnnd IIno funcfIon fcm sfnrfs wIfh nn InIfInI guoss
for fho cIusfor confors, whIch nro Infondod fo mnrk fho monn IocnfIon of onch
cIusfor. Tho InIfInI guoss for fhoso cIusfor confors Is mosf IIkoIy Incorrocf.
AddIfIonnIIy, fcm nssIgns ovory dnfn oInf n momborshI grndo for onch
cIusfor. Iy IfornfIvoIy udnfIng fho cIusfor confors nnd fho momborshI
grndos for onch dnfn oInf, fcm IfornfIvoIy movos fho cIusfor confors fo fho
rIghf IocnfIon wIfhIn n dnfn sof. ThIs IfornfIon Is bnsod on mInImIzIng nn
objocfIvo funcfIon fhnf rorosonfs fho dIsfnnco from nny gIvon dnfn oInf fo n
cIusfor confor woIghfod by fhnf dnfn oInf`s momborshI grndo.
Tho commnnd IIno funcfIon fcm oufufs n IIsf of cIusfor confors nnd sovornI
momborshI grndos for onch dnfn oInf. You cnn uso fho InformnfIon rofurnod
by fcm fo hoI you buIId n fuzzy Inforonco sysfom by cronfIng momborshI
funcfIons fo rorosonf fho fuzzy qunIIfIos of onch cIusfor.
<;:D<
Fuzzy Clustering
Cluster Quasi-Random Data Using Fuzzy C-Means
Clustering
You cnn uso qunsI-rnndom fwo-dImonsIonnI dnfn fo IIIusfrnfo how ICM
cIusforIng works. To Iond fho dnfn sof nnd Iof If, fyo fho foIIowIng
commnnds:
load fcmdata.dat
plot(fcmdata(:,1),fcmdata(:,2),'o')
oxf, Invoko fho commnnd-IIno funcfIon fcm fo fInd fwo cIusfors In fhIs dnfn
sof unfII fho objocfIvo funcfIon Is no Iongor docronsIng much nf nII.
[center,U,objFcn] = fcm(fcmdata,2);
<;:D>
2 Tutorial
Horo, fho vnrInbIo center confnIns fho coordInnfos of fho fwo cIusfor confors,
U confnIns fho momborshI grndos for onch of fho dnfn oInfs, nnd objFcn
confnIns n hIsfory of fho objocfIvo funcfIon ncross fho IfornfIons.
ThIs commnnd rofurns fho foIIowIng rosuIf:
Iteration count = 1, obj. fcn = 8.794048
Iteration count = 2, obj. fcn = 6.986628
.....
Iteration count = 12, obj. fcn = 3.797430
Tho fcm funcfIon Is nn IfornfIon Ioo buIIf on fo of fho foIIowIng roufInos:
initfcm InIfInIIzos fho robIom
distfcm orforms IucIIdonn dIsfnnco cnIcuInfIon
stepfcm orforms ono IfornfIon of cIusforIng
<;:DA
Fuzzy Clustering
To vIow fho rogross of fho cIusforIng, Iof fho objocfIvo funcfIon by fyIng
fho foIIowIng commnnds:
figure
plot(objFcn)
title('Objective Function Values')
xlabel('Iteration Count')
ylabel('Objective Function Value')
<;:DD
2 Tutorial
IInnIIy, Iof fho fwo cIusfor confors found by fho fcm funcfIon usIng fho
foIIowIng codo:
maxU = max(U);
index1 = find(U(1, :) == maxU);
index2 = find(U(2, :) == maxU);
figure
line(fcmdata(index1, 1), fcmdata(index1, 2), 'linestyle',...
'none','marker', 'o','color','g');
line(fcmdata(index2,1),fcmdata(index2,2),'linestyle',...
'none','marker', 'x','color','r');
hold on
plot(center(1,1),center(1,2),'ko','markersize',15,'LineWidth',2)
plot(center(2,1),center(2,2),'kx','markersize',15,'LineWidth',2)
Note Ivory fImo you run fhIs oxnmIo, fho fcm funcfIon InIfInIIzos wIfh
dIfforonf InIfInI condIfIons. ThIs bohnvIor swns fho ordor In whIch fho cIusfor
confors nro comufod nnd Ioffod.
<;:DL
Fuzzy Clustering
In fho foIIowIng fIguro, fho Inrgo chnrncfors IndIcnfo cIusfor confors.
Subtractive Clustering
If you do nof hnvo n cIonr Idon how mnny cIusfors fhoro shouId bo for n
gIvon sof of dnfn, I",82=)8(>1 )+"0812(7', |2]? Is n fnsf, ono-nss nIgorIfhm for
osfImnfIng fho numbor of cIusfors nnd fho cIusfor confors In n sof of dnfn. Tho
cIusfor osfImnfos, whIch nro obfnInod from fho subclust funcfIon, cnn bo
usod fo InIfInIIzo IfornfIvo ofImIznfIon-bnsod cIusforIng mofhods (fcm) nnd
modoI IdonfIfIcnfIon mofhods (IIko anfis). Tho subclust funcfIon fInds fho
cIusfors by usIng fho subfrncfIvo cIusforIng mofhod.
<;:DM
2 Tutorial
Tho genfis2 funcfIon buIIds uon fho subclust funcfIon fo rovIdo n
fnsf, ono-nss mofhod fo fnko Inuf-oufuf frnInIng dnfn nnd gonornfo n
Sugono-fyo fuzzy Inforonco sysfom fhnf modoIs fho dnfn bohnvIor.
Model Suburban Commuting Using Subtractive
Clustering
In fhIs oxnmIo, you nIy fho genfis2 funcfIon fo modoI fho roInfIonshI
bofwoon fho numbor of nufomobIIo frIs gonornfod from nn nron nnd fho nron`s
domogrnhIcs. omogrnhIc nnd frI dnfn nro from l00 frnffIc nnnIysIs zonos
In ow CnsfIo Counfy, oInwnro. IIvo domogrnhIc fncfors nro consIdorod:
ouInfIon, numbor of dwoIIIng unIfs, vohIcIo ownorshI, modInn housohoId
Incomo, nnd fofnI omIoymonf. Honco, fho modoI hns fIvo Inuf vnrInbIos nnd
ono oufuf vnrInbIo.
!ond nnd Iof fho dnfn by fyIng fho foIIowIng commnnds:
clear
close all
mytripdata
subplot(2,1,1), plot(datin)
subplot(2,1,2), plot(datout)
Tho noxf fIguro dIsInys fho Inuf nnd fho oufuf dnfn.
<;:DE
Fuzzy Clustering
Tho funcfIon tripdata cronfos sovornI vnrInbIos In fho worksnco. Of fho
orIgInnI l00 dnfn oInfs, uso ?5 dnfn oInfs ns frnInIng dnfn (datin nnd
datout) nnd 25 dnfn oInfs ns chockIng dnfn, (ns woII ns for fosf dnfn fo
vnIIdnfo fho modoI). Tho chockIng dnfn Inuf/oufuf nIrs nro donofod by
chkdatin nnd chkdatout.
!so fho genfis2 funcfIon fo gonornfo n modoI from dnfn usIng cIusforIng.
genfis2 roquIros you fo socIfy n cIusfor rndIus. Tho cIusfor rndIus IndIcnfos
fho rnngo of InfIuonco of n cIusfor whon you consIdor fho dnfn snco ns n
unIf hyorcubo. SocIfyIng n smnII cIusfor rndIus usunIIy yIoIds mnny smnII
cIusfors In fho dnfn, nnd rosuIfs In mnny ruIos. SocIfyIng n Inrgo cIusfor
rndIus usunIIy yIoIds n fow Inrgo cIusfors In fho dnfn, nnd rosuIfs In fowor
ruIos. Tho cIusfor rndIus Is socIfIod ns fho fhIrd nrgumonf of genfis2. Tho
foIIowIng synfnx cnIIs fho genfis2 funcfIon usIng n cIusfor rndIus of 0.5.
<;:DF
2 Tutorial
fismat=genfis2(datin,datout,0.5);
Tho genfis2 funcfIon Is n fnsf, ono-nss mofhod fhnf doos nof orform nny
IfornfIvo ofImIznfIon. A IIS sfrucfuro Is rofurnod; fho modoI fyo for fho IIS
sfrucfuro Is n fIrsf ordor Sugono modoI wIfh fhroo ruIos.
!so fho foIIowIng commnnds fo vorIfy fho modoI. Horo, trnRMSE Is fho roof
monn squnro orror of fho sysfom gonornfod by fho frnInIng dnfn.
fuzout=evalfis(datin,fismat);
trnRMSE=norm(fuzout-datout)/sqrt(length(fuzout))
Thoso commnnds rofurn fho foIIowIng rosuIf:
trnRMSE =
0.5276
oxf, nIy fho fosf dnfn fo fho IIS fo vnIIdnfo fho modoI. In fhIs oxnmIo,
fho chockIng dnfn Is usod for bofh chockIng nnd fosfIng fho IIS nrnmofors.
Horo, chkRMSE Is fho roof monn squnro orror of fho sysfom gonornfod by fho
chockIng dnfn.
chkfuzout=evalfis(chkdatin,fismat);
chkRMSE=norm(chkfuzout-chkdatout)/sqrt(length(chkfuzout))
Thoso commnnds rofurn fho foIIowIng rosuIf:
chkRMSE =
0.6179
<;:LG
Fuzzy Clustering
!so fho foIIowIng commnnds fo Iof fho oufuf of fho modoI chkfuzout
ngnInsf fho chockIng dnfn chkdatout.
figure
plot(chkdatout)
hold on
plot(chkfuzout,'o')
hold off
Tho modoI oufuf nnd chockIng dnfn nro shown ns )(2)+10 nnd soIId bIuo +(71,
rosocfIvoIy. Tho Iof shows fho modoI doos nof orform woII on fho chockIng
dnfn.
<;:L:
2 Tutorial
Af fhIs oInf, you cnn uso fho ofImIznfIon cnnbIIIfy of anfis fo Imrovo fho
modoI. IIrsf, fry usIng n roInfIvoIy shorf anfis frnInIng (20 oochs) wIfhouf
ImIomonfIng fho chockIng dnfn ofIon, nnd fhon fosf fho rosuIfIng IIS modoI
ngnInsf fho fosfIng dnfn. To orform fho ofImIznfIon, fyo fho foIIowIng
commnnd:
fismat2=anfis([datin datout],fismat,[20 0 0.1]);
Horo, 20 Is fho numbor of oochs, 0 Is fho frnInIng orror gonI, nnd 0.1 Is fho
InIfInI sfo sIzo.
ThIs commnnd rofurns fho foIIowIng rosuIf:
ANFIS info:
Number of nodes: 44
Number of linear parameters: 18
Number of nonlinear parameters: 30
Total number of parameters: 48
Number of training data pairs: 75
Number of checking data pairs: 0
Number of fuzzy rules: 3
Start training ANFIS ...
1 0.527607
.
.
20 0.420275
Designated epoch number reached --> ANFIS training completed at epoch 20.
Affor fho frnInIng Is dono, vnIIdnfo fho modoI by fyIng fho foIIowIng
commnnds:
fuzout2=evalfis(datin,fismat2);
trnRMSE2=norm(fuzout2-datout)/sqrt(length(fuzout2))
chkfuzout2=evalfis(chkdatin,fismat2);
chkRMSE2=norm(chkfuzout2-chkdatout)/sqrt(length(chkfuzout2))
Thoso commnnds rofurn fho foIIowIng rosuIfs:
<;:L<
Fuzzy Clustering
trnRMSE2 =
0.4203
chkRMSE2 =
0.5894
Tho modoI hns Imrovod n Iof wIfh rosocf fo fho frnInIng dnfn, buf onIy n IIffIo
wIfh rosocf fo fho chockIng dnfn. IIof fho Imrovod modoI oufuf obfnInod
usIng anfis ngnInsf fho fosfIng dnfn by fyIng fho foIIowIng commnnds:
figure
plot(chkdatout)
hold on
plot(chkfuzout2,'o')
hold off
<;:L>
2 Tutorial
Tho noxf fIguro shows fho modoI oufuf.
Tho modoI oufuf nnd chockIng dnfn nro shown ns )(2)+10 nnd soIId bIuo +(71,
rosocfIvoIy. ThIs Iof shows fhnf genfis2 cnn bo usod ns n sfnnd-nIono,
fnsf mofhod for gonornfIng n fuzzy modoI from dnfn, or ns n rorocossor fo
anfis for doformInIng fho InIfInI ruIos. An Imorfnnf ndvnnfngo of usIng n
cIusforIng mofhod fo fInd ruIos Is fhnf fho rosuIfnnf ruIos nro moro fnIIorod
fo fho Inuf dnfn fhnn fhoy nro In n IIS gonornfod wIfhouf cIusforIng. ThIs
roducos fho robIom of nn oxcossIvo rongnfIon of ruIos whon fho Inuf dnfn
hns n hIgh dImonsIon.
Overfitting
OvorfIffIng cnn bo dofocfod whon fho chockIng orror sfnrfs fo Incronso whIIo
fho frnInIng orror confInuos fo docronso.
<;:LA
Fuzzy Clustering
To chock fho modoI for ovorfIffIng, uso anfis wIfh fho chockIng dnfn ofIon fo
frnIn fho modoI for 200 oochs. Horo, fismat3 Is fho IIS sfrucfuro whon fho
frnInIng orror ronchos n mInImum. fismat4 Is fho snnshof IIS sfrucfuro
fnkon whon fho chockIng dnfn orror ronchos n mInImum.
[fismat3,trnErr,stepSize,fismat4,chkErr]= ...
anfis([datin datout],fismat,[200 0 0.1],[], ...
[chkdatin chkdatout]);
ThIs commnnd rofurns n IIsf of oufuf nrgumonfs. Tho oufuf nrgumonfs
show n hIsfory of fho sfo sIzos, fho !MSI usIng fho frnInIng dnfn, nnd fho
!MSI usIng fho chockIng dnfn for onch frnInIng ooch.
1 0.527607 0.617875
2 0.513727 0.615487
.
.
200 0.326576 0.601531
Designated epoch number reached --> ANFIS training completed at
epoch 200.
Affor fho frnInIng comIofos, vnIIdnfo fho modoI by fyIng fho foIIowIng
commnnds:
fuzout4=evalfis(datin,fismat4);
trnRMSE4=norm(fuzout4-datout)/sqrt(length(fuzout4))
chkfuzout4=evalfis(chkdatin,fismat4);
chkRMSE4=norm(chkfuzout4-chkdatout)/sqrt(length(chkfuzout4))
Thoso commnnds rofurn fho foIIowIng rosuIfs:
trnRMSE4 =
0.3393
chkRMSE4 =
0.5833
Tho orror wIfh fho frnInIng dnfn Is fho Iowosf fhus fnr, nnd fho orror wIfh fho
chockIng dnfn Is nIso sIIghfIy Iowor fhnn boforo. ThIs rosuIf suggosfs orhns
fhoro Is nn ovorfIf of fho sysfom fo fho frnInIng dnfn. OvorfIffIng occurs whon
<;:LD
2 Tutorial
you fIf fho fuzzy sysfom fo fho frnInIng dnfn so woII fhnf If no Iongor doos n
vory good job of fIffIng fho chockIng dnfn. Tho rosuIf Is n Ioss of gonornIIfy.
To vIow fho Imrovod modoI oufuf, Iof fho modoI oufuf ngnInsf fho
chockIng dnfn by fyIng fho foIIowIng commnnds:
figure
plot(chkdatout)
hold on
plot(chkfuzout4,'o')
hold off
Tho modoI oufuf nnd chockIng dnfn nro shown ns )(2)+10 nnd soIId bIuo +(71,
rosocfIvoIy.
<;:LL
Fuzzy Clustering
oxf, Iof fho frnInIng orror trnErr by fyIng fho foIIowIng commnnds:
figure
plot(trnErr)
title('Training Error')
xlabel('Number of Epochs')
ylabel('Training Error')
ThIs Iof shows fhnf fho frnInIng orror soffIos nf nbouf fho 60fh ooch oInf.
<;:LM
2 Tutorial
IIof fho chockIng orror chkErr by fyIng fho foIIowIng commnnds:
figure
plot(chkErr)
title('Checking Error')
xlabel('Number of Epochs')
ylabel('Checking Error')
Tho Iof shows fhnf fho smnIIosf vnIuo of fho chockIng dnfn orror occurs nf
fho 52nd ooch, nffor whIch If Incronsos sIIghfIy ovon ns anfis confInuos fo
mInImIzo fho orror ngnInsf fho frnInIng dnfn nII fho wny fo fho 200fh ooch.
oondIng on fho socIfIod orror foIornnco, fho Iof nIso IndIcnfos fho modoI`s
nbIIIfy fo gonornIIzo fho fosf dnfn.
<;:LE
Fuzzy Clustering
You cnn nIso comnro fho oufuf of fismat2 nnd fistmat4 ngnInsf fho
chockIng dnfn chkdatout by fyIng fho foIIowIng commnnds:
figure
plot(chkdatout)
hold on
plot(chkfuzout4,'ob')
plot(chkfuzout2,'+r')
Data Clustering Using the Clustering Tool
Tho CIusforIng C!I TooI ImIomonfs fho fuzzy dnfn cIusforIng funcfIons
fcm nnd subclust nnd Iofs you orform cIusforIng on fho dnfn. Ior moro
<;:LF
2 Tutorial
InformnfIon on fho cIusforIng funcfIons, soo Iuzzy C-Monns CIusforIng on
ngo 2-l52 nnd SubfrncfIvo CIusforIng on ngo 2-l5?.
To sfnrf fho C!I, fyo fho foIIowIng commnnd nf fho MAT!AI commnnd
romf:
findcluster
Tho CIusforIng C!I TooI shown In fho noxf fIguro.
ThIs C!I Iofs you orform fho foIIowIng fnsks:
1 !ond nnd Iof fho dnfn.
2 Sfnrf fho cIusforIng.
3 Snvo fho cIusfor confor.
<;:MG
Fuzzy Clustering
Accoss fho onIIno hoI foIcs by cIIckIng =%K0 or usIng fho _"39 monu In
fho CIusforIng C!I.
Loading and Plotting the Data
To Iond n dnfn sof In fho C!I, orform oIfhor of fho foIIowIng ncfIons:
CIIck /0(* 7(#(, nnd soIocf fho fIIo confnInIng fho dnfn.
Oon fho C!I wIfh n dnfn sof dIrocfIy by InvokIng findcluster wIfh fho
dnfn sof ns fho nrgumonf, In fho MAT!AI Commnnd WIndow.
Tho dnfn sof musf hnvo fho oxfonsIon.dat. Ior oxnmIo, fo Iond fho dnfn
sof, clusterdemo.dat, fyo findcluster('clusterdemo.dat').
Tho CIusforIng C!I TooI works on muIfIdImonsIonnI dnfn sofs, buf dIsInys
onIy fwo of fhoso dImonsIons on fho Iof. To soIocf ofhor dImonsIons In fho
dnfn sof for IoffIng, you cnn uso fho dro-down IIsfs undor `;(5$8 nnd U;(5$8.
Starting the Clustering
To sfnrf cIusforIng fho dnfn:
1 Chooso fho cIusforIng funcfIon fcm (fuzzy C-Monns cIusforIng) or
subtractiv (subfrncfIvo cIusforIng) from fho dro-down monu undor
P"#@0*8.
2 Sof ofIons for fho soIocfod mofhod usIng fho =%K3,"%1" [(%&", 'd,(8@,
X89"1# [(#$0, nnd ["e"1# [(#$0 fIoIds.
Ior moro InformnfIon on fhoso mofhods nnd fhoIr ofIons, rofor fo fcm,
nnd subclust rosocfIvoIy.
3 IogIn cIusforIng by cIIckIng '#()#.
Affor cIusforIng gofs comIofod, fho cIusfor confors nonr In bInck ns
shown In fho noxf fIguro.
<;:M:
2 Tutorial
Saving the Cluster Center
To snvo fho cIusfor confors, cIIck '(H" O"%#").
<;:M<
Simulating Fuzzy Inference Systems Using the Fuzzy Inference Engine
Simulating Fuzzy Inference Systems Using the Fuzzy
Inference Engine
In this section...
Abouf fho Iuzzy Inforonco IngIno on ngo 2-l?3
SImuInfo Sysfoms on WIndows IInfforms on ngo 2-l?4
SImuInfo Sysfoms on !IX IInfforms on ngo 2-l?8
About the Fuzzy Inference Engine
Iuzzy !ogIc TooIbox soffwnro rovIdos n sfnnd-nIono C codo fuzzy Inforonco
ongIno. You cnn uso fho ongIno ns nn nIfornnfIvo fooI fo sImuInfo fho
oufufs of your fuzzy Inforonco sysfom (IIS), wIfhouf usIng fho MAT!AI
onvIronmonf. You cnn orform fho foIIowIng fnsks usIng fho fuzzy Inforonco
ongIno:
Iorform fuzzy Inforonco usIng n IIS sfrucfuro fIIo nnd nn Inuf dnfn fIIo.
To Ionrn moro nbouf how fo cronfo n IIS sfrucfuro fIIo, soo IuIId MnmdnnI
Sysfoms (C!I) on ngo 2-35.
CusfomIzo fho fuzzy Inforonco ongIno fo IncIudo your own momborshI
funcfIons.
Imbod fho oxocufnbIo codo In ofhor oxfornnI nIIcnfIons.
Tho sfnnd-nIono fuzzy Inforonco ongIno consIsfs of fwo C codo sourco fIIos
fismain.c nnd fis.c In fho :=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor.
Tho fismain.c fIIo confnIns onIy fho main() funcfIon nnd you cnn onsIIy
modIfy If fo ndnf fo ofhor nIIcnfIons. If Is ASI CcomnfIbIo, nnd you cnn
comIIo If wIfh nny ASI CcomIIor.
Tho fis.c fIIo confnIns nII fho nocossnry funcfIons fo orform fho fuzzy
Inforonco rocoss:
ThIs fIIo rovIdos fho ll Iuzzy !ogIc TooIbox momborshI funcfIons wIfh
fhoIr dofnuIf soffIngs.
<;:M>
2 Tutorial
You cnn ndd n now momborshI funcfIon or now ronsonIng mochnnIsm
by udnfIng fho fis.c fIIo.
Tho fismain oxocufnbIo codo, gonornfod nffor comIIIng fho sourco codos,
ronds nn Inuf dnfn fIIo nnd n IIS sfrucfuro fIIo fo sImuInfo fho oufuf. Tho
synfnx for cnIIIng fismain Is sImIInr fo Ifs MIX-fIIo counfornrf evalfis,
oxcof fhnf nII mnfrIcos nro roIncod wIfh fIIos. To Ionrn moro nbouf evalfis,
soo fho evalfis funcfIon roforonco ngo.
Simulate Systems on Windows Platforms
ThIs oxnmIo shows how fo sImuInfo n fuzzy Inforonco sysfom on n WIndows

Infform usIng fho sfnnd-nIono fuzzy Inforonco ongIno. In fhIs oxnmIo, you
uso fho !CC C comIIor shIod wIfh MAT!AI fo comIIo fho fuzzy Inforonco
ongIno sourco codos.
1 Oon n OS Commnnd WIndow nnd chnngo fho foIdor fo
:=8+=,2&&8\toolbox\fuzzy\fuzzy.
Tip You cnn fInd fho roof foIdor of your MAT!AI InsfnIInfIon by fyIng
matlabroot nf fho MAT!AI commnnd romf.
2 In fho OS Commnnd WIndow, fyo fho foIIowIng commnnd:
lcc -c fismain.c
ThIs commnnd cronfos fho fismain.obj objocf fIIo In fho
:=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor.
<;:MA
Simulating Fuzzy Inference Systems Using the Fuzzy Inference Engine
Note You mny oncounfor fho foIIowIng orror whon oxocufIng fho lcc
commnnd:
'lcc' is not recognized as an internal or external command,
operable program or batch file.
To Ionrn how fo froubIoshoof fhIs orror, soo fho IncIudIng fho lcc
Commnnd In fho IATH InvIronmonf VnrInbIo on ngo 2-l?? socfIon.
3 In fho OS Commnnd WIndow, fyo fho foIIowIng commnnd:
lcclnk fismain.obj.
ThIs commnnd cronfos nn oxocufnbIo fIIo fismain.exe In fho
:=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor.
Note You mny oncounfor fho foIIowIng orror whon oxocufIng fho lcclnk
commnnd:
'lcclnk' is not recognized as an internal or external command,
operable program or batch file.
To Ionrn how fo froubIoshoof fhIs orror, soo fho IncIudIng fho lcclnk
Commnnd In fho IATH InvIronmonf VnrInbIo on ngo 2-l?? socfIon.
4 Oon MAT!AI doskfo, nnd chnngo fo your curronf workIng foIdor usIng
fho O,))"%# +03*") fIoId In fho MAT!AI doskfo fooIbnr.
5 Af fho MAT!AI romf, fyo fho foIIowIng commnnd fo cronfo nn Inuf
dnfn fIIo:
[x, y] = meshgrid(-5:5, -5:5);
input_data = [x(:) y(:)];
save fis_in input_data -ascii
<;:MD
2 Tutorial
ThIs commnnd snvos fho Inuf dnfn ns n l2l-by-2 mnfrIx In fho fis_in
ASCII fIIo In your curronf workIng foIdor. Inch row of fho mnfrIx
rorosonfs nn Inuf vocfor.
6 Coy fho IIS sfrucfuro fIIo mam21.fis from fho
:=8+=,2&&8\toolbox\fuzzy\fuzdemos foIdor fo your curronf workIng
foIdor.
7 Coy fho sfnnd-nIono oxocufnbIo fIIo fismain.exe from fho
:=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor fo your curronf workIng foIdor.
8 In fho OS Commnnd WIndow, chnngo fho foIdor fo your curronf workIng
foIdor, nnd fyo fho foIIowIng commnnd fo cnII fho sfnnd-nIono oxocufnbIo
codo:
fismain fis_in mam21.fis
ThIs commnnd usos fho dnfn fIIo fis_in nnd fho IIS sfrucfuro fIIo
mam21.fis, nnd gonornfos l2l oufufs on your scroon.
Tip You cnn nIso dIrocf fho oufufs fo n fIIo usIng fho foIIowIng commnnd
In fho OS Commnnd WIndow:
fismain fis_in mam21.fis > fis_out
ThIs commnnd snvos fho oufuf dnfn fis_out ns n l2l-by-l mnfrIx In
your curronf workIng foIdor. Inch row of fho oufuf mnfrIx rorosonfs
nn oufuf vocfor.
<;:ML
Simulating Fuzzy Inference Systems Using the Fuzzy Inference Engine
9 To vorIfy fhnf fho fuzzy Inforonco ongIno oufuf mnfchos fho MAT!AI
MIX-fIIo evalfis.m oufuf, fyo fho foIIowIng commnnd nf fho MAT!AI
romf:
fismat = readfis('mam21');
matlab_out = evalfis(input_data, fismat);
load fis_out
max(max(matlab_out - fis_out))
ThIs commnnd rofurns fho foIIowIng rosuIf:
ans =
4.9583e-013
Tho dIfforonco rosuIfs from fho roInfIvo rocIsIon bofwoon fho oufufs.
Including the lcc Command in the PATH Environment Variable
Whon oxocufIng fho lcc commnnd fo cronfo fho fismain.obj objocf fIIo, you
gof fho foIIowIng orror If fho commnnd nnd/or fho nfh for fho <include>
hondor fIIos nro nof In fho PATH onvIronmonf vnrInbIo:
'lcc' is not recognized as an internal or external command,
operable program or batch file.
To IncIudo fho commnnd In fho PATH onvIronmonf vnrInbIo, fyo fho foIIowIng
In fho OS Commnnd WIndow:
:=8+=,2&&8\sys\lcc\bin\lcc -I:=8+=,2&&8\sys\lcc\include fismain.c
Iross Y%#") whon romfod fo Please enter the path for the
<include> header files.
Including the lcclnk Command in the PATH Environment
Variable
Whon oxocufIng fho lcclnk commnnd fo cronfo fho fismain.exe fIIo, you gof
fho foIIowIng orror If fho commnnd Is nof In fho PATH onvIronmonf vnrInbIo:
<;:MM
2 Tutorial
'lcclnk' is not recognized as an internal or external command,
operable program or batch file.
To IncIudo fho commnnd In fho PATH onvIronmonf vnrInbIo, fyo fho foIIowIng
In fho OS Commnnd WIndow:
:=8+=,2&&8\sys\lcc\bin\lcclnk fismain.obj
Simulate Systems on UNIX Platforms
ThIs oxnmIo shows how fo sImuInfo n fuzzy Inforonco sysfom on n !IX

Infform usIng fho sfnnd-nIono fuzzy Inforonco ongIno.


1 Oon n !IX Commnnd WIndow nnd chnngo fho foIdor fo
:=8+=,2&&8\toolbox\fuzzy\fuzzy.
Tip You cnn fInd fho roof foIdor of your MAT!AI InsfnIInfIon by fyIng
matlabroot nf fho MAT!AI commnnd romf.
2 In fho !IX Commnnd WIndow, fyo fho foIIowIng commnnd:
cc -O -o fismain fismain.c -lm
ThIs commnnd cronfos fho fismain fIIo In fho
:=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor.
Tho fis.c fIIo Is IncIudod In fho fismain.c fIIo; you do nof hnvo fo comIIo
If sonrnfoIy.
3 Af fho MAT!AI romf, cronfo nn Inuf dnfn fIIo usIng fho foIIowIng
commnnd:
[x, y] = meshgrid(-5:5, -5:5);
input_data = [x(:) y(:)];
save fis_in input_data -ascii
ThIs commnnd snvos fho Inuf dnfn ns n l2l-by-2 mnfrIx In fho ASCII fIIo
fis_in In your curronf workIng foIdor. Inch row of fho mnfrIx rorosonfs
nn Inuf vocfor.
<;:ME
Simulating Fuzzy Inference Systems Using the Fuzzy Inference Engine
Tip You cnn fInd your curronf workIng foIdor In fho O,))"%# +03*") fIoId
In fho MAT!AI doskfo fooIbnr.
4 Coy fho IIS sfrucfuro fIIo mam21.fis from fho
:=8+=,2&&8\toolbox\fuzzy\fuzdemos foIdor fo your curronf workIng
foIdor.
5 Coy fho fismain fIIo from fho :=8+=,2&&8\toolbox\fuzzy\fuzzy foIdor fo
your curronf workIng foIdor.
6 In fho !IX Commnnd WIndow, chnngo fho foIdor fo your curronf workIng
foIdor, nnd fyo fho foIIowIng oxocufnbIo commnnd:
fismain fis_in mam21.fis
ThIs commnnd usos fho dnfn fIIo fis_in nnd fho IIS sfrucfuro fIIo
mam21.fis nnd gonornfos l2l oufufs on your scroon.
Tip You cnn nIso dIrocf fho oufufs fo nnofhor fIIo usIng fho foIIowIng
commnnd In fho OS Commnnd WIndow:
fismain fis_in mam21.fis > fis_out
ThIs commnnd snvos fho oufuf dnfn fis_out ns n l2l-by-l mnfrIx In
your curronf workIng foIdor. Inch row of fho oufuf mnfrIx rorosonfs
nn oufuf vocfor.
<;:MF
2 Tutorial
7 To vorIfy fhnf fho fuzzy Inforonco ongIno oufuf mnfchos fho MAT!AI
MIX-fIIo evalfis.m oufuf, fyo fho foIIowIng commnnd nf fho MAT!AI
romf:
fismat = readfis('mam21');
matlab_out = evalfis(input_data, fismat);
load fis_out
max(max(matlab_out - fis_out))
ThIs commnnd rofurns fho foIIowIng rosuIf:
ans =
4.9583e-013
Tho dIfforonco rosuIfs from fho roInfIvo rocIsIon bofwoon fho oufufs.
<;:EG
3
IuncfIons AIhnbofIcnI
!Isf
addmf
Purpose Add momborshI funcfIon fo Iuzzy Inforonco Sysfom
Syntax a = addmf(a,'varType',varIndex,'mfName','mfType',mfParams)
Description A momborshI funcfIon cnn bo nddod onIy fo n vnrInbIo In nn oxIsfIng
MAT!AI worksnco IIS. IndIcos nro nssIgnod fo momborshI funcfIons
In fho ordor In whIch fhoy nro nddod, so fho fIrsf momborshI funcfIon
nddod fo n vnrInbIo Is nIwnys known ns momborshI funcfIon numbor
ono for fhnf vnrInbIo. You cnnnof ndd n momborshI funcfIon fo Inuf
vnrInbIo numbor fwo of n sysfom If onIy ono Inuf hns boon dofInod.
Tho funcfIon roquIros sIx Inuf nrgumonfs In fhIs ordor:
1 A MAT!AI vnrInbIo nnmo of n IIS sfrucfuro In fho worksnco
2 A sfrIng rorosonfIng fho fyo of vnrInbIo you wnnf fo ndd fho
momborshI funcfIon fo ('input' or 'output')
3 Tho Indox of fho vnrInbIo you wnnf fo ndd fho momborshI funcfIon fo
4 A sfrIng rorosonfIng fho nnmo of fho now momborshI funcfIon
5 A sfrIng rorosonfIng fho fyo of fho now momborshI funcfIon
6 Tho vocfor of nrnmofors fhnf socIfy fho momborshI funcfIon
Examples a = newfis('tipper');
a = addvar(a,'input','service',[0 10]);
a = addmf(a,'input',1,'poor','gaussmf',[1.5 0]);
a = addmf(a,'input',1,'good','gaussmf',[1.5 5]);
a = addmf(a,'input',1,'excellent','gaussmf',[1.5 10]);
plotmf(a,'input',1)
>;<
addmf
See Also addrule | addvar | plotmf | rmmf | rmvar
>;>
addrule
Purpose Add ruIo fo Iuzzy Inforonco Sysfom
Syntax a = addrule(a,ruleList)
Description addrule hns fwo nrgumonfs. Tho fIrsf nrgumonf Is fho MAT!AI
worksnco vnrInbIo IIS nnmo. Tho socond nrgumonf Is n mnfrIx of ono
or moro rows, onch of whIch rorosonfs n gIvon ruIo. Tho formnf fhnf
fho ruIo IIsf mnfrIx musf fnko Is vory socIfIc. If fhoro nro : Inufs
fo n sysfom nnd 7 oufufs, fhoro musf bo oxncfIy : + 7 + 2 coIumns
fo fho ruIo IIsf.
Tho fIrsf : coIumns rofor fo fho Inufs of fho sysfom. Inch coIumn
confnIns n numbor fhnf rofors fo fho Indox of fho momborshI funcfIon
for fhnf vnrInbIo.
Tho noxf 7 coIumns rofor fo fho oufufs of fho sysfom. Inch coIumn
confnIns n numbor fhnf rofors fo fho Indox of fho momborshI funcfIon
for fhnf vnrInbIo.
Tho : + 7 + l coIumn confnIns fho woIghf fhnf Is fo bo nIIod fo
fho ruIo. Tho woIghf musf bo n numbor bofwoon zoro nnd ono nnd Is
gonornIIy Ioff ns ono.
Tho : + 7 + 2 coIumn confnIns n l If fho fuzzy oornfor for fho ruIo`s
nnfocodonf Is A. If confnIns n 2 If fho fuzzy oornfor Is O!.
Examples ruleList=[
1 1 1 1 1
1 2 2 1 1];
a = addrule(a,ruleList);
If fho sysfom a hns fwo Inufs nnd ono oufuf, fho fIrsf ruIo cnn bo
Inforrofod ns:
If Inuf l Is MI l nnd Inuf 2 Is MI l, fhon Oufuf l Is MI l.
See Also addmf | addvar | parsrule | rmmf | rmvar | showrule
>;A
addvar
Purpose Add vnrInbIo fo Iuzzy Inforonco Sysfom
Syntax a = addvar(a,'varType','varName',varBounds)
Description addvar hns four nrgumonfs In fhIs ordor:
Tho nnmo of n IIS sfrucfuro In fho MAT!AI worksnco
A sfrIng rorosonfIng fho fyo of fho vnrInbIo you wnnf fo ndd
('input' or 'output')
A sfrIng rorosonfIng fho nnmo of fho vnrInbIo you wnnf fo ndd
Tho vocfor doscrIbIng fho IImIfIng rnngo vnIuos for fho vnrInbIo you
wnnf fo ndd
IndIcos nro nIIod fo vnrInbIos In fho ordor In whIch fhoy nro nddod,
so fho fIrsf Inuf vnrInbIo nddod fo n sysfom Is nIwnys known ns Inuf
vnrInbIo numbor ono for fhnf sysfom. Inuf nnd oufuf vnrInbIos nro
numborod IndoondonfIy.
Examples a = newfis('tipper');
a = addvar(a,'input','service',[0 10]);
getfis(a,'input',1)
ThIs commnnd rofurns fho foIIowIng rosuIf:
Name = service
NumMFs = 0
MFLabels =
Range = [0 10]
See Also addmf | addrule | rmmf | rmvar
>;D
anfis
Purpose TrnInIng roufIno for Sugono-fyo Iuzzy Inforonco Sysfom (MIX onIy)
Syntax [fis,error,stepsize] = anfis(trnData)
[fis,error,stepsize] = anfis(trnData,initFis)
[fis,error,stepsize] = anfis(trnData,numMFs)
[fis,error,stepsize,chkFis,chkErr] = ...
anfis(trnData,initFis,trnOpt,dispOpt,chkData,optMethod)
[fis,error,stepsize,chkFis,chkErr] = ...
anfis(trnData,numMFs,trnOpt,dispOpt,chkData,optMethod)
Description ThIs synfnx Is fho mnjor frnInIng roufIno for Sugono-fyo fuzzy Inforonco
sysfoms. anfis usos n hybrId IonrnIng nIgorIfhm fo IdonfIfy nrnmofors
of Sugono-fyo fuzzy Inforonco sysfoms. If nIIos n combInnfIon of
fho Ionsf-squnros mofhod nnd fho bnckrongnfIon grndIonf dosconf
mofhod for frnInIng IIS momborshI funcfIon nrnmofors fo omuInfo n
gIvon frnInIng dnfn sof. anfis cnn nIso bo Invokod usIng nn ofIonnI
nrgumonf for modoI vnIIdnfIon. Tho fyo of modoI vnIIdnfIon fhnf fnkos
Inco wIfh fhIs ofIon Is n chockIng for modoI ovorfIffIng, nnd fho
nrgumonf Is n dnfn sof cnIIod fho chockIng dnfn sof.
anfis onIy suorfs Sugono-fyo sysfoms, nnd fhoso musf hnvo fho
foIIowIng roorfIos:
Io fIrsf or zorofh ordor Sugono-fyo sysfoms.
Hnvo n sIngIo oufuf, obfnInod usIng woIghfod nvorngo
dofuzzIfIcnfIon. AII oufuf momborshI funcfIons musf bo fho snmo
fyo nnd oIfhor bo IInonr or consfnnf.
Hnvo no ruIo shnrIng. Ifforonf ruIos cnnnof shnro fho snmo oufuf
momborshI funcfIon, nnmoIy fho numbor of oufuf momborshI
funcfIons musf bo oqunI fo fho numbor of ruIos.
>;L
anfis
Hnvo unIfy woIghf for onch ruIo.
An orror occurs If your IIS sfrucfuro doos nof comIy wIfh fhoso
consfrnInfs.
Moroovor, anfis cnnnof nccof nII fho cusfomIznfIon ofIons fhnf bnsIc
fuzzy Inforonco nIIows. Thnf Is, you cnnnof mnko your own momborshI
funcfIons nnd dofuzzIfIcnfIon funcfIons; you musf uso fho onos rovIdod.
Tho nrgumonfs In fho doscrIfIon for anfis nro ns foIIows. ofo
fhnf you cnn socIfy fho nrgumonfs trnOpt, dispOpt, chkData, nnd
optMethod ns omfy, [], whon nocossnry:
trnData: fho nnmo of n frnInIng dnfn sof. ThIs mnfrIx confnIns dnfn
Inuf In nII buf fho Insf coIumn. Tho Insf coIumn confnIns n sIngIo
vocfor of oufuf dnfn.
initFis: fho nnmo of n fuzzy Inforonco sysfom (IIS) usod fo rovIdo
anfis wIfh nn InIfInI sof of momborshI funcfIons for frnInIng.
WIfhouf fhIs ofIon, anfis usos genfis1 fo ImIomonf n dofnuIf
InIfInI IIS for frnInIng. ThIs dofnuIf IIS hns fwo momborshI
funcfIons of fho CnussInn fyo, whon If Is Invokod wIfh onIy ono
nrgumonf. If initFis Is rovIdod ns n sIngIo numbor (or n vocfor),
If Is fnkon ns fho numbor of momborshI funcfIons (or fho vocfor)
whoso onfrIos nro fho rosocfIvo numbors of momborshI funcfIons
nssocInfod wIfh onch rosocfIvo Inuf whon fhoso numbors dIffor
for onch Inuf). In fhIs cnso, bofh nrgumonfs of anfis nro nssod
fo genfis1 fo gonornfo n vnIId IIS sfrucfuro boforo sfnrfIng fho
frnInIng rocoss.
numMFs: fho numbor of momborshI funcfIons. !so numMFs, nn
Infogor scnInr vnIuo, ns fho socond nrgumonf fo anfis whon you do
nof nIrondy hnvo n IIS fo frnIn nnd you wnnf anfis fo buIId n dofnuIf
InIfInI IIS usIng your dnfn. Inch Inuf nnd oufuf fo fhIs IIS Is
chnrncforIzod by ono or moro momborshI funcfIons. SocIfy fho
numbor of momborshI funcfIons In numMFs.
trnOpt: n vocfor of frnInIng ofIons. Whon n frnInIng ofIon Is
onforod ns NaN, fho dofnuIf ofIons Is In forco. Thoso ofIons nro ns
foIIows:
>;M
anfis
- trnOpt(1): frnInIng ooch numbor (dofnuIf: l0)
- trnOpt(2): frnInIng orror gonI (dofnuIf: 0)
- trnOpt(3): InIfInI sfo sIzo (dofnuIf: 0.0l)
- trnOpt(4): sfo sIzo docronso rnfo (dofnuIf: 0.9)
- trnOpt(5): sfo sIzo Incronso rnfo (dofnuIf: l.l)
dispOpt: n vocfor of dIsIny ofIons fhnf socIfy whnf mossngo
fo dIsIny In fho MAT!AI Commnnd WIndow durIng frnInIng.
Tho dofnuIf vnIuo for n dIsIny ofIon Is 1, whIch monns fhnf fho
corrosondIng InformnfIon Is dIsInyod. A 0 monns fho corrosondIng
InformnfIon Is nof dIsInyod. Whon n dIsIny ofIon Is onforod ns
NaN, fho dofnuIf ofIons wIII bo In forco. Thoso ofIons nro ns foIIows:
- dispOpt(1): AIIS InformnfIon, such ns numbors of Inuf nnd
oufuf momborshI funcfIons, nnd so on (dofnuIf: l)
- dispOpt(2): orror (dofnuIf: l)
- dispOpt(3): sfo sIzo nf onch nrnmofor udnfo (dofnuIf: l)
- dispOpt(4): fInnI rosuIfs (dofnuIf: l)
chkData: fho nnmo of nn ofIonnI chockIng dnfn sof for ovorfIffIng
modoI vnIIdnfIon. ThIs dnfn sof Is n mnfrIx In fho snmo formnf ns fho
frnInIng dnfn sof. Whon you suIy chkData ns nn Inuf nrgumonf,
you musf nIso suIy chkFis nnd chkErr ns oufuf nrgumonfs.
optMethod: nn ofIonnI ofImIznfIon mofhod usod In momborshI
funcfIon nrnmofor frnInIng: oIfhor 1 for fho hybrId mofhod or 0
for fho bnckrongnfIon mofhod. Tho dofnuIf mofhod Is fho hybrId
mofhod, whIch Is n combInnfIon of Ionsf-squnros osfImnfIon wIfh
bnckrongnfIon. Tho dofnuIf mofhod Is Invokod whonovor fho onfry
for fhIs nrgumonf Is nnyfhIng buf 0.
Tho frnInIng rocoss sfos whonovor fho dosIgnnfod ooch numbor Is
ronchod or fho frnInIng orror gonI Is nchIovod.
>;E
anfis
Note Whon anfis Is Invokod wIfh fwo or moro nrgumonfs, ofIonnI
nrgumonfs fnko on fhoIr dofnuIf vnIuos If fhoy nro onforod ns NaNs or
omfy mnfrIcos. ofnuIf vnIuos cnn bo chnngod dIrocfIy by modIfyIng
fho fIIo anfis.m. IIfhor NaNs or omfy mnfrIcos musf bo usod ns
IncohoIdors for vnrInbIos If you do nof wnnf fo socIfy fhom, buf
do wnnf fo socIfy succoodIng nrgumonfs, for oxnmIo, whon you
ImIomonf fho chockIng dnfn ofIon of anfis.
Tho rnngo vnrInbIos In fho rovIous doscrIfIon for anfis nro ns foIIows:
fis Is fho IIS sfrucfuro whoso nrnmofors nro sof nccordIng fo n
mInImum frnInIng orror crIforIon.
error or chkErr Is nn nrrny of roof monn squnrod orrors rorosonfIng
fho frnInIng dnfn orror sIgnnI nnd fho chockIng dnfn orror sIgnnI,
rosocfIvoIy. Tho funcfIon onIy rofurns chkErr whon you suIy
chkData ns nn Inuf nrgumonf.
stepsize Is nn nrrny of sfo sIzos. Tho sfo sIzo Is docronsod
(by muIfIIyIng If wIfh fho comononf of fho frnInIng ofIon
corrosondIng fo fho sfo sIzo docronso rnfo) If fho orror monsuro
undorgoos fwo consocufIvo combInnfIons of nn Incronso foIIowod
by n docronso. Tho sfo sIzo Is Incronsod (by muIfIIyIng If wIfh
fho Incronso rnfo) If fho orror monsuro undorgoos four consocufIvo
docronsos.
chkFis Is fho IIS sfrucfuro whoso nrnmofors nro sof nccordIng fo n
mInImum chockIng orror crIforIon. Tho funcfIon onIy rofurns chkFis
whon you suIy chkData ns nn Inuf nrgumonf.
Examples x = (0:0.1:10)';
y = sin(2*x)./exp(x/5);
trnData = [x y];
numMFs = 5;
mfType = 'gbellmf';
epoch_n = 20;
in_fis = genfis1(trnData,numMFs,mfType);
>;F
anfis
out_fis = anfis(trnData,in_fis,20);
plot(x,y,x,evalfis(x,out_fis));
legend('Training Data','ANFIS Output');
References Jnng, J.-S. !., Iuzzy ModoIIng !sIng ConornIIzod ournI ofworks
nnd KnImnn IIIfor AIgorIfhm, J2&)@ &9 8<1 c(78< c=8(&7=+ 6&79@ &7
K28(9()(=+ E781++('17)1 FKKKEMdXG, . ?62-?6?, JuIy l99l.
Jnng, J.-S. !., AIIS: AdnfIvo-ofwork-bnsod Iuzzy Inforonco
Sysfoms, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75 6$,12718()0, VoI.
23, o. 3, . 665-685, Mny l993.
See Also anfisedit | genfis1
>;:G
anfisedit
Purpose Oon AnfIs IdIfor
Syntax anfisedit('a')
anfisedit(a)
anfisedit
Description !sIng anfisedit, you brIng u fho AIIS IdIfor C!I from whIch you
cnn Iond n dnfn sof nnd frnIn anfis. Tho AIIS IdIfor C!I Invokod
usIng anfisedit('a'), oons fho AIIS IdIfor C!I from whIch you
cnn ImIomonf anfis usIng n IIS sfrucfuro sforod ns n fIIo a.fis.
anfisedit(a) oornfos fho snmo wny for n IIS sfrucfuro n, sforod ns n
vnrInbIo In fho MAT!AI worksnco.
!ofor fo nnfIs nnd fho AIIS IdIfor C!I on ngo 2-l09 for moro
InformnfIon nbouf how fo uso anfisedit.
Menu
Items
On fho AIIS IdIfor C!I, fhoro Is n monu bnr fhnf nIIows you fo oon
roInfod C!I fooIs, oon nnd snvo sysfoms, nnd so on. Tho +$3" monu Is
fho snmo ns fho ono found on fho IIS IdIfor. !ofor fo fuzzy for moro
InformnfIon:
!so fho foIIowIng Y*$# monu Ifom:
?%*0 fo undo fho mosf roconf chnngo.
+=' 9)09")#$"8 fo Invoko fho IIS IdIfor.
P"N4")8@$9 K,%1#$0%8 fo Invoko fho MomborshI IuncfIon IdIfor.
[,3"8 fo Invoko fho !uIo IdIfor.
!so fho foIIowIng \$"W monu Ifoms:
[,3"8 fo Invoko fho !uIo VIowor.
',)K(1" fo Invoko fho Surfnco VIowor.
See Also fuzzy | mfedit | ruleedit | ruleview | surfview
>;::
convertfis
Purpose Convorf Iuzzy !ogIc TooIbox VorsIon l.0 Iuzzy Inforonco Sysfom
mnfrIx fo curronf-vorsIon Iuzzy Inforonco Sysfom sfrucfuro
Syntax fis_new=convertfis(fis_old)
Description convertfis fnkos n VorsIon l.0 IIS mnfrIx nnd convorfs If fo n IIS
sfrucfuro comnfIbIo wIfh fho curronf vorsIon.
>;:<
defuzz
Purpose ofuzzIfy momborshI funcfIon
Syntax out = defuzz(x,mf,type)
Description defuzz(x,mf,type) rofurns n dofuzzIfIod vnIuo out, of n momborshI
funcfIon mf osIfIonod nf nssocInfod vnrInbIo vnIuo x, usIng ono of
sovornI dofuzzIfIcnfIon sfrnfogIos, nccordIng fo fho nrgumonf, type. Tho
vnrInbIo type cnn bo ono of fho foIIowIng:
centroid: confroId of nron
bisector: bIsocfor of nron
mom: monn vnIuo of mnxImum
som: smnIIosf (nbsoIufo) vnIuo of mnxImum
lom: Inrgosf (nbsoIufo) vnIuo of mnxImum
If type Is nof ono of fhoso IIsfod, Iuzzy !ogIc TooIbox soffwnro nssumos
If fo bo n usor-dofInod funcfIon. x nnd mf nro nssod fo fhIs funcfIon fo
gonornfo fho dofuzzIfIod oufuf.
Examples x = -10:0.1:10;
mf = trapmf(x,[-10 -8 -4 7]);
xx = defuzz(x,mf,'centroid');
>;:>
dsigmf
Purpose Ifforonco bofwoon fwo sIgmoIdnI funcfIons momborshI funcfIon
Syntax y = dsigmf(x,[a1 c1 a2 c2])
Description Tho sIgmoIdnI momborshI funcfIon usod doonds on fho fwo
nrnmofors = nnd ) nnd Is gIvon by
f x a c
e
a x c
; ,
( )
( ) =
+

1
1
Tho momborshI funcfIon dsigmf doonds on four nrnmofors, a1,
c1, a2, nnd c2, nnd Is fho dIfforonco bofwoon fwo of fhoso sIgmoIdnI
funcfIons.
9
l
(-; =
l
, )
l
) - 9
2
(-; =
2
, )
2
)
Tho nrnmofors nro IIsfod In fho ordor: |=
l
)
l
=
2
)
2
].
Examples x=0:0.1:10;
y=dsigmf(x,[5 2 5 7]);
plot(x,y)
xlabel('dsigmf, P=[5 2 5 7]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
dsigmf, P = [5 2 5 7]
See Also gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;:A
evalfis
Purpose Iorform fuzzy Inforonco cnIcuInfIons
Syntax output= evalfis(input,fismat)
output= evalfis(input,fismat, numPts)
[output, IRR, ORR, ARR]= evalfis(input,fismat)
[output, IRR, ORR, ARR]= evalfis(input,fismat,numPts)
Description evalfis hns fho foIIowIng nrgumonfs:
input: n numbor or n mnfrIx socIfyIng Inuf vnIuos. If input Is nn
M-by- mnfrIx, whoro Is numbor of Inuf vnrInbIos, fhon evalfis
fnkos onch row of input ns nn Inuf vocfor nnd rofurns fho M-by-!
mnfrIx fo fho vnrInbIo, output, whoro onch row Is nn oufuf vocfor
nnd ! Is fho numbor of oufuf vnrInbIos.
fismat: n IIS sfrucfuro fo bo ovnIunfod.
numPts: nn ofIonnI nrgumonf fhnf rorosonfs fho numbor of snmIo
oInfs on whIch fo ovnIunfo fho momborshI funcfIons ovor fho Inuf
or oufuf rnngo. If fhIs nrgumonf Is nof usod, fho dofnuIf vnIuo of
l0l oInfs Is usod.
Tho rnngo InboIs for evalfis nro ns foIIows:
output: fho oufuf mnfrIx of sIzo M-by-!, whoro M rorosonfs fho
numbor of Inuf vnIuos socIfIod rovIousIy, nnd ! Is fho numbor
of oufuf vnrInbIos for fho IIS.
Tho ofIonnI rnngo vnrInbIos for evalfis nro onIy cnIcuInfod whon fho
input nrgumonf Is n row vocfor, (onIy ono sof of Inufs Is nIIod).
Thoso ofIonnI rnngo vnrInbIos nro
IRR: fho rosuIf of ovnIunfIng fho Inuf vnIuos fhrough fho
momborshI funcfIons. ThIs mnfrIx Is of fho sIzo 7":e"+10-by-c,
whoro 7":e"+10 Is fho numbor of ruIos, nnd c Is fho numbor of
Inuf vnrInbIos.
>;:D
evalfis
ORR: fho rosuIf of ovnIunfIng fho oufuf vnIuos fhrough
fho momborshI funcfIons. ThIs mnfrIx Is of fho sIzo
numPts-by-7":e"+10f%, whoro 7":e"+10 Is fho numbor of ruIos,
nnd % Is fho numbor of oufufs. Tho fIrsf 7":e"+10 coIumns of fhIs
mnfrIx corrosond fo fho fIrsf oufuf, fho noxf 7":e"+10 coIumns of
fhIs mnfrIx corrosond fo fho socond oufuf, nnd so forfh.
ARR: fho numPts-by-% mnfrIx of fho nggrognfo vnIuos snmIod nf
numPts nIong fho oufuf rnngo for onch oufuf.
Whon If Is Invokod wIfh onIy ono rnngo vnrInbIo, fhIs funcfIon comufos
fho oufuf vocfor, output, of fho fuzzy Inforonco sysfom socIfIod by
fho sfrucfuro, fismat, for fho Inuf vnIuo socIfIod by fho numbor or
mnfrIx, input.
Examples fismat = readfis('tipper');
out = evalfis([2 1; 4 9],fismat)
ThIs synfnx gonornfos fho rosonso
out =
7.0169
19.6810
See Also ruleview | gensurf
>;:L
evalmf
Purpose ConorIc momborshI funcfIon ovnIunfIon
Syntax y = evalmf(x,mfParams,mfType)
Description evalmf ovnIunfos nny momborshI funcfIon, whoro x Is fho vnrInbIo
rnngo for fho momborshI funcfIon ovnIunfIon, mfType Is n momborshI
funcfIon from fho fooIbox, nnd mfParams nro nrorInfo nrnmofors
for fhnf funcfIon.
If you wnnf fo cronfo your own cusfom momborshI funcfIon, evalmf
sfIII works, bocnuso If ovnIunfos nny momborshI funcfIon whoso nnmo
If doos nof rocognIzo.
Examples x=0:0.1:10;
mfparams = [2 4 6];
mftype = 'gbellmf';
y=evalmf(x,mfparams,mftype);
plot(x,y)
xlabel('gbellmf, P=[2 4 6]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gbellmf, P = [2 4 6]
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trapmf | trimf | zmf
>;:M
fcm
Purpose Iuzzy C-monns cIusforIng
Syntax [center,U,obj_fcn] = fcm(data,cluster_n)
[center,U,obj_fcn] = fcm(data,cluster_n,options)
Description [center, U, obj_fcn] = fcm(data, cluster_n) nIIos fho fuzzy
c-monns cIusforIng mofhod fo n gIvon dnfn sof.
Tho Inuf nrgumonfs of fhIs funcfIon nro
data: dnfn sof fo bo cIusforod; onch row Is n snmIo dnfn oInf
cluster_n: numbor of cIusfors (gronfor fhnn ono)
Tho oufuf nrgumonfs of fhIs funcfIon nro
center: mnfrIx of fInnI cIusfor confors whoro onch row rovIdos fho
confor coordInnfos
U: fInnI fuzzy nrfIfIon mnfrIx (or momborshI funcfIon mnfrIx)
obj_fcn: vnIuos of fho objocfIvo funcfIon durIng IfornfIons
fcm(data,cluster_n,options) usos nn nddIfIonnI nrgumonf vnrInbIo,
options, fo socIfy cIusforIng nrnmofors, Infroduco n sfoIng crIforIn,
or sof fho IfornfIon InformnfIon dIsIny. SocIfy options ns n vocfor:
options(1): Ixononf for fho nrfIfIon mnfrIx U. ofnuIf: 2.0.
options(2): MnxImum numbor of IfornfIons. ofnuIf: 100.
options(3): MInImum nmounf of Imrovomonf. ofnuIf: 1e-5.
options(4): InformnfIon dIsInyod durIng IfornfIon. ofnuIf: 1.
If nny onfry of options Is NaN, fho dofnuIf vnIuo for fhnf ofIon Is usod
Insfond. Tho cIusforIng rocoss sfos whon fho mnxImum numbor
of IfornfIons Is ronchod or whon fho objocfIvo funcfIon Imrovomonf
bofwoon fwo consocufIvo IfornfIons Is Ioss fhnn fho mInImum nmounf
of Imrovomonf socIfIod.
Examples data = rand(100, 2);
[center,U,obj_fcn] = fcm(data, 2);
>;:E
fcm
plot(data(:,1), data(:,2),'o');
maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2, :) == maxU);
line(data(index1,1),data(index1, 2),'linestyle','none',...
'marker','*','color','g');
line(data(index2,1),data(index2, 2),'linestyle','none',...
'marker', '*','color','r');
How To : Iuzzy C-Monns CIusforIng on ngo 2-l52
>;:F
findcluster
Purpose Oon CIusforIng fooI
Syntax findcluster findcluster('file.dat')
Description findcluster oons n C!I fo ImIomonf oIfhor fho fuzzy c-monns (K1N),
fho fuzzy subfrncfIvo cIusforIng (8,4#)(1#$H) usIng fho uII-down fnb
undor P"#@0* on fho C!I, or bofh. nfn Is onforod usIng fho /0(*
7(#( buffon. Tho ofIons for onch of fhoso mofhods nro sof fo dofnuIf
vnIuos. Thoso dofnuIf vnIuos cnn bo chnngod. Soo fcm roforonco ngo for
n doscrIfIon of fho ofIons for fuzzy c-monns. Tho subclust roforonco
ngo rovIdos n doscrIfIon of fho ofIons for fuzzy subcIusforIng.
ThIs fooI works on muIfIdImonsIonnI dnfn sofs, buf onIy dIsInys fwo
of fhoso dImonsIons. !so fho uII-down fnbs undor `;(5$8 nnd U;(5$8
fo soIocf whIch dnfn dImonsIon you wnnf fo vIow. Ior oxnmIo, If you
hnvo dnfn fhnf Is fIvo-dImonsIonnI, fhIs fooI InboIs fho dnfn ns dnfnl,
dnfn2, dnfn3, dnfn4, dnfn5, In fho ordor In whIch fho dnfn nonrs
In fho dnfn sof. '#()# fo orform fho cIusforIng, nnd '(H" O"%#")
fo snvo fho cIusfor confor.
Whon oornfIng on n dnfn sof cnIIod file.dat, findcluster (file.dat)
Ionds fho dnfn sof nufomnfIcnIIy, IoffIng u fo fho fIrsf fwo dImonsIons
of fho dnfn onIy. You cnn sfIII chooso whIch fwo dImonsIons of fho dnfn
you wnnf fo cIusfor nffor fho C!I nonrs.
>;<G
findcluster
Examples findcluster('clusterdemo.dat')
See Also fcm | subclust
>;<:
fuzarith
Purpose Iorform fuzzy nrIfhmofIc
Syntax C = fuzarith(X, A, B, operator)
Description !sIng InforvnI nrIfhmofIc, C = fuzarith(X, A, B, operator) rofurns
n fuzzy sof C ns fho rosuIf of nIyIng fho funcfIon rorosonfod by fho
sfrIng, operator, whIch orforms n bInnry oornfIon on fho snmIod
convox fuzzy sofs A nnd B. Tho oIomonfs of A nnd B nro dorIvod from
convox funcfIons of fho snmIod unIvorso, X:
A, B, nnd X nro vocfors of fho snmo dImonsIon.
operator Is ono of fho foIIowIng sfrIngs: 'sum', 'sub', 'prod', nnd
'div'.
Tho rofurnod fuzzy sof C Is n coIumn vocfor wIfh fho snmo Iongfh ns X.
Note Iuzzy nddIfIon mIghf gonornfo fho mossngo "divide by zero"
buf fhIs doos nof nffocf fho nccurncy of fhIs funcfIon.
Examples point_n = 101; % Determines MF's resolution
min_x = -20; max_x = 20; % Universe is [min_x, max_x]
x = linspace(min_x, max_x, point_n)';
A = trapmf(x, [-10 -2 1 3]); % Trapezoidal fuzzy set A
B = gaussmf(x, [2 5]); % Gaussian fuzzy set B
C1 = fuzarith(x, A, B, 'sum');
subplot(2,1,1);
plot(x, A, 'b--', x, B, 'm:', x, C1, 'c');
title('fuzzy addition A+B');
C2 = fuzarith(x, A, B, 'sub');
>;<<
fuzarith
subplot(2,1,2);
plot(x, A, 'b--', x, B, 'm:', x, C2, 'c');
title('fuzzy subtraction A-B');
C3 = fuzarith(x, A, B, 'prod');
>;<>
fuzzy
Purpose Oon IIS IdIfor
Syntax fuzzy
fuzzy(fismat)
Description
Tho IIS IdIfor C!I fooI nIIows you fo odIf fho hIghosf IovoI fonfuros
of fho fuzzy Inforonco sysfom, such ns fho numbor of Inuf nnd oufuf
vnrInbIos, fho dofuzzIfIcnfIon mofhod usod, nnd so on. !ofor fo Tho IIS
IdIfor on ngo 2-38 for moro InformnfIon nbouf how fo uso fho C!Is
nssocInfod wIfh fuzzy.
Tho IIS IdIfor Is fho hIgh-IovoI dIsIny for nny fuzzy IogIc Inforonco
sysfom. If nIIows you fo cnII fho vnrIous ofhor odIfors fo oornfo on fho
IIS. ThIs Inforfnco nIIows convonIonf nccoss fo nII ofhor odIfors wIfh nn
omhnsIs on mnxImum fIoxIbIIIfy for InforncfIon wIfh fho fuzzy sysfom.
>;<A
fuzzy
The
Diagram
Tho dIngrnm dIsInyod nf fho fo of fho wIndow shows fho Inufs,
oufufs, nnd n confrnI fuzzy ruIo rocossor. CIIck ono of fho vnrInbIo
boxos fo mnko fho soIocfod box fho curronf vnrInbIo. You shouId soo fho
box hIghIIghfod In rod. oubIo-cIIck ono of fho vnrInbIos fo brIng u fho
MomborshI IuncfIon IdIfor. oubIo-cIIck fho fuzzy ruIo rocossor fo
brIng u fho !uIo IdIfor. If n vnrInbIo oxIsfs buf Is nof monfIonod In
fho ruIo bnso, If Is connocfod fo fho ruIo rocossor bIock wIfh n dnshod
rnfhor fhnn n soIId IIno.
Menu
Items
Tho IIS IdIfor dIsInys n monu bnr fhnf nIIows you fo oon roInfod
C!I fooIs, oon nnd snvo sysfoms, nnd so on.
!ndor +$3" soIocf
J"W +=' ] P(N*(%$ fo oon n now MnmdnnI-sfyIo sysfom wIfh no
vnrInbIos nnd no ruIos cnIIod Untitled.
J"W +=' ] ',&"%0 fo oon n now Sugono-sfyIo sysfom wIfh no
vnrInbIos nnd no ruIos cnIIod Untitled.
=N90)# ] +)0N W0)T89(1" fo Iond n sysfom from n socIfIod IIS
sfrucfuro vnrInbIo In fho worksnco.
=N90)# ] +)0N K$3" fo Iond n sysfom from n socIfIod .fis fIIo.
Y590)# ] 20 W0)T89(1"I fo snvo fho sysfom fo n IIS sfrucfuro
vnrInbIo In fho worksnco.
Y590)# ] 20 K$3" fo snvo fho curronf sysfom fo n .fis fIIo.
6)$%# fo rInf whnf Is dIsInyod In fho C!I.
O308" fo cIoso fho C!I.
!ndor Y*$# soIocf
?%*0 fo undo fho mosf roconf chnngo.
X** H()$(43" ] =%9,# fo ndd nnofhor Inuf fo fho curronf sysfom.
X** H()$(43" ] V,#9,# fo ndd nnofhor oufuf fo fho curronf sysfom.
["N0H" '"3"1#"* \()$(43" fo doIofo n soIocfod vnrInbIo.
>;<D
fuzzy
P"N4")8@$9 K,%1#$0%8 fo Invoko fho MomborshI IuncfIon IdIfor.
[,3"8 fo Invoko fho !uIo IdIfor.
!ndor \$"W soIocf
[,3"8 fo Invoko fho !uIo VIowor.
',)K(1" fo Invoko fho Surfnco VIowor.
Inference
Method
Pop-up
Menus
IIvo o-u monus nro rovIdod fo chnngo fho funcfIonnIIfy of fho fIvo
bnsIc sfos In fho fuzzy ImIIcnfIon rocoss:
X%* N"#@0*: Chooso min, prod, or Custom, for n cusfom oornfIon.
V) N"#@0*: Chooso max, probor (robnbIIIsfIc or), or Custom, for n
cusfom oornfIon.
=N93$1(#$0%: Chooso min, prod, or Custom, for n cusfom oornfIon.
ThIs soIocfIon Is nof nvnIInbIo for Sugono-sfyIo fuzzy Inforonco.
X&&)"&(#$0%: Chooso max, sum, probor, or Custom, for n cusfom
oornfIon. ThIs soIocfIon Is nof nvnIInbIo for Sugono-sfyIo fuzzy
Inforonco.
7"K,--$K$1(#$0%: Ior MnmdnnI-sfyIo Inforonco, chooso centroid,
bisector, mom (mIddIo of mnxImum), som (smnIIosf of mnxImum),
lom (Inrgosf of mnxImum), or Custom, for n cusfom oornfIon. Ior
Sugono-sfyIo Inforonco, chooso bofwoon wtaver (woIghfod nvorngo)
or wtsum (woIghfod sum).
See Also mfedit | ruleedit | ruleview | surfview | anfisedit
>;<L
gauss2mf
Purpose CnussInn combInnfIon momborshI funcfIon
Syntax y = gauss2mf(x,[sig1 c1 sig2 c2])
Description Tho CnussInn funcfIon doonds on fwo nrnmofors 0(' nnd ) ns gIvon by
f x c e
x c
; ,

( ) =
( )
2
2
2
Tho funcfIon gauss2mf Is n combInnfIon of fwo of fhoso fwo nrnmofors.
Tho fIrsf funcfIon, socIfIod by 0('X nnd )X, doformInos fho shno of fho
Ioff-mosf curvo. Tho socond funcfIon socIfIod by 0('[ nnd )[ doformInos
fho shno of fho rIghf-mosf curvo. Whonovor )X < )[, fho gauss2mf
funcfIon ronchos n mnxImum vnIuo of l. OfhorwIso, fho mnxImum vnIuo
Is Ioss fhnn ono. Tho nrnmofors nro IIsfod In fho ordor:
|0('X, )X? 0('[, )[] @
Examples x = (0:0.1:10)';
y1 = gauss2mf(x, [2 4 1 8]);
y2 = gauss2mf(x, [2 5 1 7]);
y3 = gauss2mf(x, [2 6 1 6]);
y4 = gauss2mf(x, [2 7 1 5]);
y5 = gauss2mf(x, [2 8 1 4]);
plot(x, [y1 y2 y3 y4 y5]);
set(gcf, 'name', 'gauss2mf', 'numbertitle', 'off');
>;<M
gauss2mf
See Also dsigmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;<E
gaussmf
Purpose CnussInn curvo momborshI funcfIon
Syntax y = gaussmf(x,[sig c])
Description Tho symmofrIc CnussInn funcfIon doonds on fwo nrnmofors nnd )
ns gIvon by
f x c e
x c
; ,

( ) =
( )
2
2
2
Tho nrnmofors for gnussmf rorosonf fho nrnmofors nnd ) IIsfod In
ordor In fho vocfor |sig c].
Examples x=0:0.1:10;
y=gaussmf(x,[2 5]);
plot(x,y)
xlabel('gaussmf, P=[2 5]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gaussmf, P = [2 5]
See Also dsigmf | gaussmf | gbellmf | evalmf | mf2mf | pimf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;<F
gbellmf
Purpose ConornIIzod boII-shnod momborshI funcfIon
Syntax y = gbellmf(x,params)
Description Tho gonornIIzod boII funcfIon doonds on fhroo nrnmofors =, ,, nnd )
ns gIvon by
f x a b c
x c
a
b
; , , ( ) =
+

1
1
2
whoro fho nrnmofor , Is usunIIy osIfIvo. Tho nrnmofor ) Iocnfos fho
confor of fho curvo. Infor fho nrnmofor vocfor params, fho socond
nrgumonf for gbellmf, ns fho vocfor whoso onfrIos nro =, ,, nnd ),
rosocfIvoIy.
Examples x=0:0.1:10;
y=gbellmf(x,[2 4 6]);
plot(x,y)
xlabel('gbellmf, P=[2 4 6]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
gbellmf, P = [2 4 6]
See Also dsigmf | gaussmf | gauss2mf | evalmf | mf2mf | pimf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;>G
genfis1
Purpose Conornfo Iuzzy Inforonco Sysfom sfrucfuro from dnfn usIng grId
nrfIfIon
Syntax fismat = genfis1(data)
fismat = genfis1(data,numMFs,inmftype,outmftype)
Description genfis1 gonornfos n Sugono-fyo IIS sfrucfuro usod ns InIfInI
condIfIons (InIfInIIznfIon of fho momborshI funcfIon nrnmofors) for
anfis frnInIng.
genfis1(data) gonornfos n sIngIo-oufuf Sugono-fyo fuzzy Inforonco
sysfom usIng n grId nrfIfIon on fho dnfn.
genfis1(data,numMFs,inmftype,outmftype) gonornfos n IIS
sfrucfuro from n frnInIng dnfn sof, data, wIfh fho numbor nnd fyo
of Inuf momborshI funcfIons nnd fho fyo of oufuf momborshI
funcfIons oxIIcIfIy socIfIod.
Tho nrgumonfs for genfis1 nro ns foIIows:
data Is fho frnInIng dnfn mnfrIx, whIch musf bo onforod wIfh nII
buf fho Insf coIumns rorosonfIng Inuf dnfn, nnd fho Insf coIumn
rorosonfIng fho sIngIo oufuf.
numMFs Is n vocfor whoso coordInnfos socIfy fho numbor of
momborshI funcfIons nssocInfod wIfh onch Inuf. If you wnnf fho
snmo numbor of momborshI funcfIons fo bo nssocInfod wIfh onch
Inuf, fhon socIfy numMFs ns n sIngIo numbor.
inmftype Is n sfrIng nrrny In whIch onch row socIfIos fho
momborshI funcfIon fyo nssocInfod wIfh onch Inuf. ThIs cnn bo
n ono-dImonsIonnI sIngIo sfrIng If fho fyo of momborshI funcfIons
nssocInfod wIfh onch Inuf Is fho snmo.
outmftype Is n sfrIng fhnf socIfIos fho momborshI funcfIon fyo
nssocInfod wIfh fho oufuf. Thoro cnn onIy bo ono oufuf, bocnuso
fhIs Is n Sugono-fyo sysfom. Tho oufuf momborshI funcfIon fyo
musf bo oIfhor linear or constant. Tho numbor of momborshI
>;>:
genfis1
funcfIons nssocInfod wIfh fho oufuf Is fho snmo ns fho numbor of
ruIos gonornfod by genfis1.
Tho dofnuIf numbor of momborshI funcfIons, numMFs, Is 2; fho dofnuIf
Inuf momborshI funcfIon fyo Is 'gbellmf'; nnd fho dofnuIf oufuf
momborshI funcfIon fyo Is 'linear'. Thoso nro usod whonovor
genfis1 Is Invokod wIfhouf fho Insf fhroo nrgumonfs.
Tho foIIowIng fnbIo summnrIzos fho dofnuIf Inforonco mofhods.
Inference Method Default
A prod
O! max
ImIIcnfIon prod
AggrognfIon max
ofuzzIfIcnfIon wtaver
Examples data = [rand(10,1) 10*rand(10,1)-5 rand(10,1)];
numMFs = [3 7];
mfType = char('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)');
>;><
genfis1
showfis(fismat) dIsInys fho confonfs of onch fIoId of fho sfrucfuro
fismat.
See Also anfis | genfis2 | genfis3
>;>>
genfis2
Purpose Conornfo Iuzzy Inforonco Sysfom sfrucfuro from dnfn usIng subfrncfIvo
cIusforIng
Syntax fismat = genfis2(Xin,Xout,radii)
fismat = genfis2(Xin,Xout,radii,xBounds)
fismat = genfis2(Xin,Xout,radii,xBounds,options)
fismat = genfis2(Xin,Xout,radii,xBounds,options,user_centers)
Description genfis2 gonornfos n Sugono-fyo IIS sfrucfuro usIng subfrncfIvo
cIusforIng nnd roquIros sonrnfo sofs of Inuf nnd oufuf dnfn ns Inuf
nrgumonfs. Whon fhoro Is onIy ono oufuf, genfis2 mny bo usod fo
gonornfo nn InIfInI IIS for anfis frnInIng. genfis2 nccomIIshos fhIs
by oxfrncfIng n sof of ruIos fhnf modoIs fho dnfn bohnvIor.
Tho ruIo oxfrncfIon mofhod fIrsf usos fho subclust funcfIon fo
doformIno fho numbor of ruIos nnd nnfocodonf momborshI funcfIons
nnd fhon usos IInonr Ionsf squnros osfImnfIon fo doformIno onch ruIo`s
consoquonf oqunfIons. ThIs funcfIon rofurns n IIS sfrucfuro fhnf
confnIns n sof of fuzzy ruIos fo covor fho fonfuro snco.
Tho nrgumonfs for genfis2 nro ns foIIows:
Xin Is n mnfrIx In whIch onch row confnIns fho Inuf vnIuos of n
dnfn oInf.
Xout Is n mnfrIx In whIch onch row confnIns fho oufuf vnIuos of n
dnfn oInf.
radii Is n vocfor fhnf socIfIos n cIusfor confor`s rnngo of InfIuonco
In onch of fho dnfn dImonsIons, nssumIng fho dnfn fnIIs wIfhIn n
unIf hyorbox.
Ior oxnmIo, If fho dnfn dImonsIon Is 3 (o.g., Xin hns fwo coIumns
nnd Xout hns ono coIumn), radii = |0.5 0.4 0.3] socIfIos fhnf fho
rnngos of InfIuonco In fho fIrsf, socond, nnd fhIrd dnfn dImonsIons
(I.o., fho fIrsf coIumn of Xin, fho socond coIumn of Xin, nnd fho
coIumn of Xout) nro 0.5, 0.4, nnd 0.3 fImos fho wIdfh of fho dnfn
snco, rosocfIvoIy. If radii Is n scnInr vnIuo, fhon fhIs scnInr vnIuo
>;>A
genfis2
Is nIIod fo nII dnfn dImonsIons, I.o., onch cIusfor confor hns n
shorIcnI noIghborhood of InfIuonco wIfh fho gIvon rndIus.
xBounds Is n 2-by-c ofIonnI mnfrIx fhnf socIfIos how fo mn fho
dnfn In Xin nnd Xout Info n unIf hyorbox, whoro c Is fho dnfn (row)
dImonsIon. Tho fIrsf row of xBounds confnIns fho mInImum nxIs
rnngo vnIuos nnd fho socond row confnIns fho mnxImum nxIs rnngo
vnIuos for scnIIng fho dnfn In onch dImonsIon.
Ior oxnmIo, xBounds = |-l0 0 -l; l0 50 l] socIfIos fhnf dnfn vnIuos In
fho fIrsf dnfn dImonsIon nro fo bo scnIod from fho rnngo |-l0 +l0] Info
vnIuos In fho rnngo |0 l]; dnfn vnIuos In fho socond dnfn dImonsIon
nro fo bo scnIod from fho rnngo |0 50]; nnd dnfn vnIuos In fho fhIrd
dnfn dImonsIon nro fo bo scnIod from fho rnngo |-l +l]. If xBounds
Is nn omfy mnfrIx or nof rovIdod, fhon xBounds dofnuIfs fo fho
mInImum nnd mnxImum dnfn vnIuos found In onch dnfn dImonsIon.
options Is nn ofIonnI vocfor for socIfyIng nIgorIfhm nrnmofors
fo ovorrIdo fho dofnuIf vnIuos. Thoso nrnmofors nro oxInInod In
fho hoI foxf for subclust. ofnuIf vnIuos nro In Inco whon fhIs
nrgumonf Is nof socIfIod.
user_centers Is nn ofIonnI mnfrIx for socIfyIng cusfom cIusfor
confors. user_centers hns n sIzo of J-by-N whoro J Is fho numbor of
cIusfors nnd N Is fho fofnI numbor of Inufs nnd oufufs.
Tho dofnuIf Inuf momborshI funcfIon fyo Is 'gaussmf', nnd fho
dofnuIf oufuf momborshI funcfIon fyo Is 'linear'.
Tho foIIowIng fnbIo summnrIzos fho dofnuIf Inforonco mofhods.
Inference Method Default
A prod
O! probor
ImIIcnfIon prod
AggrognfIon max
ofuzzIfIcnfIon wtaver
>;>D
genfis2
Examples Tho foIIowIng oxnmIo usos fho genfis2 funcfIon wIfh fho mInImum
numbor of nrgumonfs nnd gonornfos n IIS wIfh dofnuIf vnIuos. In fhIs
cnso, n rnngo of InfIuonco of 0.5 Is socIfIod for nII dnfn dImonsIons.
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,0.5);
showfis(fismat) dIsInys fho confonfs of onch fIoId of fho sfrucfuro
fismat.
To Iof fho Inuf momborshI funcfIons, fyo
[x,mf] = plotmf(fismat,'input',1);
subplot(2,1,1), plot(x,mf);
xlabel('Membership Functions for input 1');
[x,mf] = plotmf(fismat,'input',2);
subplot(2,1,2), plot(x,mf);
xlabel('Membership Functions for input 2');
>;>L
genfis2
Tho foIIowIng oxnmIo nssumos fho combInod dnfn dImonsIon Is 3.
Suoso Xin hns fwo coIumns nnd Xout hns ono coIumn, fhon 0.5 nnd
0.25 nro fho rnngos of InfIuonco for onch of fho Xin dnfn dImonsIons, nnd
0.3 Is fho rnngo of InfIuonco for fho Xout dnfn dImonsIon.
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,[0.5 0.25 0.3])
>;>M
genfis2
Tho foIIowIng oxnmIo socIfIos how fo normnIIzo fho dnfn In Xin nnd
Xout Info vnIuos In fho rnngo |0 l] for rocossIng. Suoso Xin hns fwo
coIumns nnd Xout hns ono coIumn, fhon fho dnfn In fho fIrsf coIumn of
Xin nro scnIod from |-l0 +l0], fho dnfn In fho socond coIumn of Xin nro
scnIod from |-5 +5], nnd fho dnfn In Xout nro scnIod from |0 20].
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fismat = genfis2(Xin,Xout,0.5,[-10 -5 0; 10 5 20])
See Also subclust | genfis1 | genfis3 | anfis
>;>E
genfis3
Purpose Conornfo Iuzzy Inforonco Sysfom sfrucfuro from dnfn usIng ICM
cIusforIng
Syntax fismat = genfis3(Xin,Xout)
fismat = genfis3(Xin,Xout,type)
fismat = genfis3(Xin,Xout,type,cluster_n)
fismat = genfis3(Xin,Xout,type,cluster_n,fcmoptions)
Description genfis3 gonornfos n IIS usIng fuzzy c-monns (ICM) cIusforIng by
oxfrncfIng n sof of ruIos fhnf modoIs fho dnfn bohnvIor. Tho funcfIon
roquIros sonrnfo sofs of Inuf nnd oufuf dnfn ns Inuf nrgumonfs.
Whon fhoro Is onIy ono oufuf, you cnn uso genfis3 fo gonornfo nn
InIfInI IIS for anfis frnInIng. Tho ruIo oxfrncfIon mofhod fIrsf usos
fho fcm funcfIon fo doformIno fho numbor of ruIos nnd momborshI
funcfIons for fho nnfocodonfs nnd consoquonfs.
fismat = genfis3(Xin,Xout) gonornfos n Sugono-fyo IIS sfrucfuro
(fismat) gIvon Inuf dnfn Xin nnd oufuf dnfn Xout. Tho mnfrIcos Xin
nnd Xout hnvo ono coIumn or IIS Inuf nnd oufuf, rosocfIvoIy.
fismat = genfis3(Xin,Xout,type) gonornfos n IIS sfrucfuro of fho
socIfIod type, whoro type Is oIfhor 'mamdani' or 'sugeno'.
fismat = genfis3(Xin,Xout,type,cluster_n) gonornfos n IIS
sfrucfuro of fho socIfIod type nnd nIIows you fo socIfy fho numbor of
cIusfors (cluster_n) fo bo gonornfod by ICM.
Tho numbor of cIusfors doformInos fho numbor of ruIos nnd momborshI
funcfIons In fho gonornfod IIS. cluster_n musf bo nn Infogor or
'auto'. Whon cluster_n Is 'auto', fho funcfIon usos fho subclust
nIgorIfhm wIfh n radii of 0.5 nnd fho mInImum nnd mnxImum vnIuos of
Xin nnd Xout ns xBounds fo fInd fho numbor of cIusfors. Soo subclust
for moro InformnfIon.
fismat = genfis3(Xin,Xout,type,cluster_n,fcmoptions)
gonornfos n IIS sfrucfuro of fho socIfIod type nnd numbor of cIusfors
nnd usos fho socIfIod fcmoptions for fho ICM nIgorIfhm. If you omIf
>;>F
genfis3
fcmoptions, fho funcfIon usos fho dofnuIf ICM vnIuos. Soo fcm for
InformnfIon nbouf fhoso nrnmofors.
Tho Inuf momborshI funcfIon fyo dofnuIfs fo 'gaussmf', nnd fho
oufuf momborshI funcfIon fyo dofnuIfs fo 'linear'.
Tho foIIowIng fnbIo summnrIzos fho dofnuIf Inforonco mofhods.
Inference Method Default
A prod
O! probor
ImIIcnfIon prod
AggrognfIon sum
ofuzzIfIcnfIon wtaver
Examples Tho foIIowIng oxnmIo usos fho genfis3 funcfIon wIfh fho mInImum
numbor of nrgumonfs nnd gonornfos n IIS usIng dofnuIf vnIuos.
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fismat = genfis3(Xin,Xout);
showfis(fismat) dIsInys fho confonfs of onch fIoId of fho sfrucfuro
fismat.
To Iof fho Inuf momborshI funcfIons, fyo
[x,mf] = plotmf(fismat,'input',1);
subplot(2,1,1), plot(x,mf);
xlabel('Membership Functions for input 1');
[x,mf] = plotmf(fismat,'input',2);
subplot(2,1,2), plot(x,mf);
xlabel('Membership Functions for input 2');
>;AG
genfis3
Tho foIIowIng oxnmIo gonornfos n MnmdnnI IIS wIfh fhroo cIusfors.
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fismat = genfis3(Xin,Xout,'mamdani',3)
>;A:
genfis3
Tho foIIowIng oxnmIo socIfIos fho fyo of IIS, fho numbor of dosIrod
cIusfors nnd ICM ofIons.
Xin1 = 7*rand(50,1);
Xin2 = 20*rand(50,1)-10;
Xin = [Xin1 Xin2];
Xout = 5*rand(50,1);
fis = genfis3(Xin,Xout,'mamdani',3,[2,100,1e-5,1])
See Also anfis | fcm | genfis1 | genfis2
>;A<
gensurf
Purpose Conornfo Iuzzy Inforonco Sysfom oufuf surfnco
Syntax gensurf(fis)
gensurf(fis,inputs,output)
gensurf(fis,inputs,output,grids)
gensurf(fis,inputs,output,grids,refinput)
gensurf(fis,inputs,output,grids,refinput,numofpoints)
[x,y,z]=gensurf(...)
Description gensurf(fis) gonornfos n Iof of fho oufuf surfnco of n gIvon fuzzy
Inforonco sysfom (fis) usIng fho fIrsf fwo Inufs nnd fho fIrsf oufuf.
gensurf(fis,inputs,output) gonornfos n Iof usIng fho Inufs (ono or
fwo) nnd oufuf (onIy ono Is nIIowod) gIvon, rosocfIvoIy, by fho vocfor,
inputs, nnd fho scnInr, output.
gensurf(fis,inputs,output,grids) nIIows you fo socIfy fho numbor
of grIds In fho X (fIrsf, horIzonfnI) nnd Y (socond, vorfIcnI) dIrocfIons.
If grids Is n fwo oIomonf vocfor, you cnn sof fho grIds In fho X nnd Y
dIrocfIons IndoondonfIy.
gensurf(fis,inputs,output,grids,refinput) nIIows you fo socIfy
n roforonco Inuf, nnd cnn bo usod If fhoro nro moro fhnn fwo oufufs.
Tho Iongfh of fho vocfor refinput Is fho snmo ns fho numbor of Inufs:
Infor NaNs for fho onfrIos of refinput corrosondIng fo fho Inufs
whoso surfnco Is boIng dIsInyod.
Infor ronI doubIo scnInrs fo fIx fho vnIuos of ofhor Inufs.
gensurf(fis,inputs,output,grids,refinput,numofpoints) nIIows
you fo socIfy fho numbor of snmIo oInfs on whIch fo ovnIunfo fho
momborshI funcfIons In fho Inuf or oufuf rnngo. If numofpoints Is
nof socIfIod, n dofnuIf vnIuo of l0l Is usod.
[x,y,z]=gensurf(...) rofurns fho vnrInbIos fhnf dofIno fho oufuf
surfnco nnd surossos nufomnfIc IoffIng.
Examples a = readfis('tipper');
gensurf(a)
>;A>
gensurf
0
2
4
6
8
10
0
2
4
6
8
10
5
10
15
20
25
service
food
t
i
p
a = gensurf(Temp,[1 2],1,[20 20],[nan nan 0.2]);
ThIs oqunfIon gonornfos fho surfnco of n fhroo-Inuf IIS nnmod Temp
from Ifs fIrsf fwo Inufs fo Ifs fIrsf oufuf, whIIo fIxIng n roforonco vnIuo
for fho fhIrd Inuf nf .2.
See Also evalfis | surfview
>;AA
getfis
Purpose Cof fuzzy sysfom roorfIos
Syntax getfis(a)
getfis(a,'fisprop')
getfis(a, 'vartype', varindex)
getfis(a,'vartype',varindex,'varprop')
getfis(a,'vartype',varindex,'mf',mfindex)
getfis(a,'vartype',varindex,'mf',mfindex,'mfprop')
Description ThIs funcfIon rovIdos fho fundnmonfnI nccoss for fho IIS sfrucfuro.
WIfh fhIs ono funcfIon you cnn Ionrn nbouf ovory nrf of fho fuzzy
Inforonco sysfom.
Tho nrgumonfs for getfis nro ns foIIows:
a: fho nnmo of n worksnco vnrInbIo IIS sfrucfuro.
'fisprop': n sfrIng IndIcnfIng fho fIoId you wnnf fo nccoss. IossIbIo
fIoIds IncIudo:
'name'
'type'
'numinputs'
'numoutputs'
'numinputmfs'
'numoutputmfs'
'numrules'
'andmethod'
'ormethod'
>;AD
getfis
'impmethod'
'aggmethod'
'defuzzmethod'
'inlabels'
'outlabels'
'inrange'
'outrange'
'inmfs'
'outmfs'
'inmflabels'
'outmflabels'
'inmftypes'
'outmftypes'
'inmfparams'
'outmfparams'
'rulelist'
'Name' or 'NumInputs'.
'vartype': n sfrIng IndIcnfIng fho fyo of vnrInbIo you wnnf (oIfhor
input or output).
varindex: nn Infogor IndIcnfIng fho Indox of fho vnrInbIo you wnnf
(l, for Inuf l, for oxnmIo).
'varprop': n sfrIng IndIcnfIng fho vnrInbIo roorfy you wnnf.
IossIbIo sfrIngs nro name, range, nummfs, nnd mflabels. Soo fho
oxnmIos for snmIo sfrIng nnmos.
'mf': n roquIrod sfrIng fhnf IndIcnfos you nro sonrchIng for
momborshI funcfIon InformnfIon.
>;AL
getfis
mfindex: fho Indox of fho momborshI funcfIon for whIch you nro
sookIng InformnfIon.
'mfprop': n sfrIng IndIcnfIng vnIuos for momborshI funcfIon
roorfIos. IossIbIo sfrIngs nroname, type, nnd params.
You cnn nIso nccoss fuzzy sysfom roorfIos dIrocfIy usIng MAT!AI
synfnx for sfrucfuros (IncIudIng dof nofnfIon). Soo fho oxnmIos fhnf
foIIow.
Examples Ono Inuf nrgumonf (output Is fho omfy sof)
a = readfis('tipper');
getfis(a)
Name = tipper
Type = mamdani
NumInputs = 2
InLabels =
service
food
NumOutputs = 1
OutLabels =
tip
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroid
Two Inuf nrgumonfs
getfis(a,'type')
ans =
mamdani
or
a.type
>;AM
getfis
ans =
mamdani
Throo Inuf nrgumonfs (output Is fho omfy sof)
getfis(a,'input',1)
Name = service
NumMFs = 3
MFLabels =
poor
good
excellent
Range = [0 10]
or
a.input(1)
ans =
name: 'service'
range: [0 10]
mf: [1x3 struct]
Iour Inuf nrgumonfs
getfis(a,'input',1,'name')
ans =
service
or
a.input(1).name
ans =
service
IIvo Inuf nrgumonfs
getfis(a,'input',1,'mf',2)
Name = good
>;AE
getfis
Type = gaussmf
Params =
1.5000 5.0000
or
a.input(1).mf(2)
ans =
name: 'good'
type: 'gaussmf'
params: [1.5000 5]
SIx Inuf nrgumonfs
getfis(a,'input',1,'mf',2,'name')
ans =
good
or
a.input(1).mf(2).name
ans =
good
See Also setfis | showfis
>;AF
mam2sug
Purpose Trnnsform MnmdnnI Iuzzy Inforonco Sysfom Info Sugono Iuzzy
Inforonco Sysfom
Syntax sug_fis=mam2sug(mam_fis)
Description mam2sug (mam_fis)frnnsforms n (nof nocossnrIIy n sIngIo oufuf)
MnmdnnI IIS sfrucfuro mam_fis Info n Sugono IIS sfrucfuro sug_fis.
Tho rofurnod Sugono sysfom hns consfnnf oufuf momborshI
funcfIons. Thoso consfnnfs nro doformInod by fho confroIds of fho
consoquonf momborshI funcfIons of fho orIgInnI MnmdnnI sysfom. Tho
nnfocodonf romnIns unchnngod.
Examples mam_fismat = readfis('mam22.fis');
sug_fismat = mam2sug(mam_fismat);
subplot(2,2,1); gensurf(mam_fismat, [1 2], 1);
title('Mamdani system (Output 1)');
subplot(2,2,2); gensurf(sug_fismat, [1 2], 1);
title('Sugeno system (Output 1)');
subplot(2,2,3); gensurf(mam_fismat, [1 2],2);
title('Mamdani system (Output 2)');
subplot(2,2,4); gensurf(sug_fismat, [1 2],2);
title('Sugeno system (Output 2)');
>;DG
mf2mf
Purpose TrnnsInfo nrnmofors bofwoon momborshI funcfIons
Syntax outParams = mf2mf(inParams,inType,outType)
Description ThIs funcfIon frnnsInfos nny buIIf-In momborshI funcfIon fyo Info
nnofhor, In forms of Ifs nrnmofor sof. In rIncIIo, mf2mf mImIcs fho
symmofry oInfs for bofh fho now nnd oId momborshI funcfIons.
Caution
OccnsIonnIIy fhIs frnnsInfIon rosuIfs In Iosf InformnfIon, so fhnf If fho
oufuf nrnmofors nro frnnsInfod bnck Info fho orIgInnI momborshI
funcfIon fyo, fho frnnsformod momborshI funcfIon doos nof Iook fho
snmo ns If dId orIgInnIIy.
Tho Inuf nrgumonfs for mf2mf nro ns foIIows:
inParams: fho nrnmofors of fho momborshI funcfIon you nro
frnnsformIng
inType: n sfrIng nnmo for fho fyo of momborshI funcfIon you nro
frnnsformIng
outType: n sfrIng nnmo for fho now momborshI funcfIon you nro
frnnsformIng fo
Examples x=0:0.1:5;
mfp1 = [1 2 3];
mfp2 = mf2mf(mfp1,'gbellmf','trimf');
plot(x,gbellmf(x,mfp1),x,trimf(x,mfp2))
>;D:
mf2mf
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | pimf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;D<
mfedit
Purpose Oon MomborshI IuncfIon IdIfor
Syntax mfedit('a')
mfedit(a)
mfedit
Description
mfedit('a') gonornfos n momborshI funcfIon odIfor fhnf nIIows you fo
Insocf nnd modIfy nII fho momborshI funcfIons for your IIS sforod In
fho fIIo, a.fis.
mfedit(a) oornfos on n MAT!AI worksnco vnrInbIo, for n IIS
sfrucfuro, a.
mfedit nIono oons fho momborshI funcfIon odIfor wIfh no IIS Iondod.
Ior onch momborshI funcfIon you cnn chnngo fho nnmo, fho fyo, nnd
fho nrnmofors. IIovon buIIf-In momborshI funcfIons nro rovIdod for
you fo chooso from, nIfhough of courso you cnn nIwnys cronfo your own
>;D>
mfedit
socInIIzod vorsIons. !ofor fo Tho MomborshI IuncfIon IdIfor on
ngo 2-43 for moro InformnfIon nbouf how fo uso mfedit.
SoIocf fho Icon for fho vnrInbIo on fho uor Ioff sIdo of fho dIngrnm
(undor +=' \()$(43"8) fo dIsIny Ifs nssocInfod momborshI funcfIons
In fho Iof rogIon. SoIocf momborshI funcfIons by cIIckIng onco on
fhom or fhoIr InboIs.
Menu
Items
On fho MomborshI IuncfIon IdIfor, fhoro Is n monu bnr fhnf nIIows
you fo oon roInfod C!I fooIs, oon nnd snvo sysfoms, nnd so on. Tho
+$3" monu for fho MomborshI IuncfIon IdIfor Is fho snmo ns fho ono
found on fho IIS IdIfor. !ofor fo Tho MomborshI IuncfIon IdIfor on
ngo 2-43 for moro InformnfIon.
!ndor Y*$#, soIocf:
?%*0 fo undo fho mosf roconf chnngo.
X** P+8 fo ndd momborshI funcfIons fo fho curronf vnrInbIo.
X** O,8#0N P+ fo ndd n cusfomIzod momborshI funcfIon fo fho
curronf vnrInbIo.
["N0H" '"3"1#"* P+ fo doIofo fho curronf momborshI funcfIon.
["N0H" X33 P+8 fo doIofo nII momborshI funcfIons of fho curronf
vnrInbIo.
+=' 9)09")#$"8 fo Invoko fho IIS IdIfor.
[,3"8 fo Invoko fho !uIo IdIfor.
!ndor \$"W, soIocf:
[,3"8 fo Invoko fho !uIo VIowor.
',)K(1" fo Invoko fho Surfnco VIowor.
Membership
Function
Pop-up
Menu
Thoro nro ll buIIf-In momborshI funcfIons fo chooso from, nnd you nIso
hnvo fho ofIon of InsfnIIIng n cusfomIzod momborshI funcfIon.
>;DA
mfedit
See Also fuzzy | ruleedit | ruleview | surfview
>;DD
newfis
Purpose Cronfo now Iuzzy Inforonco Sysfom
Syntax a = newfis(fisName,fisType,andMethod,orMethod,impMethod,aggMethod,defuzzM
Description ThIs funcfIon cronfos now IIS sfrucfuros. newfis hns u fo sovon Inuf
nrgumonfs, nnd fho oufuf nrgumonf Is n IIS sfrucfuro. Tho sovon
Inuf nrgumonfs nro ns foIIows:
fisName Is fho sfrIng nnmo of fho IIS sfrucfuro, fisName.fis you
cronfo.
fisType Is fho fyo of IIS.
andMethod, orMethod, impMethod, aggMethod, nnd defuzzMethod,
rosocfIvoIy, rovIdo fho mofhods for A, O!, ImIIcnfIon,
nggrognfIon, nnd dofuzzIfIcnfIon.
Examples Tho foIIowIng oxnmIo shows whnf fho dofnuIfs nro for onch of fho
mofhods.
a=newfis('newsys');
getfis(a)
rofurns
Name = newsys
Type = mamdani
NumInputs = 0
InLabels =
NumOutputs = 0
OutLabels =
NumRules 0
AndMethod min
OrMethod max
ImpMethod min
AggMethod max
DefuzzMethod centroid
ans =
>;DL
newfis
[newsys]
See Also readfis | writefis
>;DM
parsrule
Purpose Inrso fuzzy ruIos
Syntax fis2 = parsrule(fis,txtRuleList)
fis2 = parsrule(fis,txtRuleList,ruleFormat)
fis2 = parsrule(fis,txtRuleList,ruleFormat,lang)
Description ThIs funcfIon nrsos fho foxf fhnf dofInos fho ruIos (txtRuleList) for
n MAT!AI worksnco IIS vnrInbIo, fis, nnd rofurns n IIS sfrucfuro
wIfh fho nrorInfo ruIo IIsf In Inco. If fho orIgInnI Inuf IIS
sfrucfuro, fis, hns nny ruIos InIfInIIy, fhoy nro roIncod In fho now
sfrucfuro, fis2.
Throo dIfforonf ruIo formnfs (IndIcnfod by ruleFormat) nro suorfod:
'verbose', 'symbolic', nnd 'indexed'. Tho dofnuIf formnf Is
'verbose'. Whon fho ofIonnI Inngungo nrgumonf, lang, Is usod, fho
ruIos nro nrsod In vorboso modo, nssumIng fho koy words nro In fho
Inngungo, lang. ThIs Inngungo musf bo oIfhor `'english', 'francais',
or 'deutsch'. Tho koy Inngungo words In IngIIsh nro If, fhon, Is, A,
O!, nnd OT.
Examples a = readfis('tipper');
ruleTxt = 'if service is poor then tip is generous';
a2 = parsrule(a,ruleTxt,'verbose');
showrule(a2)
ans =
1. If (service is poor) then (tip is generous) (1)
See Also addrule | ruleedit | showrule
>;DE
pimf
Purpose -shnod momborshI funcfIon
Syntax y = pimf(x,[a b c d])
Description ThIs sIIno-bnsod curvo Is so nnmod bocnuso of Ifs shno. Tho
momborshI funcfIon Is ovnIunfod nf fho oInfs doformInod by fho
vocfor x. Tho nrnmofors = nnd 5 Iocnfo fho "foof" of fho curvo, whIIo ,
nnd ) Iocnfo Ifs "shouIdors." Tho momborshI funcfIon Is n roducf of
smf nnd zmf momborshI funcfIons, nnd Is gIvon by:
f x a b c d
x a
x a
b a
a x
a b
x b
b a
( ; , , , )
,
,
-
,
=

j
(
,
\
,
(

+


j
(
,
\
,
(
0
2
2
2
1 2
2
aa b
x b
b x c
x c
d c
c x
c d
x d
d c
+

j
(
,
\
,
(

+

j
(
,
\
2
1
1 2
2
,
,
-
2

2
,,
(
+

2


,
,
c d
x d
x d
2
0

Examples x=0:0.1:10;
y=pimf(x,[1 4 5 10]);
plot(x,y)
xlabel('pimf, P=[1 4 5 10]')
>;DF
pimf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
pimf, P = [1 4 5 10]
See Also dsigmf | evalmf | gauss2mf | gaussmf | gbellmf | mf2mf | psigmf |
sigmf | smf | trapmf | trimf | zmf
>;LG
plotfis
Purpose IIof Iuzzy Inforonco Sysfom
Syntax plotfis(fismat)
Description ThIs funcfIon dIsInys n hIgh IovoI dIngrnm of n IIS, fismat. Inufs
nnd fhoIr momborshI funcfIons nonr fo fho Ioff of fho IIS sfrucfurnI
chnrncforIsfIcs, whIIo oufufs nnd fhoIr momborshI funcfIons nonr
on fho rIghf.
Examples a = readfis('tipper');
plotfis(a)
See Also evalmf | plotmf
>;L:
plotmf
Purpose IIof nII momborshI funcfIons for gIvon vnrInbIo
Syntax plotmf(fismat,varType,varIndex)
Description ThIs funcfIon Iofs nII of fho momborshI funcfIons In fho IIS cnIIod
fismat nssocInfod wIfh n gIvon vnrInbIo whoso fyo nnd Indox nro
rosocfIvoIy gIvon by varType (musf bo 'input' or 'output'), nnd
varIndex. ThIs funcfIon cnn nIso bo usod wIfh fho MAT!AI funcfIon,
subplot.
Examples a = readfis('tipper');
plotmf(a,'input',1)
See Also evalmf | plotfis
>;L<
probor
Purpose IrobnbIIIsfIc O!
Syntax y = probor(x)
Description y = probor(x) rofurns fho robnbIIIsfIc O! (nIso known ns fho
=+'1,2=() 0":) of fho coIumns of x. If x hns fwo rows such fhnf x = [a;
b], fhon y = a + b - ab. If x hns onIy ono row, fhon y = x.
Examples x = (0:0.1:10);
figure('Name','Probabilistic OR','NumberTitle','off');
y1 = gaussmf(x, [0.5 4]);
y2 = gaussmf(x, [2 7]);
yy = probor([y1; y2]);
plot(x,[y1; y2; yy])
>;L>
psigmf
Purpose Iroducf of fwo sIgmoIdnI momborshI funcfIons
Syntax y = psigmf(x,[a1 c1 a2 c2])
Description Tho sIgmoId curvo Ioffod for fho vocfor x doonds on fwo nrnmofors
= nnd ) ns gIvon by
f x a c
e
a x c
( ; , )
( )
=
+

1
1
psigmf Is sImIy fho roducf of fwo such curvos Ioffod for fho vnIuos
of fho vocfor x
9
l
(-; =
l
, )
l
) 9
2
(-; =
2
, )
2
)
Tho nrnmofors nro IIsfod In fho ordor |=
l
)
l
=
2
)
2
].
Examples x=0:0.1:10;
y=psigmf(x,[2 3 -5 8]);
plot(x,y)
xlabel('psigmf, P=[2 3 -5 8]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
psigmf, P = [2 3 !5 8]
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
sigmf | smf | trapmf | trimf | zmf
>;LA
readfis
Purpose !ond Iuzzy Inforonco Sysfom from fIIo
Syntax fismat = readfis('filename')
fismat = readfis
Description fismat = readfis('filename') ronds n fuzzy Inforonco sysfom from
n fIIo nnd Imorfs fho rosuIfIng fIIo Info fho worksnco. Tho fIIo musf
bo nnmod filename.fis.
fismat = readfis oons n dInIog box for rofrIovIng fIIos fo soIocf fho
fuzzy Inforonco sysfom fIIo.
Examples fismat = readfis('tipper');
getfis(fismat)
rofurns
Name = tipper
Type = mamdani
NumInputs = 2
InLabels =
service
food
NumOutputs = 1
OutLabels =
tip
NumRules = 3
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroid
ans =
tipper
See Also writefis
>;LD
rmmf
Purpose !omovo momborshI funcfIon from Iuzzy Inforonco Sysfom
Syntax fis = rmmf(fis,'varType',varIndex,'mf',mfIndex)
Description fis = rmmf(fis,varType,varIndex,'mf',mfIndex) romovos fho
momborshI funcfIon, mfIndex, of vnrInbIo fyo varType, of Indox
varIndex, from fho fuzzy Inforonco sysfom nssocInfod wIfh fho
worksnco IIS sfrucfuro, fis:
Tho sfrIng varType musf bo 'input' or 'output'.
varIndex Is nn Infogor for fho Indox of fho vnrInbIo. ThIs Indox
rorosonfs fho ordor In whIch fho vnrInbIos nro IIsfod.
Tho nrgumonf 'mf' Is n sfrIng rorosonfIng fho momborshI funcfIon.
mfIndex Is nn Infogor for fho Indox of fho momborshI funcfIon.
ThIs Indox rorosonfs fho ordor In whIch fho momborshI funcfIons
nro IIsfod.
Examples a = newfis('mysys');
a = addvar(a,'input','temperature',[0 100]);
a = addmf(a,'input',1,'cold','trimf',[0 30 60]);
getfis(a,'input',1)
rofurns
Name = temperature
NumMFs = 1
MFLabels =
cold
Range = [0 100]
b = rmmf(a,'input',1,'mf',1);
getfis(b,'input',1)
rofurns
Name = temperature
NumMFs = 0
>;LL
rmmf
MFLabels =
Range = [0 100]
See Also addmf | addrule | addvar | plotmf | rmvar
>;LM
rmvar
Purpose !omovo vnrInbIos from Iuzzy Inforonco Sysfom
Syntax fis2 = rmvar(fis,'varType',varIndex)
[fis2,errorStr] = rmvar(fis,'varType',varIndex)
Description fis2 = rmvar(fis,'varType',varIndex) romovos fho vnrInbIo
'varType', of Indox varIndex, from fho fuzzy Inforonco sysfom
nssocInfod wIfh fho worksnco IIS sfrucfuro, fis:
Tho sfrIng varType musf bo 'input' or 'output'.
varIndex Is nn Infogor for fho Indox of fho vnrInbIo. ThIs Indox
rorosonfs fho ordor In whIch fho vnrInbIos nro IIsfod.
[fis2,errorStr] = rmvar(fis,'varType',varIndex) rofurns nny
orror mossngos fo fho sfrIng, errorStr.
ThIs commnnd nufomnfIcnIIy nIfors fho ruIo IIsf fo koo Ifs sIzo
consIsfonf wIfh fho curronf numbor of vnrInbIos. You musf doIofo from
fho IIS nny ruIo fhnf confnIns n vnrInbIo you wnnf fo romovo, boforo
romovIng If. You cnnnof romovo n fuzzy vnrInbIo curronfIy In uso In
fho ruIo IIsf.
Examples a = newfis('mysys');
a = addvar(a,'input','temperature',[0 100]);
getfis(a)
rofurns
Name = mysys
Type = mamdani
NumInputs = 1
InLabels =
temperature
NumOutputs = 0
OutLabels =
NumRules = 0
AndMethod = min
>;LE
rmvar
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroid
ans =
mysys
b = rmvar(a,'input',1);
getfis(b)
rofurns
Name = mysys
Type = mamdani
NumInputs = 0
InLabels =
NumOutputs = 0
OutLabels =
NumRules = 0
AndMethod = min
OrMethod = max
ImpMethod = min
AggMethod = max
DefuzzMethod = centroid
ans =
mysys
See Also addmf | addrule | addvar | rmmf
>;LF
ruleedit
Purpose Oon !uIo IdIfor
Syntax ruleedit('a')
ruleedit(a)
Description Tho !uIo IdIfor, whon Invokod usIng ruleedit('a'), Is usod fo modIfy
fho ruIos of n IIS sfrucfuro sforod In n fIIo, a.fis. If cnn nIso bo usod fo
Insocf fho ruIos boIng usod by n fuzzy Inforonco sysfom.
To uso fhIs odIfor fo cronfo ruIos, you musf fIrsf dofIno nII of fho Inuf
nnd oufuf vnrInbIos you wnnf fo uso wIfh fho IIS odIfor. You cnn
cronfo fho ruIos usIng fho IIsfbox nnd chock box choIcos for Inuf nnd
oufuf vnrInbIos, connocfIons, nnd woIghfs. !ofor fo Tho !uIo IdIfor
on ngo 2-52 for moro InformnfIon nbouf how fo uso ruleedit.
Tho synfnx ruleedit(a) Is usod whon you wnnf fo oornfo on n
worksnco vnrInbIo for n IIS sfrucfuro cnIIod a.
Menu
Items
On fho !uIo IdIfor, fhoro Is n monu bnr fhnf nIIows you fo oon roInfod
C!I fooIs, oon nnd snvo sysfoms, nnd so on. Tho +$3" monu for fho
!uIo IdIfor Is fho snmo ns fho ono found on fho IIS IdIfor. !ofor fo
fuzzy for moro InformnfIon:
!so fho foIIowIng Y*$# monu Ifom:
?%*0 fo undo fho mosf roconf chnngo.
+=' 9)09")#$"8 fo Invoko fho IIS IdIfor.
P"N4")8@$9 K,%1#$0%8 fo Invoko fho MomborshI IuncfIon IdIfor.
!so fho foIIowIng \$"W monu Ifoms:
[,3"8 fo Invoko fho !uIo VIowor.
',)K(1" fo Invoko fho Surfnco VIowor.
!so fho V9#$0%8 monu Ifoms:
/(%&,(&" fo soIocf fho Inngungo: Y%&3$8@, 7",#81@, nnd +)(%1($8
>;MG
ruleedit
+0)N(# fo soIocf fho formnf:
\")408" usos fho words "If," "fhon," "A," "O!," nnd so on fo cronfo
ncfunI sonfoncos.
'.N403$1 subsfIfufos somo symboIs for fho words usod In fho vorboso
modo. Ior oxnmIo, If K A L fhon 6 bocomos K L => 6.
=%*"5"* mIrrors how fho ruIo Is sforod In fho IIS sfrucfuro.
See Also addrule | fuzzy | mfedit | parsrule | ruleview | showrule |
surfview
>;M:
ruleview
Purpose Oon !uIo VIowor
Syntax ruleview('a')
Description
Tho !uIo VIowor Invokod usIng ruleview('a') doIcfs fho fuzzy
Inforonco dIngrnm for n IIS sforod In n fIIo, a.fis. If Is usod fo vIow
fho onfIro ImIIcnfIon rocoss from bogInnIng fo ond. You cnn movo
nround fho IIno IndIcos fhnf corrosond fo fho Inufs nnd fhon wnfch
fho sysfom rondjusf nnd comufo fho now oufuf. !ofor fo Tho !uIo
VIowor on ngo 2-56 for moro InformnfIon nbouf how fo uso ruleview.
Menu
Items
On fho !uIo VIowor, fhoro Is n monu bnr fhnf nIIows you fo oon roInfod
C!I fooIs, oon nnd snvo sysfoms, nnd so on. Tho +$3" monu for fho
!uIo VIowor Is fho snmo ns fho ono found on fho IIS IdIfor. !ofor fo
fuzzy for moro InformnfIon.
!so fho Y*$# monu Ifoms:
?%*0 fo undo fho mosf roconf ncfIon
+=' 9)09")#$"8 fo Invoko fho IIS IdIfor
>;M<
ruleview
P"N4")8@$9 K,%1#$0%8 fo Invoko fho MomborshI IuncfIon IdIfor
[,3"8 fo Invoko fho !uIo IdIfor
!so fho \$"W monu Ifom:
',)K(1" fo Invoko fho Surfnco VIowor
!so fho V9#$0%8 monu Ifom:
+0)N(# fo sof fho formnf In whIch fho ruIo nonrs: \")408"c
'.N403$1c or =%*"5"*.
If you cIIck on fho ruIo numbors on fho Ioff sIdo of fho fuzzy Inforonco
dIngrnm, fho ruIo nssocInfod wIfh fhnf numbor nonrs In fho Sfnfus
Inr nf fho boffom of fho !uIo VIowor.
See Also fuzzy | mfedit | ruleedit | surfview
>;M>
setfis
Purpose Sof fuzzy sysfom roorfIos
Syntax a = setfis(a,'fispropname','newfisprop')
a = setfis(a,'vartype',varindex,'varpropname',newvarprop)
a =
setfis(a,'vartype',varindex,'mf',mfindex,...,'mfpropname',newmfprop)
Description Tho commnnd setfis cnn bo cnIIod wIfh fhroo, fIvo, or sovon Inuf
nrgumonfs, doondIng on whofhor you wnnf fo sof n roorfy of fho
onfIro IIS sfrucfuro, for n nrfIcuInr vnrInbIo boIongIng fo fhnf IIS
sfrucfuro, or for n nrfIcuInr momborshI funcfIon boIongIng fo ono of
fhoso vnrInbIos. Tho nrgumonfs nro:
a n vnrInbIo nnmo of n IIS from fho worksnco
'vartype' n sfrIng IndIcnfIng fho vnrInbIo fyo: input or output
varindex fho Indox of fho Inuf or oufuf vnrInbIo
'mf' n roquIrod sfrIng for fho fourfh nrgumonf of n
sovon-nrgumonf cnII for setfis, IndIcnfIng fhIs vnrInbIo Is n
momborshI funcfIon
mfindex fho Indox of fho momborshI funcfIon boIongIng fo fho
choson vnrInbIo
'fispropname' n sfrIng IndIcnfIng fho roorfy of fho IIS fIoId
you wnnf fo sof: name, type, andmethod, ormethod, impmethod,
aggmethod, defuzzmethod
'newfisprop' n sfrIng doscrIbIng fho nnmo of fho IIS roorfy or
mofhod you wnnf fo sof
'varpropname' n sfrIng IndIcnfIng fho nnmo of fho vnrInbIo fIoId
you wnnf fo sof: name or range
newvarprop n sfrIng doscrIbIng fho nnmo of fho vnrInbIo you wnnf
fo sof (for name), or nn nrrny doscrIbIng fho rnngo of fhnf vnrInbIo
(for range)
>;MA
setfis
`mfpropname` n sfrIng IndIcnfIng fho nnmo of fho momborshI
funcfIon fIoId you wnnf fo sof: name, type, or params.
`newmfprop` n sfrIng doscrIbIng fho nnmo or fyo of fho
momborshI funcfIon fIoId wnnf fo sof (for name or type), or nn nrrny
doscrIbIng fho rnngo of fho nrnmofors (for params)
Examples setfis Is cnIIod wIfh fhroo nrgumonfs:
a = readfis('tipper');
a2 = setfis(a, 'name', 'eating');
getfis(a2, 'name');
whIch rosuIfs In
out =
eating
If If Is usod wIfh fIvo nrgumonfs, setfis udnfos fwo vnrInbIo
roorfIos.
a2 = setfis(a,'input',1,'name','help');
getfis(a2,'input',1,'name')
ans =
help
If usod wIfh sovon nrgumonfs, setfis udnfos nny of sovornI
momborshI funcfIon roorfIos.
a2 = setfis(a,'input',1,'mf',2,'name','wretched');
getfis(a2,'input',1,'mf',2,'name')
ans =
wretched
See Also getfis
>;MD
showfis
Purpose IsIny nnnofnfod Iuzzy Inforonco Sysfom
Syntax showfis(fismat)
Description showfis(fismat) rInfs n vorsIon of fho MAT!AI worksnco vnrInbIo
IIS, fismat, nIIowIng you fo soo fho sIgnIfIcnnco nnd confonfs of onch
fIoId of fho sfrucfuro.
Examples a = readfis('tipper');
showfis(a)
!ofurns:
1. Name tipper
2. Type mamdani
3. Inputs/Outputs [2 1]
4. NumInputMFs [3 2]
5. NumOutputMFs 3
6. NumRules 3
7. AndMethod min
8. OrMethod max
9. ImpMethod min
10. AggMethod max
11. DefuzzMethod centroid
12. InLabels service
13. food
14. OutLabels tip
15. InRange [0 10]
16. [0 10]
17. OutRange [0 30]
18. InMFLabels poor
19. good
20. excellent
21. rancid
22. delicious
23. OutMFLabels cheap
>;ML
showfis
24. average
25. generous
26. InMFTypes gaussmf
27. gaussmf
28. gaussmf
29. trapmf
30. trapmf
31. OutMFTypes trimf
32. trimf
33. trimf
34. InMFParams [1.5 0 0 0]
35. [1.5 5 0 0]
36. [1.5 10 0 0]
37. [0 0 1 3]
38. [7 9 10 10]
39. OutMFParams [0 5 10 0]
40. [10 15 20 0]
41. [20 25 30 0]
42. Rule Antecedent [1 1]
43. [2 0]
44. [3 2]
42. Rule Consequent 1
43. 2
44. 3
42. Rule Weight 1
43. 1
44. 1
42. Rule Connection 2
43. 1
44. 2
See Also getfis
>;MM
showrule
Purpose IsIny Iuzzy Inforonco Sysfom ruIos
Syntax showrule(fis)
showrule(fis,indexList)
showrule(fis,indexList,format)
showrule(fis,indexList,format,Lang)
Description ThIs commnnd Is usod fo dIsIny fho ruIos nssocInfod wIfh n gIvon
sysfom. If cnn bo Invokod wIfh ono fo four nrgumonfs. Tho fIrsf
nrgumonf, fis, Is roquIrod. ThIs nrgumonf Is fho MAT!AI worksnco
vnrInbIo nnmo for n IIS sfrucfuro. Tho socond (ofIonnI) nrgumonf
indexList Is fho vocfor of ruIos you wnnf fo dIsIny. Tho fhIrd
nrgumonf (ofIonnI) Is fho sfrIng rorosonfIng fho formnf In whIch
fho ruIos nro rofurnod. showrule cnn rofurn fho ruIo In nny of fhroo
dIfforonf formnfs: 'verbose' (fho dofnuIf modo, for whIch IngIIsh Is
fho dofnuIf Inngungo), 'symbolic', nnd 'indexed', for momborshI
funcfIon Indox roforoncIng.
Whon usod wIfh four nrgumonfs, fho forfh nrgumonf musf bo verbose,
nnd showrule(fis,indexList,format,Lang) dIsInys fho ruIos In fho
Inngungo gIvon by lang, whIch musf bo oIfhor 'english', 'francais',
or 'deutsch'.
Examples a = readfis('tipper');
showrule(a,1)
ans =
1. If (service is poor) or (food is rancid)
then (tip is cheap) (1)
showrule(a,2)
ans =
2. If (service is good) then (tip is average) (1)
showrule(a,[3 1],'symbolic')
>;ME
showrule
ans =
3. (service==excellent) | (food==delicious) =>
(tip=generous) (1)
1. (service==poor) | (food==rancid) => (tip=cheap) (1)
showrule(a,1:3,'indexed')
ans =
1 1, 1 (1) : 2
2 0, 2 (1) : 1
3 2, 3 (1) : 2
See Also addrule | parsrule | ruleedit
>;MF
sigmf
Purpose SIgmoIdnI momborshI funcfIon
Syntax y = sigmf(x,[a c])
Description Tho sIgmoIdnI funcfIon, sigmf(x,[a c]), ns gIvon In fho foIIowIng
oqunfIon by 9(-?=?)) Is n mnIng on n vocfor x, nnd doonds on fwo
nrnmofors = nnd ).
f x a c
e
a x c
, , ( ) =
+
( )
1
1
oondIng on fho sIgn of fho nrnmofor =, fho sIgmoIdnI momborshI
funcfIon Is InhoronfIy oon fo fho rIghf or fo fho Ioff, nnd fhus Is
nrorInfo for rorosonfIng concofs such ns vory Inrgo or vory
nognfIvo. Moro convonfIonnI-IookIng momborshI funcfIons cnn bo buIIf
by fnkIng oIfhor fho roducf or dIfforonco of fwo dIfforonf sIgmoIdnI
momborshI funcfIons. Ior moro InformnfIon soodsigmf nnd psigmf.
Examples x=0:0.1:10;
y=sigmf(x,[2 4]);
plot(x,y)
xlabel('sigmf, P=[2 4]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
sigmf, P = [2 4]
>;EG
sigmf
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trapmf | trimf | zmf
>;E:
smf
Purpose S-shnod momborshI funcfIon
Syntax y = smf(x,[a b])
Description ThIs sIIno-bnsod curvo Is n mnIng on fho vocfor x, nnd Is nnmod
bocnuso of Ifs S-shno. Tho nrnmofors = nnd , Iocnfo fho oxfromos of
fho sIood orfIon of fho curvo, ns gIvon by:
f x a b
x a
x a
b a
a x
a b
x b
b a
a b
( ; , )
,
,
-
-
,
=

j
(
,
\
,
(

+

j
(
,
\
,
(
+
0
2
2
2
2
1 2
2

x b
x b 1,
Examples x=0:0.1:10;
y=smf(x,[1 8]);
plot(x,y)
xlabel('smf, P=[1 8]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
smf, P = [1 8]
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trapmf | trimf | zmf
>;E<
subclust
Purpose IInd cIusfor confors wIfh subfrncfIvo cIusforIng
Syntax [C,S] = subclust(X,radii,xBounds,options)
Description [C,S] = subclust(X,radii,xBounds,options) osfImnfos fho cIusfor
confors In n sof of dnfn by usIng fho subfrncfIvo cIusforIng mofhod.
Tho funcfIon rofurns fho cIusfor confors In fho mnfrIx C. Inch row of C
confnIns fho osIfIon of n cIusfor confor. Tho rofurnod S vocfor confnIns
fho sIgmn vnIuos fhnf socIfy fho rnngo of InfIuonco of n cIusfor confor
In onch of fho dnfn dImonsIons. AII cIusfor confors shnro fho snmo sof
of sIgmn vnIuos.
Tho subfrncfIvo cIusforIng mofhod nssumos onch dnfn oInf Is n
ofonfInI cIusfor confor nnd cnIcuInfos n monsuro of fho IIkoIIhood fhnf
onch dnfn oInf wouId dofIno fho cIusfor confor, bnsod on fho donsIfy of
surroundIng dnfn oInfs. Tho nIgorIfhm doos fho foIIowIng:
SoIocfs fho dnfn oInf wIfh fho hIghosf ofonfInI fo bo fho fIrsf
cIusfor confor
!omovos nII dnfn oInfs In fho vIcInIfy of fho fIrsf cIusfor confor (ns
doformInod by radii), In ordor fo doformIno fho noxf dnfn cIusfor
nnd Ifs confor IocnfIon
Ifornfos on fhIs rocoss unfII nII of fho dnfn Is wIfhIn radii of n
cIusfor confor
Tho subfrncfIvo cIusforIng mofhod Is nn oxfonsIon of fho mounfnIn
cIusforIng mofhod roosod by !. Yngor.
Tho mnfrIx X confnIns fho dnfn fo bo cIusforod; onch row of X Is n
dnfn oInf. Tho vnrInbIo radii Is n vocfor of onfrIos bofwoon 0 nnd l
fhnf socIfIos n cIusfor confor`s rnngo of InfIuonco In onch of fho dnfn
dImonsIons, nssumIng fho dnfn fnIIs wIfhIn n unIf hyorbox. SmnII
radii vnIuos gonornIIy rosuIf In fIndIng n fow Inrgo cIusfors. Tho bosf
vnIuos for radii nro usunIIy bofwoon 0.2 nnd 0.5.
Ior oxnmIo, If fho dnfn dImonsIon Is fwo (X hns fwo coIumns),
radii=|0.5 0.25] socIfIos fhnf fho rnngo of InfIuonco In fho fIrsf dnfn
dImonsIon Is hnIf fho wIdfh of fho dnfn snco nnd fho rnngo of InfIuonco
>;E>
subclust
In fho socond dnfn dImonsIon Is ono qunrfor fho wIdfh of fho dnfn
snco. If radii Is n scnInr, fhon fho scnInr vnIuo Is nIIod fo nII dnfn
dImonsIons, I.o., onch cIusfor confor hns n shorIcnI noIghborhood of
InfIuonco wIfh fho gIvon rndIus.
xBounds Is n 2-by- mnfrIx fhnf socIfIos how fo mn fho dnfn In X
Info n unIf hyorbox, whoro Is fho dnfn dImonsIon. ThIs nrgumonf Is
ofIonnI If X Is nIrondy normnIIzod. Tho fIrsf row confnIns fho mInImum
nxIs rnngo vnIuos nnd fho socond row confnIns fho mnxImum nxIs rnngo
vnIuos for scnIIng fho dnfn In onch dImonsIon.
Ior oxnmIo, xBounds = |-l0 -5; l0 5] socIfIos fhnf dnfn vnIuos In fho
fIrsf dnfn dImonsIon nro fo bo scnIod from fho rnngo |-l0 +l0] Info
vnIuos In fho rnngo |0 l]; dnfn vnIuos In fho socond dnfn dImonsIon nro
fo bo scnIod from fho rnngo |-5 +5] Info vnIuos In fho rnngo |0 l]. If
xBounds Is nn omfy mnfrIx or nof rovIdod, fhon xBounds dofnuIfs fo
fho mInImum nnd mnxImum dnfn vnIuos found In onch dnfn dImonsIon.
Tho options vocfor cnn bo usod for socIfyIng cIusforIng nIgorIfhm
nrnmofors fo ovorrIdo fho dofnuIf vnIuos. Thoso comononfs of fho
vocfor options nro socIfIod ns foIIows:
options(1) = quashFactor: ThIs fncfor Is usod fo muIfIIy fho rndII
vnIuos fhnf doformIno fho noIghborhood of n cIusfor confor, so ns fo
qunsh fho ofonfInI for oufIyIng oInfs fo bo consIdorod ns nrf of
fhnf cIusfor. (dofnuIf: l.25)
options(2) = acceptRatio: ThIs fncfor sofs fho ofonfInI, ns
n frncfIon of fho ofonfInI of fho fIrsf cIusfor confor, nbovo whIch
nnofhor dnfn oInf Is nccofod ns n cIusfor confor. (dofnuIf: 0.5)
options(3) = rejectRatio: ThIs fncfor sofs fho ofonfInI, ns n
frncfIon of fho ofonfInI of fho fIrsf cIusfor confor, boIow whIch n dnfn
oInf Is rojocfod ns n cIusfor confor. (dofnuIf: 0.l5)
options(4) = verbose: If fhIs form Is nof zoro, fhon rogross
InformnfIon Is rInfod ns fho cIusforIng rocoss rocoods. (dofnuIf: 0)
Examples [C,S] = subclust(X,0.5)
>;EA
subclust
ThIs commnnd sofs fho mInImum numbor of nrgumonfs noodod fo uso
fhIs funcfIon. A rnngo of InfIuonco of 0.5 hns boon socIfIod for nII dnfn
dImonsIons.
[C,S] = subclust(X,[0.5 0.25 0.3],[],[2.0 0.8 0.7])
ThIs commnnd nssumos fho dnfn dImonsIon Is 3 (X hns 3 coIumns) nnd
usos n rnngo of InfIuonco of 0.5, 0.25, nnd 0.3 for fho fIrsf, socond, nnd
fhIrd dnfn dImonsIon, rosocfIvoIy. Tho scnIIng fncfors for mnIng
fho dnfn Info n unIf hyorbox nro obfnInod from fho mInImum nnd
mnxImum dnfn vnIuos. Tho squashFactor Is sof fo 2.0, IndIcnfIng
fhnf you onIy wnnf fo fInd cIusfors fhnf nro fnr from onch ofhor. Tho
acceptRatio Is sof fo 0.8, IndIcnfIng fhnf onIy dnfn oInfs fhnf hnvo
n vory sfrong ofonfInI for boIng cIusfor confors nro nccofod. Tho
rejectRatio Is sof fo 0.?, IndIcnfIng fhnf you wnnf fo rojocf nII dnfn
oInfs wIfhouf n sfrong ofonfInI.
References ChIu, S., "Iuzzy ModoI IdonfIfIcnfIon Insod on CIusfor IsfImnfIon,"
T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, Sof. l994.
Yngor, !. nnd . IIIov, "ConornfIon of Iuzzy !uIos by MounfnIn
CIusforIng," T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, .
209-2l9, l994.
See Also genfis2
>;ED
surfview
Purpose Oon Surfnco VIowor
Syntax surfview('a')
Description
Tho Surfnco VIowor, Invokod usIng surfview('a'), Is n C!I fooI fhnf
Iofs you oxnmIno fho oufuf surfnco of n IIS sforod In n fIIo, a.fis, for
nny ono or fwo Inufs. Iocnuso If doos nof nIfor fho fuzzy sysfom or Ifs
nssocInfod IIS sfrucfuro In nny wny, Surfnco VIowor Is n rond-onIy
odIfor. !sIng fho dro-down monus, you soIocf fho fwo Inuf vnrInbIos
you wnnf nssIgnod fo fho fwo Inuf nxos (X nnd Y), ns woII fho oufuf
vnrInbIo you wnnf nssIgnod fo fho oufuf (or Z) nxIs.
>;EL
surfview
If you wnnf fo cronfo n smoofhor Iof, uso fho 630# 90$%#8 fIoId fo socIfy
fho numbor of oInfs on whIch fho momborshI funcfIons nro ovnIunfod
In fho Inuf or oufuf rnngo. ThIs fIoId dofnuIfs fo n vnIuo of l0l.
CIIck YH(3,(#" fo orform fho cnIcuInfIon nnd Iof fho oufuf surfnco.
Iy cIIckIng on fho Iof nxos nnd drnggIng fho mouso, you cnn
mnnIuInfo fho surfnco so fhnf you cnn vIow If from dIfforonf nngIos.
If fhoro nro moro fhnn fwo Inufs fo your sysfom, you musf suIy fho
consfnnf vnIuos nssocInfod wIfh nny unsocIfIod Inufs In fho roforonco
Inuf socfIon.
!ofor fo Tho Surfnco VIowor on ngo 2-58 for moro InformnfIon nbouf
how fo uso surfview.
Menu
Items
On fho Surfnco VIowor, fhoro Is n monu bnr fhnf nIIows you fo oon
roInfod C!I fooIs, oon nnd snvo sysfoms, nnd so on. Tho Surfnco
VIowor usos fho snmo +$3" monu ns fho ono on fho IIS IdIfor. !ofor fo
fuzzy for moro InformnfIon:
!so fho Y*$# monu Ifoms:
?%*0 fo undo fho mosf roconf ncfIon
+=' 9)09")#$"8 fo Invoko fho IIS IdIfor
P"N4")8@$9 K,%1#$0%8 fo Invoko fho MomborshI IuncfIon IdIfor
[,3"8III fo Invoko fho !uIo IdIfor
!so fho \$"W monu Ifom:
[,3"8 fo Invoko fho !uIo VIowor
!so fho V9#$0%8 monu Ifoms:
630# fo chooso nmong oIghf dIfforonf kInds of Iof sfyIos.
O030) P(9 fo chooso nmong sovornI dIfforonf coIor schomos.
X3W(.8 "H(3,(#" fo nufomnfIcnIIy ovnIunfo nnd Iof n now surfnco
ovory fImo you mnko n chnngo fhnf nffocfs fho Iof, such ns chnngIng
>;EM
surfview
fho numbor of grId oInfs. ThIs ofIon Is soIocfod by dofnuIf. To cIonr
fhIs ofIon, soIocf If onco moro.
See Also anfisedit | fuzzy | gensurf | mfedit | ruleedit | ruleview
>;EE
trapmf
Purpose TrnozoIdnI-shnod momborshI funcfIon
Syntax y = trapmf(x,[a b c d])
Description Tho frnozoIdnI curvo Is n funcfIon of n vocfor, x, nnd doonds on four
scnInr nrnmofors =, ,, ), nnd 5, ns gIvon by
f x a b c d
x a
x a
b a
a x b
b x c
d x
d c
c x d
d x
; , , ,
,
,
,
,
,
( ) =

0
1
0

or, moro comncfIy, by


f x a b c d
x a
b a
d x
d c
o ; , , , max min , , , ( ) =

j
(
,
\
,
(
j
(
,
\
,
(
1
Tho nrnmofors = nnd 5 Iocnfo fho foof of fho frnozoId nnd fho
nrnmofors , nnd ) Iocnfo fho shouIdors.
Examples x=0:0.1:10;
y=trapmf(x,[1 5 7 8]);
plot(x,y)
xlabel('trapmf, P=[1 5 7 8]')
>;EF
trapmf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
trapmf, P = [1 5 7 8]
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trimf | zmf
>;FG
trimf
Purpose TrInnguInr-shnod momborshI funcfIon
Syntax y = trimf(x,params)
y = trimf(x,[a b c])
Description Tho frInnguInr curvo Is n funcfIon of n vocfor, x, nnd doonds on fhroo
scnInr nrnmofors =, ,, nnd ), ns gIvon by
f x a b c
x a
x a
b a
a x b
c x
c b
b x c
c x
; , ,
,
,
,
,
( ) =

0
0

or, moro comncfIy, by


f x a b c
x a
b a
c x
c b
o ; , , max min , , ( ) =

j
(
,
\
,
(
j
(
,
\
,
(
Tho nrnmofors = nnd ) Iocnfo fho foof of fho frInngIo nnd fho
nrnmofor , Iocnfos fho onk.
Examples x=0:0.1:10;
y=trimf(x,[3 6 8]);
plot(x,y)
xlabel('trimf, P=[3 6 8]')
>;F:
trimf
0 2 4 6 8 10
0
0.25
0.5
0.75
1
trimf, P = [3 6 8]
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trapmf
>;F<
writefis
Purpose Snvo Iuzzy Inforonco Sysfom fo fIIo
Syntax writefis(fismat)
writefis(fismat,'filename')
writefis(fismat,'filename','dialog')
Description writefis snvos n MAT!AI worksnco IIS sfrucfuro, fismat, ns n .fis
fIIo.
writefis(fismat) oons n dInIog box fo nssIsf wIfh fho nnmIng nnd
foIdor IocnfIon of fho fIIo.
writefis(fismat,'filename') wrIfos n .fis fIIo corrosondIng fo fho
IIS sfrucfuro, fismat, fo n fIIo cnIIod filename.fis. o dInIog box
nonrs, nnd fho fIIo Is snvod fo fho curronf foIdor.
writefis(fismat,'filename', 'dialog') oons n dInIog box wIfh fho
dofnuIf nnmo filename.fis suIIod.
Tho oxfonsIon .fis Is onIy nddod fo filename If If Is nof nIrondy
IncIudod In fho nnmo.
Examples a = newfis('tipper');
a = addvar(a,'input','service',[0 10]);
a = addmf(a,'input',1,'poor','gaussmf',[1.5 0]);
a = addmf(a,'input',1,'good','gaussmf',[1.5 5]);
a = addmf(a,'input',1,'excellent','gaussmf',[1.5 10]);
writefis(a,'my_file')
See Also readfis
>;F>
zmf
Purpose Z-shnod momborshI funcfIon
Syntax y = zmf(x,[a b])
Description ThIs sIIno-bnsod funcfIon of x Is so nnmod bocnuso of Ifs Z-shno. Tho
nrnmofors = nnd , Iocnfo fho oxfromos of fho sIood orfIon of fho
curvo ns gIvon by.
f x a b
x a
x a
b a
a x
a b
x b
b a
a b
; ,
,
,
-
,
( ) =

j
(
,
\
,
(

+

j
(
,
\
,
(
+
1
1 2
2
2
2
2
2

x b
x b 0,
Examples x=0:0.1:10;
y=zmf(x,[3 7]);
plot(x,y)
xlabel('zmf, P=[3 7]')
0 2 4 6 8 10
0
0.25
0.5
0.75
1
zmf, P = [3 7]
>;FA
zmf
See Also dsigmf | gaussmf | gauss2mf | gbellmf | evalmf | mf2mf | pimf |
psigmf | sigmf | smf | trapmf | trimf
>;FD
zmf
>;FL
4
IIocks AIhnbofIcnI !Isf
Diff. Sigmoidal MF
Purpose Ifforonco of fwo sIgmoIds momborshI funcfIon In SImuIInk soffwnro
Description Tho Iff. SIgmoIdnI MI bIock ImIomonfs n momborshI funcfIon In
SImuIInk bnsod on fho dIfforonco bofwoon fwo sIgmoIds. Tho fwo
sIgmoId curvos nro gIvon by
f x
a x c
k
k k
( )
exp( ( ))
=
+
1
1
whoro D=l,2. Tho nrnmofors =
l
nnd =
2
confroI fho sIoos of fho Ioff nnd
rIghf curvos. Tho nrnmofors )
l
nnd )
2
confroI fho oInfs of InfIocfIon for
fho Ioff nnd rIghf curvos. Tho nrnmofors =
l
nnd =
2
shouId bo osIfIvo.
See Also dsigmf
A;<
Fuzzy Logic Controller
Purpose Iuzzy Inforonco sysfom In SImuIInk soffwnro
Description Tho Iuzzy !ogIc ConfroIIor bIock ImIomonfs n fuzzy Inforonco sysfom
(IIS) In SImuIInk. Soo SImuInfo Iuzzy Inforonco Sysfoms In SImuIInk
on ngo 2-89 for n dIscussIon of how fo uso fhIs bIock.
Dialog
Box
+=' +$3" 0) '#),1#,)"
SocIfy your fuzzy Inforonco sysfom ns n fIs fIIo or sfrucfuro.
See Also Iuzzy !ogIc ConfroIIor wIfh !uIovIowor
A;>
Fuzzy Logic Controller with Ruleviewer
Purpose Iuzzy Inforonco sysfom wIfh !uIovIowor In SImuIInk soffwnro
Description
Tho Iuzzy !ogIc ConfroIIor wIfh !uIovIowor bIock ImIomonfs n fuzzy
Inforonco sysfom (IIS) wIfh fho !uIo VIowor In SImuIInk. Soo SImuInfo
Iuzzy Inforonco Sysfoms In SImuIInk on ngo 2-89 for n dIscussIon of
how fo uso fhIs bIock.
Dialog
Box
+=' N(#)$5
SocIfy your fuzzy Inforonco sysfom ns n fIs fIIo or sfrucfuro.
["K)"8@ )(#" R8"1S
SocIfy fho rofrosh rnfo In soconds.
A;A
Fuzzy Logic Controller with Ruleviewer
See Also Iuzzy !ogIc ConfroIIor
A;D
Gaussian MF
Purpose CnussInn momborshI funcfIon In SImuIInk soffwnro
Description Tho CnussInn MI bIock ImIomonfs n momborshI funcfIon In SImuIInk
bnsod on n symmofrIc CnussInn. Tho CnussInn curvo Is gIvon by
f x
x c
( ) =
j
(
,
,
\
,
(
(
exp
- . ( - ) 0 5
2
2


whoro ) Is fho monn nnd Is fho vnrInnco.
See Also gaussmf
A;L
Gaussian2 MF
Purpose CombInnfIon of fwo CnussInn momborshI funcfIons In SImuIInk
soffwnro
Description Tho CnussInn2 MI bIock ImIomonfs n momborshI funcfIon bnsod on
n combInnfIon of fwo CnussInn funcfIons. Tho fwo CnussInn funcfIons
nro gIvon by
f x
x c
k
k
k
( ) =

j
(
,
,
\
,
(
(
exp
. ( - ) 0 5
2
2

whoro D=l,2. Tho nrnmofors )


l
nnd
l
nro fho monn nnd vnrInnco
dofInIng fho Ioff-mosf curvo. Tho nrnmofors )
2
nnd
2
nro fho monn
nnd vnrInnco dofInIng fho rIghf-mosf curvo.
See Also gauss2mf
A;M
Generalized Bell MF
Purpose ConornIIzod boII momborshI funcfIon In SImuIInk soffwnro
Description Tho ConornIIzod IoII MI bIock ImIomonfs n momborshI funcfIon In
SImuIInk bnsod on n gonornIIzod boII-shnod curvo. Tho gonornIIzod
boII-shnod curvo Is gIvon by
f x
x c
a
b
( ) =
+
1
1
2
-
whoro fho nrnmofors = nnd , vnry fho wIdfh of fho curvo nnd fho
nrnmofor ) Iocnfos fho confor of fho curvo. Tho nrnmofor , shouId
bo osIfIvo.
See Also gbellmf
A;E
Pi-shaped MF
Purpose II-shnod momborshI funcfIon In SImuIInk soffwnro
Description Tho II-shnod MI bIock ImIomonfs n momborshI funcfIon In
SImuIInk bnsod on n sIIno-bnsod curvo, so nnmod bocnuso of Ifs
shno. Tho nrnmofors = nnd 5 Iocnfo fho Ioff nnd rIghf bnso oInfs or
foof of fho curvo. Tho nrnmofors , nnd ) sof fho Ioff nnd rIghf fo
oInf or shouIdors of fho curvo.
See Also pimf
A;F
Probabilistic OR
Purpose IrobnbIIIsfIc O! funcfIon In SImuIInk soffwnro
Description Tho IrobnbIIIsfIc O! bIock oufufs fho robnbIIIsfIc O! vnIuo for fho
vocfor sIgnnI Inuf, bnsod on
y x = ( ) 1 1 - prod -
See Also probor, IrobnbIIIsfIc !uIo Agg
A;:G
Probabilistic Rule Agg
Purpose IrobnbIIIsfIc O! funcfIon, ruIo nggrognfIon mofhod
Description Tho IrobnbIIIsfIc !uIo Agg bIock oufufs fho oIomonf-wIso(.*)
robnbIIIsfIc O! vnIuo of fho fwo Inufs bnsod on
y a b = [ ] ( )
1 1 - prod - ;
Tho fwo Inufs, = nnd ,, nro row vocfors.
See Also probor, IrobnbIIIsfIc O!
A;::
Prod. Sigmoidal MF
Purpose Iroducf of fwo sIgmoId momborshI funcfIons In SImuIInk soffwnro
Description Tho Irod. SIgmoIdnI MI bIock ImIomonfs n momborshI funcfIon
bnsod on fho roducf of fwo sIgmoIdnI curvos. Tho fwo sIgmoIdnI curvos
nro gIvon by
f x
a x c
k
k k
( ) =
+ ( ) ( )
1
1 exp -
whoro D=l,2 Tho nrnmofors =
l
nnd =
2
confroI fho sIoos of fho Ioff nnd
rIghf curvos. Tho nrnmofors )
l
nnd )
2
confroI fho oInfs of InfIocfIon
for fho Ioff nnd rIghf curvos. Inrnmofors =
l
nnd =
2
shouId bo osIfIvo
nnd nognfIvo rosocfIvoIy.
See Also psigmf
A;:<
S-shaped MF
Purpose S-shnod momborshI funcfIon In SImuIInk soffwnro
Description Tho S-shnod MI bIock ImIomonfs nn S-shnod momborshI funcfIon
In SImuIInk. CoIng from Ioff fo rIghf fho funcfIon Incronsos from 0 fo
l. Tho nrnmofors a nnd b Iocnfo fho Ioff nnd rIghf oxfromos of fho
sIood orfIon of fho curvo.
See Also smf
A;:>
Sigmoidal MF
Purpose SIgmoIdnI momborshI funcfIon In SImuIInk soffwnro
Description Tho SIgmoIdnI MI bIock ImIomonfs n sIgmoIdnI momborshI funcfIon
gIvon by
f x
a x c
( ) =
+
1
1 exp(- ( - ))
Whon fho sIgn of = Is osIfIvo fho curvo Incronsos from Ioff fo rIghf.
ConvorsoIy, whon fho sIgn of = Is nognfIvo fho curvo docronsos from Ioff
fo rIghf. Tho nrnmofor ) sofs fho oInf of InfIocfIon of fho curvo.
See Also sigmf
A;:A
Trapezoidal MF
Purpose TrnozoIdnI momborshI funcfIon In SImuIInk soffwnro
Description Tho TrnozoIdnI MI bIock ImIomonfs n frnozoIdnI-shnod
momborshI funcfIon. Tho nrnmofors a nnd d sof fho Ioff nnd rIghf
foof, or bnso oInfs, of fho frnozoId. Tho nrnmofors b nnd c sof fho
shouIdors, or fo of fho frnozoId.
See Also trapmf
A;:D
Triangular MF
Purpose TrInnguInr momborshI funcfIon In SImuIInk soffwnro
Description Tho TrInnguInr MI bIock ImIomonfs n frInnguInr-shnod momborshI
funcfIon. Tho nrnmofors a nnd c sof fho Ioff nnd rIghf foof, or bnso
oInfs, of fho frInngIo. Tho nrnmofor b sofs fho IocnfIon of fho frInngIo
onk.
See Also trimf
A;:L
Z-shaped MF
Purpose Z-shnod momborshI funcfIon In SImuIInk soffwnro
Description Tho Z-shnod MI bIock ImIomonfs n Z-shnod momborshI funcfIon.
CoIng from Ioff fo rIghf fho funcfIon docronsos from l fo 0. Tho
nrnmofors a nnd b Iocnfo fho Ioff nnd rIghf oxfromos of fho sIood
orfIon of fho curvo.
See Also trimf, zmf
A;:M
Z-shaped MF
A;:E
A
IIbIIogrnhy
A Bibliography
|l] Iozdoc, J.C., J=88127 e1)&'7(8(&7 C(8< !"##$ A,B1)8(>1 !"7)8(&7
K+'&2(8<:0? IIonum Iross, ow York, l98l.
|2] ChIu, S., Iuzzy ModoI IdonfIfIcnfIon Insod on CIusfor IsfImnfIon,
T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, Sof. l994.
|3] uboIs, . nnd H. Irndo, !"##$ I180 =75 I$081:0P *<1&2$ =75
K;;+()=8(&70, AcndomIc Iross, ow York, l980.
|4] Jnng, J.-S. !., Iuzzy ModoIIng !sIng ConornIIzod ournI ofworks nnd
KnImnn IIIfor AIgorIfhm, J2&)@ &9 8<1 c(78< c=8(&7=+ 6&79@ &7 K28(9()(=+
E781++('17)1 FKKKEMdXG, . ?62-?6?, JuIy l99l.
|5] Jnng, J.-S. !., AIIS: AdnfIvo-ofwork-bnsod Iuzzy Inforonco
Sysfoms, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75 6$,12718()0, VoI. 23,
o. 3, . 665-685, Mny l993.
|6] Jnng, J.-S. !. nnd . CuIIoy, CnIn schoduIIng bnsod fuzzy confroIIor
dosIgn, J2&)@ &9 8<1 E78127=8(&7=+ T&(78 6&791217)1 &9 8<1 c&28< K:12()=7
!"##$ E79&2:=8(&7 J2&)100(7' I&)(18$ L(=77"=+ 6&791217)1? 8<1 E75"082(=+
!"##$ 6&782&+ =75 E781++('178 I$081:0 6&791217)1? =75 8<1 cKIK T&(78
*1)<7&+&'$ a&2D0<&; &7 c1"2=+ c18C&2D0 =75 !"##$ %&'(), Snn AnfonIo,
Toxns, oc. l994.
|?] Jnng, J.-S. !. nnd C.-T. Sun, ouro-fuzzy modoIIng nnd confroI,
J2&)115(7'0 &9 8<1 ESSS, Mnrch l995.
|8] Jnng, J.-S. !. nnd C.-T. Sun, c1"2&M!"##$ =75 I&98 6&:;"8(7'P K
6&:;"8=8(&7=+ K;;2&=)< 8& %1=27(7' =75 R=)<(71 E781++('17)1, IronfIco
HnII, l99?.
|9] Knufmnnn, A. nnd M.M. Cufn, E782&5")8(&7 8& !"##$ K2(8<:18(), V..
!oInhoId, l985.
|l0] !oo, C.-C., Iuzzy IogIc In confroI sysfoms: fuzzy IogIc confroIIor-nrfs l
nnd 2, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75 6$,12718()0, VoI. 20, o.
2, 404-435, l990.
X;<
Bibliography
|ll] MnmdnnI, I.H. nnd S. AssIIInn, "An oxorImonf In IInguIsfIc synfhosIs
wIfh n fuzzy IogIc confroIIor," E78127=8(&7=+ T&"27=+ &9 R=7MR=)<(71 I8"5(10,
VoI. ?, o. l, . l-l3, l9?5.
|l2] MnmdnnI, I.H., Advnncos In fho IInguIsfIc synfhosIs of fuzzy
confroIIors, E78127=8(&7=+ T&"27=+ &9 R=7MR=)<(71 I8"5(10, VoI. 8, .
669-6?8, l9?6.
|l3] MnmdnnI, I.H., AIIcnfIons of fuzzy IogIc fo nroxImnfo ronsonIng
usIng IInguIsfIc synfhosIs, ESSS *2=70=)8(&70 &7 6&:;"8120, VoI. 26, o. l2,
. ll82-ll9l, l9??.
|l4] SchwoIzor, I. nnd A. SkInr, AssocInfIvo funcfIons nnd nbsfrncf
somI-grous, J",+@ R=8< U1,21)17, l0:69-8l, l963.
|l5] Sugono, M., Iuzzy monsuros nnd fuzzy InfogrnIs: n survoy, (M.M.
Cufn, C. . SnrIdIs, nnd I.!. CnInos, odIfors) !"##$ K"8&:=8= =75 U1)(0(&7
J2&)10010, . 89-l02, orfh-HoIInnd, Y, l9??.
|l6] Sugono, M., E75"082(=+ =;;+()=8(&70 &9 9"##$ )&782&+, IIsovIor ScIonco
Iub. Co., l985.
|l?] Wnng, !.-X., K5=;8(>1 9"##$ 0$081:0 =75 )&782&+P 510('7 =75 08=,(+(8$
=7=+$0(0, IronfIco HnII, l994.
|l8] WIdrow, I. nnd . Sfonrns, K5=;8(>1 I('7=+ J2&)100(7', IronfIco HnII,
l985.
|l9] Yngor, !., On n gonornI cInss of fuzzy connocfIvos, !"##$ I180 =75
I$081:0, 4:235-242, l980.
|20] Yngor, !. nnd . IIIov, ConornfIon of Iuzzy !uIos by MounfnIn
CIusforIng, T&"27=+ &9 E781++('178 V !"##$ I$081:0, VoI. 2, o. 3, .
209-2l9, l994.
|2l] Zndoh, !.A., Iuzzy sofs, E79&2:=8(&7 =75 6&782&+, VoI. 8, . 338-353,
l965.
X;>
A Bibliography
|22] Zndoh, !.A., OufIIno of n now nronch fo fho nnnIysIs of comIox
sysfoms nnd docIsIon rocossos, ESSS *2=70=)8(&70 &7 I$081:0? R=7? =75
6$,12718()0, VoI. 3, o. l, . 28-44, Jnn. l9?3.
|23] Zndoh, !.A., Tho concof of n IInguIsfIc vnrInbIo nnd Ifs nIIcnfIon
fo nroxImnfo ronsonIng, Inrfs l, 2, nnd 3, E79&2:=8(&7 I)(17)10, l9?5,
8:l99-249, 8:30l-35?, 9:43-80.
|24] Zndoh, !.A., Iuzzy !ogIc, 6&:;"812, VoI. l, o. 4, . 83-93, l988.
|25] Zndoh, !.A., KnowIodgo rorosonfnfIon In fuzzy IogIc, ESSS
*2=70=)8(&70 &7 W7&C+15'1 =75 U=8= S7'(7112(7', VoI. l, . 89-l00, l989.
X;A
Glossary
CIossnry
Adaptive Neuro-Fuzzy Inference System
(AIIS) A fochnIquo for nufomnfIcnIIy funIng Sugono-fyo Inforonco
sysfoms bnsod on frnInIng dnfn.
aggregation
Tho combInnfIon of fho consoquonfs of onch ruIo In n MnmdnnI fuzzy
Inforonco sysfom In ronrnfIon for dofuzzIfIcnfIon.
antecedent
Tho InIfInI (or If) nrf of n fuzzy ruIo.
consequent
Tho fInnI (or fhon) nrf of n fuzzy ruIo.
defuzzification
Tho rocoss of frnnsformIng n fuzzy oufuf of n fuzzy Inforonco sysfom
Info n crIs oufuf.
degree of fulfillment
Soo K$)$%& 8#)"%&#@
degree of membership
Tho oufuf of n momborshI funcfIon, fhIs vnIuo Is nIwnys IImIfod fo
bofwoon 0 nnd l. AIso known ns n momborshI vnIuo or momborshI
grndo.
firing strength
Tho dogroo fo whIch fho nnfocodonf nrf of n fuzzy ruIo Is snfIsfIod.
Tho fIrIng sfrongfh mny bo fho rosuIf of nn A or nn O! oornfIon,
nnd If shnos fho oufuf funcfIon for fho ruIo. AIso known ns 51'211 &9
9"+9(++:178.
fuzzification
Tho rocoss of gonornfIng momborshI vnIuos for n fuzzy vnrInbIo usIng
momborshI funcfIons.
!3088().;:
Glossary
fuzzy c-means clustering
A dnfn cIusforIng fochnIquo whoroIn onch dnfn oInf boIongs fo n cIusfor
fo n dogroo socIfIod by n momborshI grndo.
fuzzy inference system (FIS)
Tho ovornII nnmo for n sysfom fhnf usos fuzzy ronsonIng fo mn nn
Inuf snco fo nn oufuf snco.
fuzzy operators
A, O!, nnd OT oornfors. Thoso nro nIso known ns +&'()=+
)&771)8(>10.
fuzzy set
A sof fhnf cnn confnIn oIomonfs wIfh onIy n nrfInI dogroo of
momborshI.
fuzzy singleton
A fuzzy sof wIfh n momborshI funcfIon fhnf Is unIfy nf n ono nrfIcuInr
oInf nnd zoro ovorywhoro oIso.
implication
Tho rocoss of shnIng fho fuzzy sof In fho consoquonf bnsod on fho
rosuIfs of fho nnfocodonf In n MnmdnnI-fyo IIS.
Mamdani-type inference
A fyo of fuzzy Inforonco In whIch fho fuzzy sofs from fho consoquonf
of onch ruIo nro combInod fhrough fho nggrognfIon oornfor nnd fho
rosuIfIng fuzzy sof Is dofuzzIfIod fo yIoId fho oufuf of fho sysfom.
membership function (MF)
A funcfIon fhnf socIfIos fho dogroo fo whIch n gIvon Inuf boIongs fo n
sof or Is roInfod fo n concof.
singleton output function
An oufuf funcfIon fhnf Is gIvon by n sIko nf n sIngIo numbor rnfhor
fhnn n confInuous curvo. In fho Iuzzy !ogIc TooIbox soffwnro, If Is onIy
suorfod ns nrf of n zoro-ordor Sugono modoI.
!3088().;<
Glossary
subtractive clustering
A fochnIquo for nufomnfIcnIIy gonornfIng fuzzy Inforonco sysfoms by
dofocfIng cIusfors In Inuf-oufuf frnInIng dnfn.
Sugeno-type inference
A fyo of fuzzy Inforonco In whIch fho consoquonf of onch ruIo Is n IInonr
combInnfIon of fho Inufs. Tho oufuf Is n woIghfod IInonr combInnfIon
of fho consoquonfs.
T-conorm
A fwo-Inuf funcfIon fhnf doscrIbos n suorsof of fuzzy unIon (O!)
oornfors, IncIudIng mnxImum, nIgobrnIc sum, nnd nny of sovornI
nrnmoforIzod T-conorms AIso known ns IM7&2:.
T-norm
A fwo-Inuf funcfIon fhnf doscrIbos n suorsof of fuzzy InforsocfIon
(A) oornfors, IncIudIng mInImum, nIgobrnIc roducf, nnd nny of
sovornI nrnmoforIzod T-norms.
!3088().;>
Glossary
!3088().;A
Index
Indox A
addmf 2-83
addrule 2-84
addvar 2-8?
nggrognfIon 2-2l 2-34
A 2-l4
anfis 2-l09
ofIons 2-l46
anfisedit 2-?8
nnfocodonf 2-l8
B
bnckrongnfIon 2-l24
C
chnofIc fImo sorIos 2-l5l
chockIng dnfn 2-lll
chockIng orror 2-l50
cIusforIng 2-l5l
cIusforIng nIgorIfhms CIossnry-3
cIusforIng C!I 2-l?0
consoquonf 2-l5
convertfis 3-l2
cusfom funcfIon 2-6l
cusfomIznfIon 2-6l
D
defuzz 3-l3
dofuzzIfIcnfIon 2-l6
dofuzzIfy 2-28
dogroo of momborshI 2-3
distfcm 2-l54
dsigmf 2-l0
E
orror foIornnco 2-l24
evalfis 2-84
evalmf 3-l?
F
fcm (fuzzy c-monns) 2-l5l
findcluster 2-l?0
IIS 2-33
C-codo 2-l?3
IdIfor 2-36
fIIos 2-8?
gonornfIng 2-l20
MnmdnnI-fyo 2-40
mnfrIx 2-85
snvIng n IIS 2-60
sfrucfuro 2-ll0
fuzblock 2-96
fuzzIfIcnfIon 2-l6
fuzzy 3-24
fuzzy c-monns cIusforIng 3-l8
fuzzy cIusforIng 2-l46
fuzzy Inforonco ongIno 2-l?3
fuzzy Inforonco sysfom In SImuIInk 4-3
fuzzy Inforonco sysfom wIfh !uIovIowor In
SImuIInk 4-4
fuzzy oornfors 2-l2
fuzzy sof 2-3
G
gauss2mf 2-l0
gaussian 2-l0
gaussmf 2-l0
gbellmf 2-l0
genfis 2-l33
genfis1 2-l22
genfis2 2-l22
gensurf 2-80
getfis 2-?6
grId nrfIfIon 2-l2l
=%*"5;:
Index
H
hybrId mofhod 2-l24
I
If-fhon ruIos 2-l6
nnfocodonf 2-l5
ImIIcnfIon 2-l6
ImIIcnfIon 2-l6
I11 =+0& If-fhon ruIos
initfcm 2-l54
L
IogIcnI oornfIons 2-l2
M
mam2sug 3-50
MnmdnnI-sfyIo Inforonco CIossnry-2
MnmdnnI-fyo Inforonco 2-l8
mnx 2-2?
momborshI funcfIon 2-6
mf odIfor 2-l23
MomborshI IuncfIon IdIfor 2-36
momborshI funcfIons
boII 2-l0
cusfom 2-63
CnussInn 2-l0
II 2-ll
S 2-ll
sIgmoIdnI 2-l0
Z 2-ll
MI@ I11 momborshI funcfIon
mf2mf 3-5l
mfedit 3-53
mIn 2-3l
modoI vnIIdnfIon 2-lll
N
nouro-fuzzy Inforonco 2-ll0
newfis 2-83
OT 2-l4
O
O! 2-l4
P
pimf 2-ll
plotfis 2-?8
plotmf 2-?8
robnbIIIsfIc O! 2-25
robor 2-2?
psigmf 2-l0
R
readfis 2-?5
rmmf 2-8?
rmvar 2-8?
!uIo IdIfor 2-36
!uIo VIowor 2-36
ruleedit 3-?0
ruleview 3-?2
S
setfis 2-??
showfis 2-??
showrule 3-?8
sigmf 2-l0
SImuIInk bIocks
fuzzy confroIIor wIfh ruIovIowor 2-93
Iuzzy !ogIc ConfroIIor 2-89
SImuIInk, workIng wIfh 2-89
sIngIofon 2-2l
sltank 2-89
smf 2-ll
=%*"5;<
Index
sfnnd-nIono C codo 2-l?3
sfnnd-nIono fuzzy Inforonco ongIno 2-l?3
sfo sIzo 2-l48
structure.field synfnx 2-?6
subclust 3-83
subfrncfIvo cIusforIng 2-l5?
Sugono 2-l58
Sugono-fyo IIS 2-l2l
I11 =+0& Sugono-fyo Inforonco
Sugono-fyo Inforonco 2-2l
sum 2-2?
Surfnco VIowor 2-36
surfview 3-86
T
T-conorm 2-l5
T-norm 2-l4
fosfIng dnfn 2-lll
frnInIng dnfn 2-lll
frnInIng orror 2-l48
frnozoIdnI 2-9
trapmf 2-9
trimf 3-9l
U
!IX
sfnnd-nIono fuzzy Inforonco ongIno 2-l?8
W
WIndows
sfnnd-nIono fuzzy Inforonco ongIno 2-l?4
writefis 3-93
Z
zmf 2-ll
=%*"5;>

You might also like