34
NELINEARNE JEDNAČINE, OPTIMIZACIJA, NEURONSKE MREŽE I NJIHOVA PRIMENA 1

NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

  • Upload
    others

  • View
    8

  • Download
    1

Embed Size (px)

Citation preview

Page 1: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

NELINEARNE JEDNAČINE,

OPTIMIZACIJA,

NEURONSKE MREŽE I NJIHOVA PRIMENA

1

Page 2: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

SADRŽAJ

1 NELINEARNE JEDNAČINE ....................................................................................................... 4

1.1 NUMERIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA JEDNOM PROMENLJIVOM ..................... 4

1.1.1 KRITERIJUMI ZA ZAVRŠETAK ITERACIONOG PROCESA .................................................................................................. 9

1.2 METODE ZA REŠAVANJE NELINEARNE JEDNAČINE SA JEDNOM PROMENLJIVOM ...................... 12

1.2.1 METODA POLOVLJENJA INTERVALA (BISEKCIONA METODA) ...................................................................................... 13

1.2.2 METODA LAŽNOG POLOŽAJA (METODA REGULA FALSI) ............................................................................................. 14

1.2.3 NJUTNOVA METODA ................................................................................................................................................... 15

1.2.4 METODA SEČICE .......................................................................................................................................................... 16

1.3 GRAFIČKE METODE ZA REŠAVANJE NELINEARNIH JEDNAČINA ................................................... 17

1.3.1 GRAFIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA JEDNOM PROMENLJIVOM....................................................... 17

1.3.2 GRAFIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA DVE PROMENLJIVE .................................................................. 19

1.4 ANALITIČKO REŠAVANJE SISTEMA NELINERANIH JEDNAČINA F(x) = 0 ........................................ 21

1.5 NUMERIČKO REŠAVANJE SISTEMA NELINEARNIH JEDNAČINA F(x) = 0 ....................................... 23

2 OPTIMIZACIONI PROBLEMI BEZ OGRANIČENJA .................................................................. 35

2.1 ANALITIČKA REŠENJA I METODE ZA GRAFIČKO REŠAVANJE MINIMIZACIONOG PROBLEMA ...... 36

2.2 NUMERIŠKO REŠAVANJE OPTIMIZACIONIH PROBLEMA BEZ OGRANIČENJA ............................... 40

2.3 GLOBALNI I LOKALNI MINIMUMI ................................................................................................. 44

2.4 REŠAVANJE OPTIMIZACIONIH PROBLEMA KORIŠĆENJEM GRADIJENATA FUNKCIJE ................... 47

2

Page 3: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

3 OPTIMIZACIONI PROBLEMI SA OGRANIČENJIMA ................................................................ 50

3.1 REŠAVANJE PROBLEMA LINEARNOG PROGRAMIRANJA .............................................................. 51

3.2 REŠAVANJE PROBLEMA KVADRATNOG PROGRAMIRANJA .......................................................... 55

3.3 REŠAVANJE OPŠTIH NELINEARNIH OPTIMIZACIONIH PROBLEMA ............................................... 58

3.4 OPTIMIZACIJA UZ POMOĆ GRAFIČKOG INTERFEJSA .................................................................... 63

4 NEURONSKE MREŽE I NJIHOVA PRIMENA ........................................................................... 72

4.1 OSNOVE NEURONSKIH MREŽA .................................................................................................... 72

4.1.1 KONCEPT I STRUKTURA NEURONSKIH MREŽA ............................................................................................................ 72

4.1.2 KREIRANJE NEURONSKE MREŽE .................................................................................................................................. 78

4.1.3 OBUČAVANJE NEURANSKE MREŽE .............................................................................................................................. 81

4.2 FITIVANJE PODATAKA POMOĆU NEURONSKIH MREŽA ............................................................... 88

4.2.1 GRAFIČKI INTERFEJS ZA FITOVANJE PODATAKA KORIŠĆENJEM NEURONSKIH MREŽA ............................................... 90

