Primena Matlab-A u Projektovanju Fuzzy Sistema

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