Plotting atan()

I need to make a plot of this function:
f = atan((x*.8441/4)/(.8441^2-x^2))
What happens is that there is an asymptote at atan(infinity) and the values after that are negative. Is there anyway I could make the graph having atan() go from 0 to pi and instead of an asymptote have it have a value of pi/2?
Thanks.

Answers (2)

Kevin Holst
Kevin Holst on 3 Feb 2012
Not sure I'm understanding the question, are you wanting to replace any values > pi/2 with pi/2? (and any values < -pi/2 with -pi/2?)
if you're just looking to plot the function from 0 to pi, you can use the same method that I suggested on your previous question:
f = @(x) atan((x*.8441/4)/(.8441^2-x^2))
fplot(f,[0,pi])
EDIT
I think I see what you're wanting, although I couldn't open your link at work. The unwrap function is very interesting; hadn't heard of it until now, but I couldn't get it to work for this application for some reason.
There are many ways to do this, so I'll go ahead and show you one.
x = 0:0.01:2;
y = atan((x*.8441/4)./(.8441^2-x.^2));
y(y<0) = y(y<0) + pi;
plot(x,y);
note that I had to add some extra '.'s in your equation to make it work.

3 Comments

Dennis
Dennis on 3 Feb 2012
Ah I probably should have pointed out more. x should go from 0 to 2 while f should have values from 0 to pi. Like this graph but having a value of 0 at negative infinity.
Dennis
Dennis on 3 Feb 2012
http://intmstat.com/analytic-trigonometry/arctanx.gif
Kevin Holst
Kevin Holst on 3 Feb 2012
See edit above.

Sign in to comment.

Walter Roberson
Walter Roberson on 3 Feb 2012

0 votes

See the unwrap() function to avoid having it go negative.

2 Comments

Walter Roberson
Walter Roberson on 3 Feb 2012
This works (visually at least):
x = linspace(-3,3,100);
f = atan((x.*0.8441/4)./(0.8441^2-x.^2));
plot(x, unwrap(f*2)/2)
Note the use of ./ and .^ in order to process a vector of x.
Kevin Holst
Kevin Holst on 3 Feb 2012
Walter, when I plot what you posted, I get f from 0 to 2pi. Unwrap appears to be accounting for a discontinuity at -0.8 and another at 0.8, and they're cumulative. if you make your linspace from 0 to 3, it is fixed.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Asked:

on 3 Feb 2012

Edited:

Jan
on 28 Sep 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!