Re: optimization nested in root-finding
- To: mathgroup at smc.vnet.net
- Subject: [mg64995] Re: optimization nested in root-finding
- From: dh <dh at metrohm.ch>
- Date: Sat, 11 Mar 2006 05:15:30 -0500 (EST)
- References: <durlt4$m9d$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Version= 5.1 for Microsoft Windows (October 25, 2004) Hello Neely, put a print statement Print[x] into function f2. You will see, that f2 is called with a non numerical argument x. You may prevent this by declaring: f2[x_Real]:=... HOWEVER, this is strange because FindRoot has the attribute "HoldAll" and should therefore replace the symbol x by a numerical value before calling f2. ???? HAS ANYBODY AN EXPLANATION ???? It looks like a bug to me. Daniel E. Neely Atkinson wrote: > I want to find some zeros of a function f(x). The evaluation of > f in turn requires finding a minimum. For a simple example. > > obj2[x_, y_] := (x - 2)^2 + (y - 3)^2 > > f2[x_] := > Module[ > {y}, > FindMinimum[obj2[x, y], {y, 0}][[1]] > ] > > Thus, f2[x] is the minimum value obj[x,y] can take for a > given fixed x. > > Now, I can plot f2[x] and all is well. However, when > I try to solve f2[x]==5, I have trouble. > > FindRoot[f2[x] == 5, {x, 1, 1.01}] > > complains and returns. I am sure I am doing something silly, > but I am having a slow-brain day and would appreciate any help. > > Neely Atkinson > Department of Biostatistics and Applied Mathematics > M. D. Anderson Cancer Center > > eatkinso at mdanderson.org >