MathGroup Archive 2011

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

Search the Archive

Re: solution of equation [CORRECTION]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg116391] Re: solution of equation [CORRECTION]
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 13 Feb 2011 03:05:51 -0500 (EST)
  • Reply-to: hanlonr at cox.net

I should have minimized the square of the difference.


NMinimize[{(n Tan[n L] - h)^2, 0.99 # < n < 1.01 #}, 
    n][[2]] & /@
 (Range[1, 11, 2] Pi/(2 L))

{{n -> 0.0155525}, {n -> 0.0466577}, {n -> 0.0777637}, {n -> 
   0.108871}, {n -> 0.139981}, {n -> 0.171093}}


Bob Hanlon

---- Bob Hanlon <hanlonr at cox.net> wrote: 

=============

FindRoot will only find one root for each starting value. To find multiple roots you would map FindRoot onto a list of starting values. However, FindRoot may locate a root that is away from the starting value. To constrain the root to be near a value, it is easier to use NMinimize since it accepts explicit constraints. So Map NMinimize with varying constraints.

L = 100;

h = 1;

NMinimize[{n Tan[n L] - h, 0.99 # < n < 1.01 #}, n][[2]] & /@
  (Range[1, 11, 2] Pi/(2 L)) // Quiet

{{n -> 0.015708}, {n -> 0.0471239}, {n -> 0.0785398}, {n -> 0.109956}, {n -> 
   0.141372}, {n -> 0.172788}}

Plot[{n Tan[n L], h}, {n, 0, 0.2}, 
 PlotRange -> {0.95, 1.05},
 Exclusions -> (Range[1, 11, 2] Pi/(2 L))]


Bob Hanlon

---- Piotr Munik <pi.munik at gmail.com> wrote: 

=============
Dear Math Group,



I want to solve equation like this:

L := 100; h := 1;

n Tan[n L] == h



I need roots of this equation in a list form



but I have a problem.



I try findfoot

FindRoot[n Tan[n L] == h, {n, 0.01}]

but it's not good



I need your help...


Piotr



  • Prev by Date: Re: solution of equation
  • Next by Date: Re: Applying function only if the output is positive
  • Previous by thread: Re: Nonorthogonal Eigenvectors
  • Next by thread: DC-Area Mathematica Special Interest Group