please help with this function

5 views (last 30 days)
francis on 23 Jul 2013
function [th rad]=cartopolar25(x,y
t=atan(y/x); rad=sqrt(x^2+y^2); if if x<0 if y<0 th=180+t return else th=180-t return end else if y<0 th=-t return else th=t return end end
end end
Hi I need help with this code, if you guys see any mistakes please let me know. I have to make a function to determine the polar coordinates from the Cartesian plane, thanks for the help yes I was able to get the degrees now all I need is the radians any tips with this current format thanks

Accepted Answer

Narges M
Narges M on 23 Jul 2013
your function is this:
function [th rad]=cartopolar25(x,y)
th = atan(y/x);
rad = sqrt(x^2+y^2);
if x<0
if y<0
if y<0
and you need to call it like this:
[t,r] = cartopolar25(-11,20);
the output will be:
t =
r =
  1 Comment
francis on 24 Jul 2013
yes that was it I got it now

Sign in to comment.

More Answers (3)

Jonathan Sullivan
Jonathan Sullivan on 23 Jul 2013
help atan2
doc atan2

Gorji on 23 Jul 2013
What is Y and X? Are they matrix? I think the structure of 'if' is incorrect you must use if & elseif & else
francis on 23 Jul 2013
I was able to get the degrees with a few changes yess, all I need some tips of putting the radiants on to this format, thanks

Sign in to comment.

Andrew Reibold
Andrew Reibold on 23 Jul 2013
atan doesn't take the 'y over x' value you seem to be thinking of. It takes an angle in radians....
Y = atan(X) returns the inverse tangent (arctangent) for each element of X. For real elements of X, atan(X) is in the range [–π/2, π/2].
The atan function operates element-wise on arrays. The function's domains and ranges include complex values. All angles are in radians.
Example Graph the inverse tangent function over the domain –20 ≤ x ≤ 20. x = -20:0.01:20; plot(x,atan(x)), grid on

Community Treasure Hunt

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

Start Hunting!

Translated by