help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fmincon - fminsearch : constrained simplex optimization in Octave?


From: Etienne Grossmann
Subject: Re: fmincon - fminsearch : constrained simplex optimization in Octave?
Date: Sat, 11 Nov 2006 15:18:59 -0500
User-agent: Mutt/1.4.2.1i

  Hi Baptiste,

other example, w/out a .m file.
======================================================================
octave:1> function y=myfunc(x), y=(x(1)-5).^2+(x(2)-8).^4; endfunction
octave:2>  fmins("myfunc",[0;0])
ans =
   4.9998
   7.9918
======================================================================

same, w/ a  .m file

======================================================================
address@hidden: echo "function y=myfunc(x), y=(x(1)-5).^2+(x(2)-8).^4; 
endfunction">myfunc.m
address@hidden: octave -q
octave:1> fmins("myfunc",[0;0])
ans =
   4.9998
   7.9918
======================================================================

  Hth,

  Etienne



On Sat, Nov 11, 2006 at 06:30:41PM +0000, baptiste auguie wrote:
# Thanks, your example (fix ?!) does work. I'm still confused though,  
# because I can't use an inline function (I have a rather involved  
# definition for it). Any small example with a function defined in a file?
# 
# thanks again,
# 
# baptiste
# _____________________________
# 
# 
# On 11 Nov 2006, at 16:43, Etienne Grossmann wrote:
# 
# >
# >  Hi,
# >
# >from help inline:
# >======================================================================
# > -- Built-in Function:  inline (STR)
# > -- Built-in Function:  inline (STR, ARG1, ...)
# > -- Built-in Function:  inline (STR, N)
# >     Create an inline function from the character string STR.  If
# >     called with a single argument, the arguments of the generated
# >     function are extracted from the function itself. The generated
# >     function arguments will then be in alphabetical order. It should
# >     be noted that i, and j are ignored as arguments due to the
# >     ambiguity between their use as a variable or their use as an
# >                            
# >vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
# >     inbuilt constant. >>>> All arguments followed by a parentheses  
# >are
# >     considered to be functions. <<<<<<
# >     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# >
# >     If the second and subsequent arguments are character strings,
# >     they
# >     are the names of the arguments of the function.
# >
# >     If the second argument is an integer N, the arguments are `"x"',
# >     `"P1"', ..., `"PN"'.
# >
# >     See also: argnames, formula, vectorize.
# >======================================================================
# >
# >So that inline creates a function w/ no argument:
# >======================================================================
# >octave:14> inline('(x(1)-5).^2+(x(2)-8).^4')
# >ans =
# >f() = (x(1)-5).^2+(x(2)-8).^4
# >======================================================================
# >
# >A fix is:
# >======================================================================
# >octave:15>  fmins(inline('(x(1)-5).^2+(x(2)-8).^4',0),[0;0])
# >ans =
# >   4.9998
# >   7.9918
# >======================================================================
# >
# >  Hth,
# >
# >  Etienne
# >
# >
# >On Sat, Nov 11, 2006 at 11:38:39AM +0000, baptiste auguie wrote:
# ># Hello,
# >#
# ># Thanks to your advice, I've installed Octave-Forge and I'm trying  
# >the
# ># different optimization routines available <http://
# ># octave.sourceforge.net/index/optimization.html#Minimization>.  
# >Without
# ># much success for my first try :(
# >#
# ># Here is the test example from fmins documentation and the result  
# >I get,
# >#
# ># > octave:1> fmins(inline('(x(1)-5).^2+(x(2)-8).^4'),[0;0])
# ># > error: `x' undefined near line 0 column 6
# ># > error: evaluating binary operator `-' near line 0, column 10
# ># > error: evaluating binary operator `.^' near line 0, column 13
# ># > error: evaluating binary operator `+' near line 0, column 16
# ># > error: called from `?unknown?'
# ># > error: evaluating binary operator `*' near line 63, column 12
# ># > error: evaluating assignment expression near line 63, column 6
# ># > error: called from `nmsmax' in file `/sw/share/octave/2.1.72/ 
# >site/m/
# ># > octave-forge/optim/nmsmax.m'
# ># > error: evaluating assignment expression near line 78, column 9
# ># > error: called from `fmins' in file `/sw/share/octave/2.1.72/ 
# >site/m/
# ># > octave-forge/optim/fmins.m'
# >#
# ># I've tried with a simpler function, in a different file (not  
# >inline),
# ># with the same error.
# >#
# ># I get the same sort of error for nelder_mead_min :
# >#
# ># > error: `x' undefined near line 3 column 4
# ># > error: evaluating binary operator `-' near line 3, column 5
# ># > error: evaluating binary operator `^' near line 3, column 8
# ># > error: evaluating assignment expression near line 3, column 2
# ># > error: called from `toto' in file `/Users/.../SPPfit/toto.m'
# >#
# ># where toto.m is the most basic function,
# >#
# ># > function f=toto(x)
# ># > f=(x-2)^2;
# ># > endfunction
# >#
# ># same thing for samin,
# >#
# ># > error: `x' undefined near line 2 column 10
# ># > error: evaluating argument list element number 1
# ># > error: evaluating binary operator `+' near line 2, column 13
# ># > error: evaluating assignment expression near line 2, column 4
# ># > error: called from `f' in file `/Users/.../SPPfit/f.m'
# ># > error: evaluating argument list element number 1
# >#
# >#
# ># Is there something wrong in my install of Octave-forge? I installed
# ># it using Fink for Mac OS. Octave seems to call the right functions,
# ># but they don't behave as I'd expect!
# >#
# ># Best wishes
# >#
# ># baptiste
# ># _______________________________________________
# ># Help-octave mailing list
# ># address@hidden
# ># https://www.cae.wisc.edu/mailman/listinfo/help-octave
# >
# >-- 
# >Etienne Grossmann ------ http://www.isr.ist.utl.pt/~etienne

-- 
Etienne Grossmann ------ http://www.isr.ist.utl.pt/~etienne


reply via email to

[Prev in Thread] Current Thread [Next in Thread]