Sunteți pe pagina 1din 3

Sisteme de conducere fuzzy (UPT, 2011)

LUCRAREA DE LABORATOR NR. 3



FUNCII REFERITOARE LA VARIABILELE DE TIP FIS. FUNCIA UTILIZAT
PENTRU VIZUALIZAREA CARACTERISTICILOR STATICE GENERALIZATE ALE
REGULATOARELOR FUZZY

A. OBIECTIVELE LUCRRII:
1. nsuirea funciilor Matlab utilizate n operarea cu fiierele de tip fis.
2. nsuirea funciei Matlab utilizate pentru vizualizarea caracteristicilor statice
generalizate ale regulatoarelor fuzzy (RG-F).

B. CONSIDERAII PREGTITOARE:
1. Funcii Matlab referitoare la variabilele de tip fis.
Variabilele de tip fis au menirea de a caracteriza complet i eventual modifica structura,
parametrii i proprietile regulatoarelor fuzzy (sistemelor de inferen fuzzy). Pentru aceste fiiere
sunt disponibile apte funcii [1]: getfis, newfis, plotfis, readfis, setfis, writefis.
a) Funcia getfis. Sintaxa funciei este urmtoarea:
out = getfis(fis), (14.6.1)
iar efectul const n returnarea unei liste a proprietilor regulatorului fuzzy definit prin variabila fis.
O apelare de forma:
out = getfis(fis,'fisProp') (14.6.2)
returneaz valoarea curent a proprietilor, denumite 'fisProp'.
O alt modalitate de apelare a funciei getfis este:
out = getfis(fis, 'varTip', varIndex); (14.6.3)
n acest caz se returneaz o list a proprietilor variabilei lingvistice specificate prin varTip i
varIndex.
b) Funcia newfis. Sintaxa funciei este urmtoarea:
fis = newfis(fisNume). (14.6.4)
Funcia creeaz implicit o variabil fis corespunztore unui RG-F de tip Mamdani cu
numele fisNume.
Dac funcia newfis se apeleaz n forma:
fis = newfis(fisNume, fisTip), (14.6.5)
atunci se creeaz o variabil fis corespunztore unui RG-F de tipul specificat prin fisTip. Acesta
poate lua valorile 'Mamdani' respectiv 'Sugeno' i va fi selectat n funcie de tipul de RG-F
definit.
c) Funcia plotfis. Are menirea de a reprezenta grafic caracteristica static (generalizat) a RG-F.
Apelarea funciei n forma:
plotfis(fismat) (14.6.6)
creeaz tocmai caracteristica static generalizat intrare-ieire pentru RG-F asociat variabilei de tip fis
cu numele fismat obinut folosind funcia readfis sau aflat n spaiul de lucru Matlab.
d) Funcia readfis. Sintaxa funciei este dat de relaia (14.6.7):
fismat = readfis('fisNume'). (14.6.7)
Prin apelarea funciei, se creeaz n spaiul de lucru Matlab o variabil fismat asociat
fiierului de tip fis cu numele 'fisNume'. Matricea creat este utilizabil ntr-o sesiune Matlab,
informaia pierzndu-se la nchiderea sesiunii de lucru.
e) Funcia setfis. n forma sa cea mai simpl, sintaxa acestei funcii este dat de relaia:
fis2 = setfis(fis1, 'fisPropNume', nouPropVal). (14.6.8)
Funcia genereaz o variabil de tip fis cu numele fis2. Variabila fis 2 are aceeai
structur cu cea aferent variabilei fis1 definite n prealabil, cu excepia proprietilor avnd numele
'fisPropNume', care se seteaz la noile valori din nouPropVal. Trebuie remarcat c o apelare
Sisteme de conducere fuzzy (UPT, 2011)
de forma (14.6.8) modific proprietatea purtnd numele fisPropNume pentru toate variabilele
lingvistice aferente RG-F.
O apelare n forma (14.6.9) a funciei:
fis2 = setfis(fis1, 'varTip', varIndex, 'fisPropNume', nouPropVal),
(14.6.9)
genereaz o variabil fis2 care este identic variabilei iniiale fis1 cu excepia proprietii cu
numele 'varPopNume', care va lua valoarea nouPropVal pentru variabila lingvistic specificat
prin numele 'varTip' i indexul varIndex.
O alt apelare a funciei setfis este de forma:
fis2=setfis(fis1,'varTip',varIndex,'fdap',fdapIndex,'fdapPropNume',
...nouPropVal), (14.6.10)
i realizeaz doar modificarea proprietilor unui termen lingvistic (TL) specificat prin numele
'fdap' i indexul fdapIndex, TL fiind asociat variabilei lingvistice de tip 'varTip' i index
varIndex.
f) Funcia showfis. Modul de apelare a acestei funcii este urmtorul:
showfis(fismat). (14.6.11)
Prin (14.6.11) se asigur afiarea unei versiuni text pentru RG-F asociat variabilei fismat.
g) Funcia writefis. Funcia se apeleaz sub forma (14.6.12):
writefis(fismat, 'fisNume') (14.6.12)
i asigur salvarea pe disc a variabilei fismat aferente unui RG-F aflate n spaiul de lucru Matlab n
fiierul cu numele fisNume.fis. Nu este necesar specificarea extensiei fis.
h) Funcia evalfis. Servete la calculul comenzii elaborate de RG-F pentru un set de intrri ferme.
Funcia are sintaxa:
ieire=evalfis(intrare, fis1). (14.6.13)
O astfel de apelare returneaz valoarea comenzii (VL de ieire) elaborate de RG-F cu structura
definit n variabila fis1, pentru valorile ferme ale VL de intrare specificate n matricea intrare.
Funcia este util n rularea pas cu pas n verificarea funcionrii RG-F.

