From: EF on 18 May 2010 01:59 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.
From: Andrzej Kozlowski on 18 May 2010 06:12 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. > >
From: David Park on 19 May 2010 07:03 You might try Ted Ersek's RootSearch package from WRI MathSource. It is much more convenient than FindRoot for such cases. David Park djmpark(a)comcast.net http://home.comcast.net/~djmpark/ From: EF [mailto:he.frauendorfer(a)t-online.de] 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.
|
Pages: 1 Prev: Overloading StringJoin Next: Handbook of Mathematical functions |