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

1 次查看(过去 30 天)
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];

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2015-7-9
Have a look at the help for atan2.
HTH
  2 个评论
Bjorn Gustavsson
Bjorn Gustavsson 2015-7-9
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Antennas, Microphones, and Sonar Transducers 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by