Documente Academic
Documente Profesional
Documente Cultură
Lucrare de Laborator Nr3SIA
Lucrare de Laborator Nr3SIA
RAPORT
Lucrare de laborator nr.3
La Sisteme cu Inteligență Artificială
A efectuat: I.Miron
st.gr.AI-181
A verificat: S. Dubac
asist.univ.
Chișinău-2021
Tema: Introducere în Fuzzy Logic Toolbox
Obiectiv: Familiarizarea cu funcțiile și interfețele grafice din Fuzzy Logic Toolbox din
MATLAB/Simulink.
Sarcina:
Mersul lucrării:
1. Funcțiile de apartenență:
dsigmf – calculează valorile membrilor mulțimii fuzzy folosind diferența dintre două funcții de
tip sigmoid.
y = dsigmf(x, params) returnează valorile mulțimii fuzzy calculând diferența dintre două mulțimi
fuzzy de tip sigmoid. Fiecare funcție sigmoid este dată de formula:
1
f ( x ; ak , ck )= −ak (x−c k )
1+e
Pentru a specifica parametrii a, c pentru fiecare funcție sigmoid se utilizează params.
Valorile mulțimii sunt calculate pentru fiecare valoare de intrare x.
Exemplu
x = 0:0.1:10;
y = dsigmf(x,[5 2 5 7]);
plot(x,y)
xlabel('dsigmf, P = [5 2 5 7]')
1
f ( x ; a , b , c )=
| |
2b
x−c
1+
a
Exemplu
x = 0:0.1:10;
y = gbellmf(x,[2 4 6]);
plot(x,y)
xlabel('gbellmf, P=[2 4 6]')
Fig. 3.4. Rezultatul utilizării funcției gbellmf
pimf – funcție de apartenență în formă de PI. Această funcție calculează valorile de apartenență
fuzzy utilizând o funcție de apartenență în formă de PI bazată pe spline.
{
0, x≤a
( )
2
x−a a+b
2 ,a≤ x≤
b−a 2
( )
2
x−b a+ b
1−2 , ≤ x≤b
b−a 2
f ( x ;a , b , c , d ) = 1,b≤x ≤c
1−2 ( )
x−c 2
d−c
,c≤ x≤
c+ d
2
( )
2
x−d c+ d
2 , ≤x ≤d
d−c 2
0, x≥d
1
f ( x ;a k , c k ) = −ak (x−c k )
1+e
1
f ( x ;a k , c k ) = −ak (x−c k )
1+e
În acest cod au fost folosite două comenzi, prima trapmf pentru crearea funcției de
apartenență și apoi cu ajutorul evalmf (evaluarea a multiple funcții) a fost aflat gradul de
apartenență pentru un număr, care apoi la urmă a fost evidențiat cu punctul de intersecției primit.
Rezultatul se evidențiază în fig. 3.12, iar la modificarea codului s-au utilizat alte funcții de
apartenență, precum dsigmf, zmf și sigmf (fig. 3.13).
u11=evalmf(x1,params1,'zmf');
plot (x1,u11,'r*');
u12=evalmf(x1,params2,'gbellmf');
plot (x1,u12,'r*');
u13=evalmf(x1,params3,'smf');
plot (x1,u13,'r*');
u31=evalmf(x3,params1,'zmf');
plot (x3,u31,'r*');
u32=evalmf(x3,params2,'gbellmf');
plot (x3,u32,'r*');
u33=evalmf(x3,params3,'smf');
plot (x3,u33,'r*');
u41=evalmf(x4,params1,'zmf');
plot (x4,u41,'r*');
u42=evalmf(x4,params2,'gbellmf');
plot (x4,u42,'r*');
u43=evalmf(x4,params3,'smf');
plot (x4,u43,'r*');
hold off
Concluzii:
În această lucrare de laborator am obținut cunoștințe cu privire la utilizarea funcțiilor și
interfețelor grafice din Fuzzy Logic Toolbox. Am reprezentat diferite funcții de apartenență,
multiple sau singura și am manipulat cu acestea în modul necesar. Am constatat diferite
modalități de reprezentare și utilizare a funcțiilor de apartenență și cu ușurință am efectuat
operații cu acestea.