MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to use NMinimize with a numerical function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg65393] Re: How to use NMinimize with a numerical function
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Thu, 30 Mar 2006 05:29:43 -0500 (EST)
  • Organization: The Open University, Milton Keynes, UK
  • References: <e0dpjp$qau$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Marco Gabiccini wrote:
> Hi all,
> 
> I wanted to test NMinimize[] with a numerical function whose return value 
> is the result of another NMinimize.
> I defined the intersection with the abscissa of the parabola y=ax^2+bx+c as 
> f[a,b,c]
> and I want to find one set of values {a,b,c} for which that intersection is 
> reached at x=-2.
> 
> I defined
> 
> f[a_, b_, c_] :=
>    Module[{x}, NMinimize[{(a x^2 + b x + c)^2}, x][[2, 1, 2]]]
> 
> and I would like to find that particular value of {a,b,c} for which 
> f[a,b,c]=-2, that is why I call
> 
> FindMinimum[(f[r, s, t] + 2.0)^2, {{r, -5, 5}, {s, -5, 5}, {t, -5, 5}}]
> 
> but I get this error message
> 1760692.jpg
> 
> [Attachments are not permitted.  Please contact the author to 
> obtain this - moderator]
> 
> It seems that the latter FindMinimum[] keeps the r,s,t unevaluated when 
> calling f in the first FindMinimum. Is there a way to switch the order of 
> evaluation?
> 
> Can anybody help me?
> 
> Marco
> 
> 
Checking that the arguments of the function f are numerics should help.

In[1]:=
f[(a_)?NumericQ, (b_)?NumericQ, (c_)?NumericQ] :=
   Module[{x}, NMinimize[{(a*x^2 + b*x + c)^2}, x][[2,1,2]]]

Regards,
JM


  • Prev by Date: Re: Problem with Thread over Plus?
  • Next by Date: Re: solving
  • Previous by thread: Re: How to use NMinimize with a numerical function
  • Next by thread: Re: How to use NMinimize with a numerical function