Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Find all roots with FindRoot

  • To: mathgroup at smc.vnet.net
  • Subject: [mg126277] Re: Find all roots with FindRoot
  • From: Andrzej Kozlowski <akozlowski at gmail.com>
  • Date: Sat, 28 Apr 2012 05:27:33 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <25227796.28036.1334923020612.JavaMail.root@m06> <201204260928.FAA05588@smc.vnet.net>

On 26 Apr 2012, at 11:28, Mikael Anderson wrote:

>
> I just wanted to give the RootSearch package a try but I wonder why
> RootSearch misses some roots in the beginning of the solution when I change
> the range as below:
>
>>
>> In[28]:= RootSearch[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) ==
>  0, {theta, 0, 1000}]
>
> Out[28]= {{theta -> 0.}, {theta -> 5.43413}, {theta ->
>   35.4046}, {theta -> 84.7952}, {theta -> 153.896}, {theta ->
>   242.729}, {theta -> 351.298}, {theta -> 479.605}, {theta ->
>   627.65}, {theta -> 795.435}, {theta -> 982.958}}
>
> In[29]:= RootSearch[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) ==
>  0, {theta, 0, 10000}]
>
> Out[29]= {{theta -> 0.}, {theta -> 84.7952}, {theta ->
>   153.896}, {theta -> 242.729}, {theta -> 351.298}, {theta ->
>   479.605}, {theta -> 627.65}, {theta -> 795.435}, {theta ->
>   982.958}, {theta -> 1190.22}, {theta -> 1417.22}, {theta ->
>   1663.96}, {theta -> 1930.44}, {theta -> 2216.66}, {theta ->
>   2522.62}, {theta -> 2848.31}, {theta -> 3193.75}, {theta ->
>   3558.93}, {theta -> 3943.84}, {theta -> 4348.49}, {theta ->
>   4772.89}, {theta -> 5217.02}, {theta -> 5680.89}, {theta ->
>   6164.5}, {theta -> 6667.85}, {theta -> 7190.94}, {theta ->
>   7733.77}, {theta -> 8296.34}, {theta -> 8878.64}, {theta ->
>   9480.69}}
>
> /Mikael
>
>

Is there any reason why you don't want to use Reduce:

In[166]:=
Reduce[(Tan[Sqrt[theta]] - 2*Sqrt[theta]/(1 - theta)) == 0 &&
   0 <= theta <= 10000, theta] // N


theta == 0. || theta == 5.43413 || theta == 35.4046 ||
 theta == 84.7952 || theta == 153.896 || theta == 242.729 ||
 theta == 351.298 || theta == 479.605 || theta == 627.65 ||
 theta == 795.435 || theta == 982.958 || theta == 1190.22 ||
 theta == 1417.22 || theta == 1663.96 || theta == 1930.44 ||
 theta == 2216.66 || theta == 2522.62 || theta == 2848.31 ||
 theta == 3193.75 || theta == 3558.93 || theta == 3943.84 ||
 theta == 4348.49 || theta == 4772.89 || theta == 5217.02 ||
 theta == 5680.89 || theta == 6164.5 || theta == 6667.85 ||
 theta == 7190.94 || theta == 7733.77 || theta == 8296.34 ||
 theta == 8878.64 || theta == 9480.69

It gives you the complete answer (provably so) without the need to fiddle with any options and is pretty fast too. Why do you need an external package for this sort of thing?

Andrzej Koz=C5=82owski




  • Prev by Date: Re: LinearModelFit doesn't work with constraints?
  • Next by Date: Re: from a 2d-figure to an interactive 3d model? is it possible with mathematica?
  • Previous by thread: Re: Find all roots with FindRoot
  • Next by thread: Re: Find all roots with FindRoot