Re: FindMinimum Problem
- To: mathgroup at smc.vnet.net
- Subject: [mg44707] Re: FindMinimum Problem
- From: Jiang Xiao <jiang.xiao at physics.gatech.edu>
- Date: Fri, 21 Nov 2003 05:13:29 -0500 (EST)
- Organization: Georgia Institute of Technology
- References: <bpa1rv$19t$1@smc.vnet.net> <bpd1bi$c9c$1@smc.vnet.net> <bpffpl$lv6$1@smc.vnet.net> <bphuh2$1on$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
yes, this works great, thank you guys. Jiang Bobby R. Treat wrote: > This works for me using version 5.0: > > foo[x_?NumericQ] := x^2 - a[0]*x /. First@ > NDSolve[{a'[z] == x*z, a[1] == 1}, a, {z, -1, 1}] > FindMinimum[foo[x], {x, -1, 1}] > > {-0.166667, {x -> 0.333333}} > > Jens-Peer had left out "First@", so foo took on List values like {2.5} > rather than just the number 2.5. It's also important to make the range > {z,-1,1} encompass the range where a minimum might be found -- > especially the two initial starting points, which were 1 and -1 in his > post. > > The pattern x_?NumericQ matches x if it is numeric -- as it will be > when FindMinimum tries to iterate to a solution. If you don't use that > pattern, you get an error message when FindMinimum tries a symbolic x > value (which it does, for some reason I can't fathom). > > Bobby > > Jiang Xiao <jiang.xiao at physics.gatech.edu> wrote in message news:<bpffpl$lv6$1 at smc.vnet.net>... > >>thank you for replying, I tried it, but it still doesn't work. >>what's the meaning of x_?NumericQ? >>if I let foo[x_?NumericQ]:=x^2-x, findminimum can't get output either, >>but no problem with foo[x_]:=x^2-x. >> >>Jiang >> >>Jens-Peer Kuska wrote: >> >>>Hi, >>> >>>you ust make a function >>> >>>foo[x_?NumericQ]:=x^2-a[0]*x/.NDSolve[{a'[z]==x*z,a[1]==1},a,{z,0,1}] >>> >>>FindMinimum[foo[x],{x,-1,1}] >>> >>>Regards >>> Jens >>> >>>Jiang Xiao wrote: >>> >>> >>>>Hi, all, >>>> recently I am dealing with a problem as following, findminimum(over x) >>>>of a function f[a[0],x], where a[z] satisfies a differential equation >>>>a'[z]=x*z say. The code is like: >>>>FindMinimum[x^2-a[0]*x/.NDSolve[{a'[z]==x*z,a[1]==1},a,{z,0,1}],{x,-1,1}] >>>> >>>>the problem is that I can do it in mathematica 4.2, but can't in mathematica >>>>5.0 now. Do anybody where is the problem? >>>> >>>>thanks, >>>> >>>>Jiang >>> >>> >