4.2.2 FITOVANJE PODATAKA KORIŠĆENJEM PROGRAMSKOG KODA ................................................................................. 107

4.2.3 ODREĐIVANJE PARAMETARA NEURONSKE MREŽE ................................................................................................... 110

4.3 MODELOVANJE SISTEMA POMOĆU NEURONSKIH MREŽA ........................................................ 112

4.3.1 GRAFIČKI INTERFEJS ZA MODELOVANJE SISTEMA POMOĆU NEURONSKIH MREŽA ................................................. 115

4.3.2 MODELOVANJE SISTEMA KORIŠĆENJEM PROGRAMSKOG KODA.............................................................................. 139

4.3.3 ODREĐIVANJE PARAMETARA NEURONSKE MREŽE ................................................................................................... 143

4.4 SKUPOVI PODATAKA KOJI DOLAZE SA NEURAL NETWORK TOOLBOX ....................................... 145

3

Page 4: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1 NELINEARNE JEDNAČINE

1.1 NUMERIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA JEDNOM

PROMENLJIVOM

U inženjerskim proračunima čest problem je nalaženje rešenja opšte

nelinearne jednačine

( ) 0f x (1)

TEOREMA 1. Ako je funkcija ( )f x neprekidna u zatvorenom intervalu [ , ]a b i

ako je ( ) ( ) 0f a f b , tada u intervalu ( , )a b postoji bar jedno realno rešenje

(koren) jednačine (1).

4

Page 5: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

TEOREMA 2. Ako je pored uslova u Teoremi 1, zadovoljen i uslov da je funkcija

( )f x monotona u posmatranom intervalu, onda na ovom intervalu postoji

jedinstveno realno rešenje (koren) jednačine (1).

5

Page 6: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa

kojim se u tekućem 1k koraku iteracije procenjuje nova 1k

x

vrednost

rešenja u funkciji:

jedne ( )k

x ili više 1

( , ,...)k k

x x

procenjenih vrednosti iz prethodnog

(prethodnih) koraka iteracije i

vrednosti funkcije ( )f za te prethodne procene.

Primenom iterativnog procesa dobija se niz uzastopnih procena realnih

korena jednačine (1)

0 1 2 1, , , , , ,

k kx x x x x

(2)

tj. niz vrednosti , 0,1,2,k

x k koje nazivamo iteracioni niz.

Nulta procena 0

x je polazna procena traženog rešenja koja je neophodna.

6

Page 7: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Formula kojom se iz jedne ili više prethodnih procena dobija nova procena

naziva se iteraciona formula.

Specijalno, ako se nova procena (aproksimacija) dobija samo na bazi

prethodne procene, iteraciona formula ima oblik:

1

( ), 0,1,2,...k k

x F x k (3)

Funkcija ( )F x se naziva iteraciona funkcija.

Ako iteracioni niz konvergira željenom rešenju :

limk

kx

(4)

kaže se da iteracioni proces konvergira ka traženom rešenju jednačine ( ) 0.f x

Tada, za konvergentni proces važi:

( )F (5)

7

Page 8: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Razlikujemo dva slučaja konvergentnog procesa:

