Re: List, FindRoot, Bessel
- To: mathgroup at smc.vnet.net
- Subject: [mg33651] Re: List, FindRoot, Bessel
- From: adam.smith at hillsdale.edu (Adam Smith)
- Date: Thu, 4 Apr 2002 19:40:21 -0500 (EST)
- References: <a8g3c5$b3e$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
The construction {k->3.2},{k->5.2} is called a replacement rule in Mathematica. If you want to assign a value using your method then you need to use the following construction k/.FindRoot[...]. Specifically for your example: n = 3; For[m = 0, m < n, Print[ k /. FindRoot[-k BesselJ[1, k] + 30 BesselJ[0, k] == 0, {k, 2.32 + m Pi}]]; m++] Note: I changed your counter "i" to "m". This is a personal taste - I try to avoid "i" so that I don't get it confused with the "I" symbol defined in Mathematica to be the Sqrt[-1] However, there is a better method using the Table[] command n = 3; myk = Table[ k /. FindRoot[- k BesselJ[1, k] + 30 BesselJ[0, k] == 0, {k, 2.32 + m*Pi}], {m, 0, n}] This then creates a list (I called it myk, you can pick any name you want) which is n elements long with each element the specific solutions form m=0,1,2,3. {2.32614, 5.34098, 8.37707, 11.4221} You can pick a specific element with the following construction: In[13]:= myk[[2]] myk[[4]] Out[13]= 5.34098 Out[14]= 11.4221 Hope that helps. "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