MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Using FindRoot or interpolation function with symbolic argument

  • To: mathgroup at smc.vnet.net
  • Subject: [mg92193] Re: Using FindRoot or interpolation function with symbolic argument
  • From: dh <dh at metrohm.ch>
  • Date: Mon, 22 Sep 2008 07:23:52 -0400 (EDT)
  • References: <gb7ob8$nfp$1@smc.vnet.net>


Hi,

if you do not compile f, your problem disappears. E.g.:

f[y_?NumericQ] := (x /. FindRoot[ArcTanh[x] == y x, {x, 99/100}])

hope this helps, Daniel



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.

> 





-- 



Daniel Huber

Metrohm Ltd.

Oberdorfstr. 68

CH-9100 Herisau

Tel. +41 71 353 8585, Fax +41 71 353 8907

E-Mail:<mailto:dh at metrohm.com>

Internet:<http://www.metrohm.com>




  • Prev by Date: Re: Changing names of variables in a loop
  • Next by Date: Re: Changing names of variables in a loop
  • Previous by thread: Using FindRoot or interpolation function with symbolic argument
  • Next by thread: Re: Using FindRoot or interpolation function with symbolic argument