monotona konvergencija (iteracioni niz je monoton i aproksimacije k

x ,

0,1,2,...k se približavaju tački na brojnoj pravoj sa jedne strane te

tačke.

oscilatorna konvergencija (dve uzastopne aproksimacije korena k

x i 1k

x

,

0,1,2,...k su sa dve različite strane korena

8

Page 9: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.1.1 KRITERIJUMI ZA ZAVRŠETAK ITERACIONOG PROCESA

Za završetak iteracionog procesa koriste se različiti kriterijumi:

1k k

x x (6)

1

1

k k

k

x x

x

(7)

1

( )k f

f x

(8)

gde su:

i f

zadate granice apsolutnih odstupanja po proceni rešenja ili vrednosti

funkcije u procenjenom korenu

zadate granice relativnog odstupanja po proceni rešenja (tolerancija)

- mali broj kojim se sprečava deljenje nulom u slučaju kada se za procenu

1kx

dobije nula.

Kada je odabrani kriterijum konvergencije zadovoljen, kao (približno) rešenje

jednačine ( ) 0f x usvaja se poslednja procena, 1k

x

.

9

Page 10: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

U slučaju monotone konvergencije uslov 1k k

x x ne garantuje da će

se usvojena procena 1k

x

razlikovati od tačnog rešenja za zadato , tj.

ne važi implikacija:

1 1k k k

x x x (9)

Drugim rečima, uslov 1k k

x x je potreban uslov, a ne i dovoljan uslov

za 1k

x (slika a: ( )f x ima veliki nagib u okolini nule

1kx

).

Slično tvrđenje važi i na kriterijum 1

( )k f

f x

(slika b: ( )f x ima mali

nagib u okolini nule 1k

x ).

10

Page 11: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Željenu tačnost rešenja, u slučaju monotone konvergrencije, može da

garantuje konjukcija uslova (6) i (8):

1 1

( )k k k f

x x f x (10)

odnosno konjukcija uslova (7) i (8).

U slučaju oscilatorne konvergencije iskaz (9) tačan, pa uslov 1k k

x x

predstavlja dovoljan uslov da se usvojeno rešenje 1k

x

razlikuje od tačnog

rešenja manje od zadate tolerancije .

11

Page 12: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.2 METODE ZA REŠAVANJE NELINEARNE JEDNAČINE SA JEDNOM

PROMENLJIVOM

1. Metoda polovljenja intervala (bisekciona metoda)

2. Metoda lažnog položaja (metoda regula falsi)

3. Njutnova metoda

4. Metoda sečice

12

Page 13: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.2.1 METODA POLOVLJENJA INTERVALA (BISEKCIONA METODA)

To je najjednostavnija metoda nalaženja korena nelinearne funkcije.

Ona funkcioniše za sve neprekidne funkcije, ali zato daje najlošiju procenu

korena.

1. Početni interval [ , ]a b se selektuje tako da je zadovoljen uslov

( ) ( ) 0f a f b .

2. Izračuna se srednja tačka intervala ( ) / 2m a b .

3. Ako je ( ) ( ) 0f a f m , koren

jednačine se nalaz u intervalu [ , ]a m i

gornja granica intervala b se setuje

na b m .

4. Ako je ( ) ( ) 0f a f m , koren

jednačine se nalaz u intervalu [ , ]m b i

donja granica intervala a se setuje

na a m .

5. Proces se ponavlja sve dok se ne

ispuni uslov b m , gde je ( ) / 2m a b .

13

Page 14: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.2.2 METODA LAŽNOG POLOŽAJA (METODA REGULA FALSI)

Nastaje kao prirodna posledica ubrzavanja metode polovljenja. Ova metoda

konvergira ako se barem jedan koren funkcije ( )f nalazi unutar interval [ , ].a b

1. Selektuju se dve tačke 0 0

( , ( ))x f x i 1 1

( , ( ))x f x tako da važi 0 1

( ) ( ) 0f x f x

2. Određuje se međuvrednost između 0

x i 1

x kao

1

1

1

( ) 1,2,...( ) ( )

k k

k k k

k k

x xx x f x k

f x f x

(11)

3. Ako je 1

( ) ( ) 0k k

f x f x

, 1,2,...k ,

setuje se 1k k

x x

.

4. Ako je 1

( ) ( ) 0k k

f x f x

, 1,2,...k ,

setuje 1 1k k

x x .

5. Proces se prekida kada se koren

adekvatno proceni na osnovu

usvojenog kriterijuma.

14

Page 15: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.2.3 NJUTNOVA METODA

Nutnova metoda se izvodi iz

uslova aproksimacije

funkcije njenom tangentom

u okolini tekuće tačke kx ,

koja predstavlja procene

korena jednačine ( ) 0f x ,

( ) ( )( )k k ky f x f x x x (12)

Rešavanjem (12) po x , uz uslov ( ) 0y f x dobija ( ) / ( )k k kx x f x f x

Ukoliko se stavi 1kx x

, za novu procenu korena funkcije dobija se:

1

( )0,1,2,...

( )

kk k

k

f xx x k

f x

(13)

Proces izračunavanja 1kx se prekida kada se koren adekvatno proceni na

osnovu usvojenog kriterijuma.

15

Page 16: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.2.4 METODA SEČICE

Ako se u Njutnovoj formuli

(13) izvod ( )kf x aproksimira

sa:

1

1

( ) ( )( ) k k

k

k k

f x f xf x

x x

dobija se iterativni algoritam

metode sečice:

1 1

1

( )( ) 0,1,2,...

( ) ( )

kk k k k

k k

f xx x x x k

f x f x

(14)

16

Page 17: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.3 GRAFIČKE METODE ZA REŠAVANJE NELINEARNIH JEDNAČINA

1.3.1 GRAFIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA JEDNOM

PROMENLJIVOM

Matlab funkcija za crtanje funkcija: ezplot(), fplot()

17

Page 18: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Primer 1. Rešiti jednačinu

koristeći grafički metod i ispitati tačnost rešenja. Rešenje.

syms t y=exp(-3*t)*sin(4*t+2)+4*exp(-0.5*t)*cos(2*t)-0.5; fplot(y,[0 5]) line([0,5],[0,0])

ezplot(’exp(-3*t)*sin(4*t+2)+4*exp(-0.5*t)*cos(2*t)-0.5’,[0 5])

line([0,5],[0,0])

18

Page 19: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.3.2 GRAFIČKO REŠAVANJE NELINEARNIH JEDNAČINA SA DVE PROMENLJIVE

Primer 2. Rešiti grafičkom metodom jednačine

Rešenje.

ezplot(’x^2*exp(-x*y^2/2)+exp(-x/2)*sin(x*y)’)

hold on; ezplot(’y^2 *cos(y+x^2) +x^2*exp(x+y)’)

hold off

19

Page 20: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Primer 3. Rešiti grafičkom metodom jednačine

Rešenje.

ezplot(’x^2+y^2-1’); hold on

ezplot(’0.75*x^3-y+0.9’)

Zamenom y iz druge jednačine u prvu dobija

se jedna jednačina 6-tog reda po x , koja ima 6

korena. Dva realna korena se mogu odrediti sa

grafika, a preostala 4 korena su kompleksna.

Koristeći funkciju solve() možemo odrediti sve

korene prethodnog sistema nelinearnih

jednačina.

20

Page 21: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.4 ANALITIČKO REŠAVANJE SISTEMA NELINERANIH JEDNAČINA F(x) = 0

syms x y;

solve([x^2+y^2-1==0, 75*x^3/100-y+9/10==0])

y = 0.19042 + 0i 0.93412 + 0i -1.4916 - 0.70588i -1.4916 + 0.70588i 0.92934 - 0.21144i 0.92934 + 0.21144i

x = -0.9817 + 0i 0.35697 + 0i 0.86632 - 1.2154i 0.86632 + 1.2154i -0.55395 - 0.35472i -0.55395 + 0.35472i

21

Page 22: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Primer 4. Rešiti sistem jednačina sa parametrima a i b

syms a b x y;

[x,y]=solve([x^2+a*x^2+6*b+3*y^2==0,y==a+(x+3)],[x,y])

x =

y =

22

Page 23: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

1.5 NUMERIČKO REŠAVANJE SISTEMA NELINEARNIH JEDNAČINA F(x) = 0

fun – defineše funkciju koja može biti data u obliku M-funkcije, anonimne

funkcije ili inline funkcije

x0 – početna vrednost rešenja

options – služi za selektovanje metode i kontrolu tačnosti prilikom

pretraživanja rešenja; zadaje se pomoću optimset ili optimoptions

x – jedno rešenje

fval – vrednost funkcije za nađeno rešenje x

exitflag – defineše tip nađenog izlaza

output - sadrži informacije o procesu optimizacije

23

Page 24: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Definisanje funkcije fun:

1. preko m-fajla

x = fsolve(@myfun,x0)

gde myfun je Matlab m-funkcija oblika

function F = myfun(x)

F = ...

2. preko anonimne funkcije

x = fsolve(@(x)sin(x.*x),x0);

ili

f=@(x)sin(x.*x)

x = fsolve(f,x0);

24

Page 25: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

optimset

Option Value Description

Display 'off' | 'iter' |

{'final'} | 'notify'

Level of display. 'off' displays no output; 'iter' displays output

at each iteration (not available forlsqnonneg); 'final' displays just

the final output; 'notify' displays output only if the function does

not converge.

FunValCheck {'off'} | 'on' Check whether objective function values are valid. 'on' displays an

error when the objective function returns a value that is complex orNaN. 'off' displays no error.

MaxFunEvals positive integer Maximum number of function evaluations allowed.

MaxIter positive integer Maximum number of iterations allowed.

OutputFcn function | {[]} User-defined function that an optimization function calls at each iteration. See Output Functions.

PlotFcns function | {[]} User-defined or built-in plot function that an optimization function calls at each iteration. Built-in functions:

@optimplotx plots the current point

@optimplotfval plots the function value

@optimplotfunccount plots the function count (not available

forfzero)

See Plot Functions.

TolFun positive scalar Termination tolerance on the function value. See Tolerances and Stopping Criteria.

TolX positive scalar Termination tolerance on x, the current point. See Tolerances and Stopping Criteria.

25

Page 26: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Podrazumevane vrednosti za options

Display: [ off | iter | iter-detailed | notify | notify-detailed | final | final-detailed ] MaxFunEvals: [ positive scalar ] MaxIter: [ positive scalar ] TolFun: [ positive scalar ] TolX: [ positive scalar ] FunValCheck: [ on | {off} ] OutputFcn: [ function | {[]} ] PlotFcns: [ function | {[]} ] Algorithm: [ active-set | interior-point | interior-point-convex | levenberg-marquardt | ... sqp | trust-region-dogleg | trust-region-reflective ] AlwaysHonorConstraints: [ none | {bounds} ] DerivativeCheck: [ on | {off} ] Diagnostics: [ on | {off} ] DiffMaxChange: [ positive scalar | {Inf} ] DiffMinChange: [ positive scalar | {0} ] FinDiffRelStep: [ positive vector | positive scalar | {[]} ] FinDiffType: [ {forward} | central ] GoalsExactAchieve: [ positive scalar | {0} ] GradConstr: [ on | {off} ] GradObj: [ on | {off} ]

26

Page 27: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

HessFcn: [ function | {[]} ] Hessian: [ user-supplied | bfgs | lbfgs | fin-diff-grads | on | off ] HessMult: [ function | {[]} ] HessPattern: [ sparse matrix | {sparse(ones(numberOfVariables))} ] HessUpdate: [ dfp | steepdesc | {bfgs} ] InitBarrierParam: [ positive scalar | {0.1} ] InitTrustRegionRadius: [ positive scalar | {sqrt(numberOfVariables)} ] Jacobian: [ on | {off} ] JacobMult: [ function | {[]} ] JacobPattern: [ sparse matrix | {sparse(ones(Jrows,Jcols))} ] LargeScale: [ on | off ] MaxNodes: [ positive scalar | {1000*numberOfVariables} ] MaxPCGIter: [ positive scalar | {max(1,floor(numberOfVariables/2))} ] MaxProjCGIter: [ positive scalar | {2*(numberOfVariables-numberOfEqualities)} ] MaxSQPIter: [ positive scalar | {10*max(numberOfVariables,numberOfInequalities+numberOfBounds)} ] MaxTime: [ positive scalar | {7200} ] MeritFunction: [ singleobj | {multiobj} ] MinAbsMax: [ positive scalar | {0} ] ObjectiveLimit: [ scalar | {-1e20} ] PrecondBandWidth: [ positive scalar | 0 | Inf ] RelLineSrchBnd: [ positive scalar | {[]} ] RelLineSrchBndDuration: [ positive scalar | {1} ]

27

Page 28: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

ScaleProblem: [ none | obj-and-constr | jacobian ] SubproblemAlgorithm: [ cg | {ldl-factorization} ] TolCon: [ positive scalar ] TolConSQP: [ positive scalar | {1e-6} ] TolPCG: [ positive scalar | {0.1} ] TolProjCG: [ positive scalar | {1e-2} ] TolProjCGAbs: [ positive scalar | {1e-10} ] TypicalX: [ vector | {ones(numberOfVariables,1)} ] UseParallel: [ logical scalar | true | {false} ]

28

Page 29: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

exitflag

1 Equation solved. First-order optimality is small.

2 Equation solved. Change in x smaller than the

specified tolerance.

3 Equation solved. Change in residual smaller than the specified tolerance.

4 Equation solved. Magnitude of search direction smaller than specified tolerance.

0 Number of iterations exceeded options.MaxIterations or number of

function evaluations exceededoptions.MaxFunctionEvaluations.

-1 Output function or plot function stopped the algorithm.

-2 Equation not solved. The exit message can have more information.

-3 Equation not solved. Trust region radius became too small (trust-region-dogleg algorithm).

29

Page 30: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

output

iterations Number of iterations taken

funcCount Number of function evaluations

algorithm Optimization algorithm used

cgiterations Total number of PCG iterations ('trust-region' algorithm only)

stepsize Final displacement in x (not

in 'trust-region-dogleg')

firstorderopt Measure of first-order optimality

message Exit message

30

Page 31: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Primer 5. Rešiti sistem jednačina iz Primera 3 koristeći funkciju fsolve

Rešenje.

x p(1)

z p(2)

f=@(p)[p(1)*p(1)+p(2)*p(2)-1; 0.75*p(1)^3-p(2)+0.9];

OPT=optimset; % uzima podrazumevane vrednosti za options

OPT.Display='iter'; % Prikazuje vrednosti tokom iteracija

[x,y,flag,izlaz]=fsolve(f,[1; 2],OPT)

1 2

T

p p p - vektor promenljivih

31

Page 32: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

izlaz =

struct with fields:

iterations: 6

funcCount: 21

algorithm: 'trust-region-dogleg'

firstorderopt: 1.3061e-10

message: Equation solved.

x = 0.35697 0.93412 y = 1.2151e-10 9.6407e-11 flag = 1

32

Page 33: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

Primer 6. Odredimo rešenje jednačine iz Primera 1 koristeći funkcije solve i

fsolve.

Rešenje.

1. korišćenjem solve

syms t x;

solve(exp(-3*t)*sin(4*t+2)+4*exp(-0.5*t)*cos(2*t)-0.5)

Warning: Unable to solve symbolically. Returning a numeric solution using vpasolve.

ans =

0.67374570500134756702960220427474

Dakle, rešenje nije analitički rešavano, već je dobijeno numerički. Kako odrediti

preostala rešenja?

33

Page 34: NEURONSKE MREŽE I NJIHOVA PRIMENA - tf.ni.ac.rs · Približno rešenje jednačine (1) može se dobiti primenom iterativnog procesa kojim se u tekućem k 1 koraku iteracije procenjuje

2. korišćenjem fsolve uz grafički prikaz radi postavljanja početnog rešenja

y=@(t)exp(-3*t).*sin(4*t+2)+4*exp(-0.5*t).*cos(2*t)-0.5;

ff=optimset; ff.TolX=1e-16; ff.TolFun=1e-30;

[t1,f1]=fsolve(y,0.5,ff)

[t2,f2]=fsolve(y,2.5,ff)

[t3,f3]=fsolve(y,3.8,ff)

t1 = 0.67375 f1 = 0 t2 = 2.5937 f2 = -1.1102e-16 t3 = 3.5203 f3 = 0

34