angle-between-a-vector-and-the-positive-x-axis
1 view (last 30 days)
Show older comments
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];
0 Comments
Answers (1)
Bjorn Gustavsson
on 9 Jul 2015
Have a look at the help for atan2.
HTH
2 Comments
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
See Also
Categories
Find more on Antennas, Microphones, and Sonar Transducers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!