MathGroup Archive 2007

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

Search the Archive

Re: Debug of FindRoot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg78879] Re: Debug of FindRoot
  • From: "David Park" <djmpark at comcast.net>
  • Date: Thu, 12 Jul 2007 05:09:22 -0400 (EDT)
  • References: <f72c9h$d75$1@smc.vnet.net>

It's because the algorithm jumps out of the local region that contains the 
local root.

Go to MathSource and find Ted Ersek's RootSearch package.

Needs["Ersek`RootSearch`"]

Bi=0.5;
RootSearch[BesselJ[0,z]/BesselJ[1,z]==z/Bi, {z, 0.2, 12}]

{{z->0.940771},{z->3.95937},{z->7.08638},{z->10.2225}}

The problem is that RootSearch is a more general algorithm than simply 
finding roots along a real line. It will, for example, find complex roots. 
However, it does not work well for the real line root case, the most common 
application by far,  and a cause of many questions on this news group. WRI 
might consider making arrangements with Ted Ersek to incorporate his 
algorithm as a special form of FindRoot.
-- 
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/



"Miguel" <misvrne at gmail.com> wrote in message 
news:f72c9h$d75$1 at smc.vnet.net...
> To resolve one of the heat equations it is necesary to calculate the
> solution of z for BesselJ[0,z]/BesselJ[1,z]==z/Bi, where Bi is the
> Biot number (equal to 0.5, for example).
>
> 1.- Plot[{BesselJ[0,z]/BesselJ[1,z],z/Bi},{z,0.001,12}].
>
>>From this plot I deduce the ranges, more or less, {1,4,7,10}.
>
> 2.- FindRoot[BesselJ[0,z]/BesselJ[1,z]==z/Bi,{z,#}]&/@{1,4,7,10}
> {{z->0.940771},{z->3.95937},{z->0.940771},{z->3.95937}}
>
> I dont understand the reason. With others differents intervals it
> works fine.
>
> 



  • Prev by Date: Re: Graphics - Manipulate Question
  • Next by Date: Mathematica player, nbp file format, just for the demonstration project?
  • Previous by thread: Re: Debug of FindRoot
  • Next by thread: Re: Debug of FindRoot