MathGroup Archive 2002

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

Search the Archive

Re: List, FindRoot, Bessel

  • To: mathgroup at smc.vnet.net
  • Subject: [mg33655] Re: List, FindRoot, Bessel
  • From: bghiggins at ucdavis.edu (Brian Higgins)
  • Date: Thu, 4 Apr 2002 19:40:34 -0500 (EST)
  • References: <a8g3c5$b3e$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

First, here is a possible solution:
guess = Table[2.32 + i Pi, {i, 0, 9}];

k /. Map[FindRoot[- k BesselJ[1, k] + 30 BesselJ[0, k] == 0, {k, #}]
&, guess]


{2.32614, 5.34098, 8.37707, 11.4221, 14.4748, 17.5348, 20.602,
23.6762, \
26.7568, 29.8435}

The notation k->2.32614 is a rule. In the help browser you will find
the following info:
"lhs->rhs represents a rule that transforms lhs to rhs"

You can implement this rule using the ReplaceAll operator (/.). Thus
k/.k->2.32614 yields 2.32614.

FindRoot returns results in the form of rules. Thus if you evaluate

k/.FindRoot[FindRoot[- k BesselJ[1, k] + 30 BesselJ[0, k] == 0, {k,
2.32}]
you get  the numerical value.

Cheers,

Brian


 
"Riadh Alimi" <alimir3 at cti.ecp.fr> wrote in message news:<a8g3c5$b3e$1 at smc.vnet.net>...
> Hi !
> 
> I'm trying to find the first n roots of an equation involving Bessel
> Functions and to create a List of them.
> 
> The best thing I find so far is :
> n = 10;
> For[i = 0, i < n,
>   Print[FindRoot[- k BesselJ[1, k] + 30 BesselJ[0, k] == 0, {k,
>         2.32 + i Pi}]];
>   i++]
> 
> And the result I get is :
> 
> {k->3.2}
> {k->5.2}
> {k->8.3}
> ....
> 
> Does anyone know what {k->3.2} means ? And how I could get only the value
> 3.2 instead of {k->3.2} in order to create a list?
> 
> Thank you


  • Prev by Date: Re: Unexpected result with RSolve?
  • Next by Date: Re: List, FindRoot, Bessel
  • Previous by thread: Re: List, FindRoot, Bessel
  • Next by thread: Re: List, FindRoot, Bessel