Re: FindRoot with NDSolve inside of it doesn't work
- To: mathgroup at smc.vnet.net
- Subject: [mg111358] Re: FindRoot with NDSolve inside of it doesn't work
- From: Peter Breitfeld <phbrf at t-online.de>
- Date: Wed, 28 Jul 2010 07:26:32 -0400 (EDT)
- References: <i2ok79$7vf$1@smc.vnet.net>
Sam Takoy wrote: > Hi, > > I think it's completely self-explanatory what I'm trying to do in this > model example: > > f[x0_, y0_] := ( > sol = NDSolve[{x'[t] == x[t], y'[t] == y[t], x[0] == x0, > y[0] == y0}, {x, y}, {t, 0, 1}]; > {x[1], y[1]} /. sol[[1]] > ) > > (*f[x0_, y0_]:={x0 Exp[1], y0 Exp[1]}; (* Works for this f *) *) > FindRoot[f[x0, y0] == {2.7, 5.4}, {{x0, 1}, {y0, 2}}] > > Can someone please help me fix this and explain why it's not currently > working? > > Many thanks in advance! > > Sam > You should force the parameters of to be numeric. This is often helpful, when you get weird result with numeric functions. So write Clear[f] f[x0_?NumericQ, y0_?NumericQ]:=<your code from above> You'll get without any warning: Out= {x0->0.993274,y0->1.98655} -- _________________________________________________________________ Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de