Re: Multiple FindRoot

*To*: mathgroup at smc.vnet.net*Subject*: [mg109803] Re: Multiple FindRoot*From*: Andrzej Kozlowski <akoz at mimuw.edu.pl>*Date*: Tue, 18 May 2010 06:12:13 -0400 (EDT)

You do not need FindRoot for this. Reduce will find all the solutions in any compact interval. For example, here are all the solutions between -50 and 50. N[lambda /. {ToRules[Reduce[Tan[lambda] ==== -2*lambda && -50 < lambda < 50, lambda]]}, 10] {-48.70495167,-45.56406660,-42.42328626,-39.28263575,-36.14214890,-33.00187236,-29.86187240,-26.72224637,-23.58314331,-20.44480347,-17.30764054,-14.17243207,-11.04082982,-7.917052685,-4.815842318,-1.836597203,0,1.836597203,4.815842318,7.917052685,11.04082982,14.17243207,17.30764054,20.44480347,23.58314331,26.72224637,29.86187240,33.00187236,36.14214890,39.28263575,42.42328626,45.56406660,48.70495167} Andrzej Kozlowski On 18 May 2010, at 15:00, EF wrote: > > Find Lambda Values for Tan[Lambda] ==== -([Lambda]/h) and e.g. h == 0.5 > > the first 10 Lambda Values for h == 0.5 are > > In[27]:==Lambda == > > Out[27]== {1.837, 4.816, 7.917, 11.04, 14.17, 17.31, 20.44, 23.58, 26.72, > 29.86} > > My solution requires > 1) FindRoot for a wide range of starting (ending) values > 2) Eliminate the great number of double real solutions > 3) Verify solutions, there are "some" wrong values > > Is there a more direct way to the correct lambda values? > > > E.F. > >