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