Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: 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
     
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook