%  diary  "demo_fzero.txt"
%  ----------------------------------------------------------------------------------->|
%
%  formatujem  v  pisme: " Ariel, tucne, size 12 "

%  Funkciu  f  mozeme definovat  dvomi sposobmi:
%
%  1 -  inline objektom v prompte:  >>
%
%  2 -  ako M-funkciu ( definovanu v  M-subore )
%
-----------------------------------------------------------------------------------

%  Najprv si  funkciu  treba  zobrazit  a  lokalizovat   korene
%  teraz  predpokladajme, ze  sme  to  uz  urobili ...

%
%  Funkciu  f( . )  definujeme  ako  " inline objekt "
%

f = inline( '1./x - x + 1' )

f =
     Inline function:
     f(x) = 1./x - x + 1

%  Jednoduche  volanie funkcie  "fzero"  ma  tvar:

akor  = fzero( f, 1.5 )

akor  =
             1.618033988749895e+000

% f -- hodnotu ziskame takto:

f(akor)

ans =
          0

%  je  f(akor)  skutocne nula?
%  Pouzime relacny operator:

f(akor) == 0

ans =
           1

%  OK, rozumieme odozve,  funkcna hodnota
%  je  "pocitacova"  nula. 
% --------------------------------------------------------------------
%  Teraz druhy pripad:
%
%  funkcia lavej strany ako  M--funkcia (in M-file)
%  je definovana v subore 'fdemo'
%  ten subor musi byt v  "current directory"
%  alebo v takom adresari, 
%  do ktoreho vedie  "path"

akor2 = fzero( 'fdemo', 1.5 )

akor2 =
               1.618033988749895e+000

%  funkcnu hodnotu ziskame jednoducho

fdemo(akor2)

ans = 0

%  alebo pouzitim funkcie "feval"

y = feval( 'fdemo', akor2 )

y =
      0

%  pouzime relacny operator

y == 0

ans =
          1

%  OK.
%  Ak volame  funkciu s dvomi  vystupnymi argumentami,
%  tak ziskame aj funkcnu hodnotu v ziskanej aproximacii
%  pozri  skripta, resp.  help  fzero:

[ akor3, fhod ]  = fzero('fdemo', 1.5)

akor3 =
              1.618033988749895e+000

fhod =
              0

diary off

