 
 
 
 
 
 
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

