Re: Desperate due to NMinimize
- To: mathgroup at smc.vnet.net
- Subject: [mg114653] Re: Desperate due to NMinimize
- From: "Nasser M. Abbasi" <nma at 12000.org>
- Date: Sun, 12 Dec 2010 05:40:27 -0500 (EST)
- References: <idv75v$t29$1@smc.vnet.net>
- Reply-to: nma at 12000.org
On 12/10/2010 10:53 PM, toxic topas wrote:
> I am working with Mathematica 7. I want to use NMinimize to find the
> minimum of a function that is calculated by an external program. It is
> called by Run with some arguments and it writes the result into a
> file. I then use Import to read the value. Such a situation can be
> mimicked by:
>
> dd[x_]:=(Export["test.dat",x^2];Import["test.dat"])[[1, 1]]
> NMinimize[dd[x],x]
>
> If you give the function dd a value it returns the result correctly
> (and writes a file). But NMinimize does not specify a value for x but
> tries to evaluate the expression generally for a global x. I tried
> everything that I could possibly think of using HoldAll, Unevaluated,
> With[{x=x},], ... Nothing worked.
>
> Is there anybody that can help me?
>
In[1]:= Remove["Global`*"]
dd[x_?NumericQ]:=(Export["test.dat",x^2];Import["test.dat"])[[1,1]]
Chop@NMinimize[dd[x],x]
Out[3]= {0,{x->5.905900171355918*10^-7}}
In[4]:= NMinimize[x^2,x]
Out[4]= {0.,{x->0.}}
--Nasser