angle-betw​een-a-vect​or-and-the​-positive-​x-axis

1 view (last 30 days)
How can i find an angel between x axis and vector
[fi,ro]=cart2pol(X-X(1),Y-Y(1)-20); [fim1,id]=max(fi); Rom1=ro(id); [xm1,ym1]=pol2cart(fim1,rom1); Xm1=X(1)+[0,xm1]; Ym1=Y(1)+20+[0,ym1];

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 9 Jul 2015
Have a look at the help for atan2.
HTH
  2 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 9 Jul 2015
You simply call atan2:
phi = atan2(Ycomponent,Xcomponent);
And there you have your angle between the vector and the x-axis, in radians.
Or more explicitly to calculate the angles for 8 vectors, try this exqample:
plot([1 1 0 -1 -1 -1 0 1]',[0 1 1 1 0 -1 -1 -1]','s-'),axis([-1 1 -1 1]*1.1)
arrow(0*[[0 1 1 1 0 -1 -1 -1]',[1 1 0 -1 -1 -1 0 1]'],[[0 1 1 1 0 -1 -1 -1]',[1 1 0 -1 -1 -1 0 1]'])
atan2([0 1 1 1 0 -1 -1 -1]',[1 1 0 -1 -1 -1 0 1]')*180/pi
(The arrow function you'll have to download from the file exchange.)
HTH

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!