Re: Using FindRoot or interpolation function with symbolic argument
- To: mathgroup at smc.vnet.net
- Subject: [mg92187] Re: Using FindRoot or interpolation function with symbolic argument
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Mon, 22 Sep 2008 07:09:43 -0400 (EDT)
- Organization: Uni Leipzig
- References: <gb7ob8$nfp$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
Hi, a) the Compile[] is pure nonsense, what should be faster when calling the FindRoot[] function. b) you mean f[y_?NumericQ] := x /. FindRoot[ArcTanh[x] == y x, {x, 99/100}] c) your final question "Is there a way to define an NDSolve-digestible equation that calls FindRoot with symbolic arguments?" is just the opposite of that what you like to do .. Regards Jens exoptery at gmail.com wrote: > I'd like to use NDSolve to integrate a pair of ODEs. Expressing > the system as a set of explicit equations, however, requires the > inverse of ArcTanh[x] / x. I thought I'd define a function for this > as follows: > > > f = Compile[{{y, _Real}}, x /. FindRoot[ArcTanh[x] == y x, {x, > 99/100}]]; > > > However, when I set, say, > > > eqn1 = u'[R] == u[R] f[(u[R] (1 + v[R])^2)/(1 + v[R]^2)] > > > Mathematica clearly dislikes the use of symbols instead of a numerical > argument. > > > Is there a way to define an NDSolve-digestible equation that > calls FindRoot with symbolic arguments? > > Thank you for your attention. > > J. >