2. Funcia Matlab utilizat pentru vizualizarea caracteristicii statice generalizate ale
regulatoarelor fuzzy (RG-F).
n acest scop se utilizeaz funcia gensurf. Sunt utilizate trei variante de sintax [2], [3]:
a) gensurf(fis1) vizualizeaz caracteristica static (CS) generalizat aferent RG-F definit
anterior n variabila fis1. Se iau n considerare primele dou VL de intrare i prima VL de ieire;
b) gensurf(fis1, intrri, ieire) are acelai efect, ns VL de intrare (una sau dou)
trebuie specificat / specificate n vectorul intrri, iar VL de ieire trebuie specificat n scalarul ieire;
c) [x,y,z]=gensurf( _ _ _ ) returneaz valorile variabilelor care definesc CS generalizat
ns nu vizualizeaz CS.

C. TEMATICA LUCRRII:
1. Se execut urmtoarea secven de program Matlab pentru elaborarea comenzii (ferme) de
ctre RG-F definite la exemplele 14.4.1 i 14.4.2 din lucrarea anterioar:
a=readfis(Pendul);
evalfis([-2 1],a)
pause
evalfis([2 1],a)
pause
b=readfis(fuzzif&inf&br);
ieire1=evalfis([15],b)
ieire2=evalfis([25],b)
Se efectueaz calcule ale comenzilor ferme i pentru alte valori ferme ale intrrii / intrrilor.
Sisteme de conducere fuzzy (UPT, 2011)
2. Se execut urmtoarea secven de program Matlab pentru afiarea CS generalizate aferente
RG-F definite la exemplele 14.4.1 i 14.4.2:
a=readfis(Pendul);
gensurf(a)
pause
b=readfis(fuzzif&inf&br);
gensurf(b)

D. BIBLIOGRAFIE:
[1] Matlab: Fuzzy Logic Toolbox, MathWorks Inc., Natick, MA, 1998.
[2] Preitl, St. i R.-E. Precup: Introducere n conducerea FUZZY a proceselor, Editura Tehnic,
Bucureti, 1997.
[3] Precup, R.-E. i St. Preitl: Fuzzy Controllers, Editura Orizonturi Universitare, Timioara, 1999.
[4] Precup, R.-E.: Matematici asistate de calculator. Algoritmuri, Editura Orizonturi Universitare,
Timioara, 2007.

S-ar putea să vă placă și