Upload
nikola-dj
View
223
Download
0
Embed Size (px)
Citation preview
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
1/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
2/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 2
Uvod
MATLAB...
Fuzzy Logic Toolbox i Neural Network
Toolbox...
Demonstracioni primeri...
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
3/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 3
Fuzzy logic toolbox_primer1
Ekspertski sistem za odabir posla
Komande koje se koriste pri projektovanju sistema:
newfis : Kreirati novi FIS;
addvar : Dodati variablu u FIS;
addmf : Dodati funkciju pripadnosti u FIS;
addrule : Dodati pravilo u FIS;
plotfis : Iscrtati FIS I/O diagram;
evalfis : Izvriti fuzzyizraunavanje;
setfis : Postaviti karakteristike fuzzy sistema; plotmf : Iscrtati sve funkcije pripadnosti za datu varijablu;
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
4/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 4
Pokretanje Fuzzy Logic ToolboxGUI-a iz MATLAB
komandnog prozora
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
5/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 5
Dodavanje ulazne varijable u FIS
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
6/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 6
Izgled sistema sa dva ulaza i jednim izlazom
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
7/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 7
Izgled polja GUI-a u koje se unosi ime prethodno
selektovane varijable
Ulazne varijable: Visina_plate_[din] i Tip_ponuenog_posla;
Izlazna varijabla: Izbor_posla;
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
8/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 8
Pokretanje prozora za generisanje funkcija pripadnosti.
Generisane funkcije pripadnosti se automatski pridruuju
selektovanoj varijabli
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
9/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 9
Brisanje prethodno generisanih funkcija pripadnosti
pridruenih selektovanoj varijabli
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
10/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 10
Polja za unos parametara vezanih za selektovanu
varijablu (Visina_plate_[din.])
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
11/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 11
Dodavanje eljene funkcije pripadnosti u dijagram
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
12/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 12
Izgled prozora za odabir tipa i unos parametara eljene
funkcije pripadnosti
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
13/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 13
Izgled dijagrama funkcija pripadnosti nakon unoenja eljenih f-ja
pridruenih ulaznoj varijabli Visina_plate_[din.]
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
14/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 14
Izgled dijagrama funkcija pripadnosti nakon unoenja eljenih f-ja
pridruenih ulaznoj varijabli Tip_ponudjenog_posla
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
15/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 15
Izgled dijagrama funkcija pripadnosti nakon unoenja eljenih f-ja
pridruenih izlaznoj varijabli Izbor_posla
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
16/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 16
Pokretanje prozora za generisanje pravila fuzzy
zakljuivanja
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
17/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 17
Izgled prozora za generisanje pravila fuzzyzakljuivanja
FIS-a
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
18/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 18
Izgled polja za izbor veze izmeu f-ja pripadnosti prilikom formiranja
pravila i polje za specificiranje teine ili vanosti datog pravila
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
19/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 19
Izgled prozora za generisanje pravila u ijoj se listi pravila nalazi 6
generisanih pravila fuzzyzakljuivanja
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
20/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 20
Pokretanje prozora za praenje rada projektovanog
ekspertskog sistema putem grafikog prikaza
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
21/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 21
Za zadate vrednosti ulaza ekspertski sistem proraunava
vrednost izlaza i grafiki je prikazuje
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
22/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 22
Za zadate vrednosti ulaza ekspertski sistem proraunava
vrednost izlaza i grafiki je prikazuje
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
23/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 23
Za zadate vrednosti ulaza ekspertski sistem proraunava
vrednost izlaza i grafiki je prikazuje
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
24/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
25/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 25
3D prikaz rada ekspertskog sistema za odabir posla
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
26/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 26
Fuzzy logic toolbox_primer2
Kontrola temperature vode u kadi pomou fuzzy kontrolera
Sistem koji treba da bude kontrolisan je opisan
jednainom:
Gde je:
Parametri kontrolisanog sistema:
= 1.00151*10-4
= 8.67973*10-3 gama = 40
Y0 = 25C
,)](1[)(1
)()()()1( 0
)(5.0 YTaku
e
TbkyTaky s
ky
ss
sTs eTa )(
)1)(()( sTs eTb
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
27/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 27
Kontrola temperature vode u kadi pomou fuzzy
kontrolera
Ulaz kontrolisanog sistema:
0V u(k) 5V
Period uzorkovanja:
Ts = 25s (sekundi)
Fuzzy kontroler treba da kontrolie temperaturu vode u kadi tako da ona prati referentnu konturu(signal), iji je oblik definisan na sledei nain:
35C , 0 t 40 minuta 50C , 40 t 80 minuta 65C , 80 t 120 minuta 80C , 120 t 180 minuta
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
28/63
Elektrotehniki fakultet univerziteta uBeogradu, Seminarski rad 28
Kontrola temperature vode u kadi pomou fuzzy
kontrolera
Izabrane ulazne varijable fuzzy kontrolera su:
1. e(t) - Izvrna greka (predstavlja razliku izmeu eljene temperature vode i stvarne izmerenetemperature);
2. c(t) - Promena izvrne greke (Izvod izvrne greke);
Izlazna varijabla fuzzy kontrolera:
1. u(t)Napon grejaa (0V u(t) 5V);
Za svaku varijablu je definisano po 7 Gausovih funkcija pripadnosti, ija su imena: NL, NM, NS,ZE, PS, PM ,PL;
Matricafuzzypravila sadri 25 od moguih 49 pravila;
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
29/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 29
Tabela fuzzypravila formulisanih za sistem za kontrolu
temperature vode u kadi
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
30/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 30
Formiranje ulaznih i izlaznih funkcija pripadnosti i fuzzy
pravila
fis=newfis('fyappr1'); % Create a new FIS with filename "fyappr1.fis.". % Build the I/O membership functions and fuzzy rules.
% Define membership functions for the input variable "ERROR".
fis=addvar(fis, 'input', 'ERROR', [-1 1]);
fis=addmf(fis,'input', 1, 'NL', 'gaussmf', [0.1 -1]);
fis=addmf(fis,'input', 1, 'NM', 'gaussmf', [0.1 -0.6]);
fis=addmf(fis,'input', 1, 'NS', 'gaussmf', [0.1 -0.3]);
fis=addmf(fis,'input', 1, 'ZE', 'gaussmf', [0.1 0]);
fis=addmf(fis,'input', 1, 'PS', 'gaussmf', [0.1 0.3]);
fis=addmf(fis,'input', 1, 'PM', 'gaussmf', [0.1 0.6]);
fis=addmf(fis,'input', 1, 'PL', 'gaussmf', [0.1 1]);
plotmf(fis,'input',1);
figure
% Define membership functions for the input variable "CERROR". fis=addvar(fis, 'input', 'CERROR', [-1 1]);
fis=addmf(fis,'input', 2, 'NL', 'gaussmf', [0.1 -1]);
fis=addmf(fis,'input', 2, 'NM', 'gaussmf', [0.1 -0.6]);
fis=addmf(fis,'input', 2, 'NS', 'gaussmf', [0.1 -0.3]);
fis=addmf(fis,'input', 2, 'ZE', 'gaussmf', [0.1 0]);
fis=addmf(fis,'input', 2, 'PS', 'gaussmf', [0.1 0.3]);
fis=addmf(fis,'input', 2, 'PM', 'gaussmf', [0.1 0.6]);
fis=addmf(fis,'input', 2, 'PL', 'gaussmf', [0.1 1]);
plotmf(fis,'input',2);
figure
% Define membership functions for the output variable "MENU".
fis=addvar(fis,'output','MENU', [-1 1]);
fis=addmf(fis,'output', 1, 'NL', 'gaussmf', [0.1 -1]); fis=addmf(fis,'output', 1, 'NM', 'gaussmf', [0.1 -0.6]);
fis=addmf(fis,'output', 1, 'NS', 'gaussmf', [0.1 -0.3]);
fis=addmf(fis,'output', 1, 'ZE', 'gaussmf', [0.1 0]);
fis=addmf(fis,'output', 1, 'PS', 'gaussmf', [0.1 0.3]);
fis=addmf(fis,'output', 1, 'PM', 'gaussmf', [0.1 0.6]);
fis=addmf(fis,'output', 1, 'PL', 'gaussmf', [0.1 1]); plotmf(fis,'output',1);
% Define fuzzy rules.
rule=[
1 4 1 1 1
2 4 2 1 1
3 5 5 1 1
3 4 3 1 1
3 3 3 1 1
4 7 7 1 1
4 6 6 1 1
4 5 5 1 1
4 4 4 1 1
4 3 3 1 1 4 2 2 1 1
4 1 1 1 1
5 7 7 1 1
5 6 6 1 1
5 5 5 1 1
5 4 5 1 1
5 3 3 1 1
6 7 7 1 1
6 6 6 1 1
6 5 6 1 1
6 4 6 1 1
7 7 7 1 1
7 6 7 1 1 7 5 7 1 1
7 4 7 1 1];
fis=addrule(fis, rule);
writefis(fis, 'fyappr1'); % Save FIS to disk.
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
31/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 31
Grafiki prikaz funkcija pripadnosti pridruenih ulaznim varijablama
ERROR, CERROR, i izlaznoj varijabli MENU
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
32/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 32
Test program
fis=readfis('fyapprl'); % Read the file"fyappr1.fis.".
% Define plant parameters.
Ts=25; p=1.00151*10^(-4); q=8.67973*10^(-3);
r=40; yo=25; y(1)=yo; a=exp(-p*Ts); b=(q/p)*(1-exp(-p*Ts));
% Define the reference output.
for k =1 : 180
if (k 40 & k 80 & k 120) ref(k)=80;
end;
end;
GE=1/15; GC=1/15; GU=450; % Define gainconstants.
pause % Hit any key to test this fuzzy controller.
for k =1 : 179
e(k)=(ref(k)-y(k)); ee(k)=e(k)*GE; if k == 1 ce(k)=0;
else ce(k)=e(k)-e(k - 1);
end; cee(k)=ce(k)*GC;
mu(k)=evalfis([ee(k) cee(k)],fis);u(k)=mu(k)*GU;
if (u(k)>=5) u(k)=5;
elseif (u(k)
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
33/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 33
Rezultati simulacije za aplikaciju kontrole temperature
vode u kadi korienjem isprojektovanog fuzzykontrolera
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
34/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
35/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 35
Izgled fuzzykontrolera za kontrolu temperature vode u kadi. Kontroler
ima dve ulazne varijable (ERROR i CERROR) i jednu izlaznu
varijablu (MENU)
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
36/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 36
Grafiki prikaz funkcija pripadnosti pridruenih ulaznim varijablama
ERROR, CERROR, i izlaznoj varijabli MENU
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
37/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 37
Izgled prozora za generisanje fuzzypravila sa generisanih 25 pravila
fuzzykontrolera za kontrolu temperature vode u kadi
G fiki ik f klj i j j kt
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
38/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 38
Grafiki prikaz fuzzyzakljuivanja projektovanog
kontrolera
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
39/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
40/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 40
Neural network toolbox_primer3
Primena neuralnih mrea u modeliranju nelinearnih statikih funkcija
Korienjem neuralne mree trebaaproksimirati funkciju:
Na intervalu:
)2cos()( 2 xexy
x
]3,0[x
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
41/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 41
Izgled funkcije y(x) na intervalu [0,3]
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
42/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 42
Formiranje obuavajueg skupa, neuralne mree i
obuavanje
Kreiranje nove N-slojnefeedforward neuralne mree:
net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)
Argumenti koje funkcija uzima:
PR R x 2 matrica minimalnih i maksimalnih vrednosti za R ulaza;
Si Veliina i-tog sloja, za Nl slojeva;
TFi Transfer funkcija i-tog sloja (default = 'tansig'). (logsig, purelin);
BTF Backpropagation network training function(default = 'trainlm').(trainbfg, trainrp, traingd);
BLF Backpropagation weight/bias learning function (default = 'learngdm'). (learngd);
PF Performance function(default = 'mse'). (msereg);
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
43/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 43
Formiranje obuavajueg skupa, neuralne mree i
obuavanje
% Formiranje obuavajueg skupa. x=0:0.01:3;
y=exp(-0.5*x).*cos(2*x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.08;
figure(1);
plot(x,y);
figure(2);
plot(x,yn);
% Inicijalno formiranje neuralne mree.
net=newff([0 3], [2 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=1000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x);
% Prikazivanje rezultata.
figure(3);
plot(x,y,x,yn,x,ym);
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
44/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 44
Izgled funkcije yn(x) na intervalu [0,3]
Funkcija yn(x) je jednaka zbiru funkcije y(x) i dodatog aditivnog uma
Prikaz rezultata simulacije obuene neuralne mree
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
45/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 45
Prikaz rezultata simulacije obuene neuralne mree
Izlaz neuralne mree je prikazan crvenom linijom
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
46/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 46
Prikaz toka obuavanja neuralne mree
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
47/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 47
Promena intervala ulaznog signala
% Formiranje obuavajueg skupa. x=0:0.01:4;
y=exp(-0.5*x).*cos(2*x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.08;
% figure(1); plot(x,y);
% figure(2); plot(x,yn);
% Inicijalno formiranje neuralne mree. net=newff([0 3], [2 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=1000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x); % Prikazivanje rezultata.
figure(3); plot(x,y,x,ym);
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
48/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 48
Prikaz rezultata simulacije neuralne mree na skupu koji
je razliit od obuavajueg skupa (zelena linija na grafiku)
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
49/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 49
Preobuavanje neuralne mree (overtraining)
% Formiranje obuavajueg skupa. x=0:0.01:3;
y=exp(-0.5*x).*cos(2*x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.08;
% figure(1);
% plot(x,y);
% figure(2);
% plot(x,yn);
% Inicijalno formiranje neuralne mree. net=newff([0 3], [20 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=2000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x);
% Prikazivanje rezultata.
figure(3);
plot(x,y,x,yn,x,ym);
Prikaz toka obuavanja neuralne mree u sluaju
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
50/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 50
Prikaz toka obuavanja neuralne mree u sluaju
preobuavanja iste
P ik lt t i l ij b l
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
51/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 51
Prikaz rezultata simulacije preobuene neuralne mree
Izlaz neuralne mree je prikazan crvenom linijom
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
52/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 52
Izbor poetnih parametara mree
x=0:0.01:3; y=exp(-0.5*x).*cos(2*x);
yn=y+randn(size(y))*0.08;
net=newff([0 3],[2 1],{'tansig', 'purelin'});
net.trainParam.epochs=25;
net.trainParam.goal=0.000001;
[net,tr]=train(net,x,yn);
err=min(tr.perf);
for i=1:100
net1=newff([0 3],[2 1],{'tansig','purelin'}); net1.trainParam.epochs=25;
net1.trainParam.goal=0.000001;
[net1,tr1]=train(net1,x,yn);
err1=min(tr1.perf);
if err1
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
53/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
54/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 54
Izgled funkcije y(x)=tan3(sin(x))+ln(x) na intervalu [9,19]
F i j b j k l i
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
55/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 55
Formiranje obuavajueg skupa, neuralne mree i
obuavanje
% Formiranje obuavajueg skupa. x=[9:0.03:19];
y=tan(sin(x)).^3+log(x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.5;
figure(1);
plot(x,y);
figure(2);
plot(x,yn);
% Inicijalno formiranje neuralne mree. net=newff([9 19], [10 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=1000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x);
% Prikazivanje rezultata.
figure(3);
plot(x,y,x,yn,x,ym);
I l d f k ij ( ) i t l [9 19]
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
56/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 56
Izgled funkcije yn(x) na intervalu [9,19]
Funkcija yn(x) je jednaka zbiru funkcije y(x) i dodatog aditivnog uma
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
57/63
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
58/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 58
Prikaz toka obuavanja neuralne mree
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
59/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 59
Promena intervala ulaznog signala
% Formiranje obuavajueg skupa. x=[8:0.03:21];
y=tan(sin(x)).^3+log(x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.5;
% figure(1); plot(x,y);
% figure(2); plot(x,yn);
% Inicijalno formiranje neuralne mree.
net=newff([9 19], [10 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=1000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x); % Prikazivanje rezultata.
figure(3); plot(x,y,x,ym);
Prikaz rezultata simulacije neuralne mree na skupu koji je razliit od
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
60/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 60
Prikaz rezultata simulacije neuralne mree na skupu koji je razliit od
obuavajueg skupa (zelena linija na grafiku)
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
61/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 61
Preobuavanje neuralne mree (overtraining)
% Formiranje obuavajueg skupa. x=[9:0.03:19];
y=tan(sin(x)).^3+log(x);
% Dodavanje aditivnog uma.
yn=y+randn(size(y))*0.5;
% figure(1);
% plot(x,y);
% figure(2);
% plot(x,yn);
% Inicijalno formiranje neuralne mree. net=newff([9 19], [50 1],{'tansig','purelin','trainlm'});
% Parametri obuavanja neuralne mree.
net.trainParam.epochs=1000;
net.trainParam.goal=0.000001;
% Obuavanje neuralne mree.
net=train(net,x,yn);
% Simulacija rada neuralne mree.
ym=sim(net,x);
% Prikazivanje rezultata.
figure(3);
plot(x,y,x,yn,x,ym);
Prikaz toka obuavanja neuralne mree u sluaju
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
62/63
Elektrotehniki fakultet univerziteta u
Beogradu, Seminarski rad 62
Prikaz toka obuavanja neuralne mree u sluaju
preobuavanja iste
Prikaz rezultata simulacije preobuene neuralne mree
8/11/2019 Primena Matlab-A u Projektovanju Fuzzy Sistema
63/63
j p
Izlaz neuralne mree je prikazan crvenom linijom