1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Tan x = 1/x

  1. Sep 30, 2012 #1
    How do I find the first 10 positive solutions numerically?
    $$
    \tan x = \frac{1}{x}
    $$
     
  2. jcsd
  3. Sep 30, 2012 #2

    dextercioby

    User Avatar
    Science Advisor
    Homework Helper

  4. Sep 30, 2012 #3
    I tried using NSolve in Mathematica but that didn't work.

    I also tried
    syms x
    solve(tan(x)==1/x)
    in Matlab and that just gave -263.

    How can I do this in one of these programs?
     
    Last edited: Sep 30, 2012
  5. Sep 30, 2012 #4

    Ray Vickson

    User Avatar
    Science Advisor
    Homework Helper

    How do you find the first positive solution? You tell US; do not ask us to tell you: read the forum rules.

    RGV
     
    Last edited: Sep 30, 2012
  6. Sep 30, 2012 #5

    SammyS

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper
    Gold Member

    Where are you stuck?

    What have you tried?

    After 490 posts, you should know the drill here at PF .

    But here's one hint: One thing I would try is to take the reciprocal of both sides of that equation, giving you:
    [itex]\displaystyle \cot(x)=x[/itex]​

    Graph each side.
     
  7. Sep 30, 2012 #6
    I am not good at numerical analysis. I haven't taken a course in it yet as well as in Matlab. I will be taking Matlab this spring and Numerical Analysis next fall. So when I know how to do it and use Matlab efficiently, I won't even ask you.
     
  8. Sep 30, 2012 #7
    Read post 3.
     
  9. Sep 30, 2012 #8
    I have a graph of it. I don't know if the forum can handle tikz but here it is
    $$
    \begin{tikzpicture}[>=stealth',x = .5cm,y = .5cm,scale = .60]
    \def\npi{3.1416}
    \def\periods{4}
    \draw[->] (-\npi/2,0) -- ({(\periods + .5)*\npi},0) node[above] {$\lambda_n$};
    \draw[->] (0,-10) -- (0,10) node
    {$f(\lambda_n)$};
    \clip (-\npi/2,-9.8) rectangle ({(\periods + .5)*\npi},9.8);
    \draw[thick, domain = 0.05:{(\periods + .4)*\npi},samples = 300,smooth,color = red] plot (\x,1/\x);
    \foreach \n in {0,...,4}
    \draw[thick,shift = {(\npi*\n,0)},domain = -\npi/2+.1:\npi/2-.1,samples = 100,smooth] plot (\x,{tan(\x r)});
    %draw the ticks
    \foreach \x in {1,...,10} \draw (\x*\npi/2,2pt) -- (\x*\npi/2,-2pt);
    %draw labels n\pi/2 for odd n >= 3
    \foreach \x in {3,5,...,7} \node[below] at (\x*\npi/2,0) {$\frac{\x\pi}{2}$};
    %draw labels n\pi for n >= 2
    \foreach \x in {2,...,4} \node[below] at (\x*\npi,0) {$\x\pi$};
    \node[below] at (\npi/2,0) {$\frac{\pi}{2}$};
    \node[below] at (\npi,0) {$\pi$};
    \end{tikzpicture}
    $$​
     
  10. Sep 30, 2012 #9

    Ray Vickson

    User Avatar
    Science Advisor
    Homework Helper

    You don't need to know how to use Matlab, etc. Just apply Newton's method, which you can do using a hand-held scientific calculator. If you have not ever seen Newton's method before, I would be very surprised.

    RGV
     
  11. Sep 30, 2012 #10

    SammyS

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper
    Gold Member

    Here are the graphs of y=x and y=cot(x), superimposed. (from WolframAlpha)

    attachment.php?attachmentid=51374&stc=1&d=1349045971.gif
     

    Attached Files:

  12. Sep 30, 2012 #11
    I tried using NSolve in Mathematica but that didn't work.

    I also tried
    syms x
    solve(tan(x)==1/x)
    in Matlab and that just gave -263.

    How can I do this in one of these programs?
    This is what I wrote in post 3.
    I can make graphs of this with the Tikz package and in Mathematica (that isn't the challenge here). How can I use Mathematica or Matlab to generate the first 10 positive solution?
     
  13. Sep 30, 2012 #12

    Ray Vickson

    User Avatar
    Science Advisor
    Homework Helper

    I don't have access to Mathematica (except through Wolfram Alpha) or to Matlab, but in Maple it is easy:
    S:=fsolve(tan(x)=1/x,x=0..Pi/2),seq(fsolve(tan(x)=1/x,x=Pi/2+(i-1)*Pi..Pi/2+i*Pi),i=1..9);
    S := 0.8603335890, 3.425618459, 6.437298179, 9.529334405,

    12.64528722, 15.77128487, 18.90240996, 22.03649673,

    25.17244633, 28.30964285
    I'm sure it must be possible, even easy, to do the same thing in Mathematica.

    RGV
     
    Last edited: Sep 30, 2012
  14. Sep 30, 2012 #13
    Thanks. Hopefully in the spring when I take programming in Matlab I will be better at this.
     
  15. Oct 1, 2012 #14

    vela

    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper
    Education Advisor

    Try using FindRoot instead.
     
  16. Oct 20, 2012 #15
    In[7]:= Plot[Tan[x]-1/x,{x,.01,30}]

    Out[7]= <snip graphic showing approximate positions of solutions>

    In[8]:= FindRoot[Tan[x]-1/x,{x,.9}]

    Out[8]= {x->0.860334}

    In[9]:= FindRoot[Tan[x]-1/x,{x,3.5}]

    Out[9]= {x->3.42562}

    etc,etc,etc
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook