Calculate the angle between multiple points

2 次查看(过去 30 天)
I have a matrix A contain x values in the first column and y values in the second column. I want to calculate the angle between vectors.
  1 个评论
Jan
Jan 2013-6-13
There is no "angle between points". Do you mean the angle between two vectors?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2013-6-13
The ACOS and the corresponding ASIN approchs are numerically instable near to multiples of pi (half). Better use the more accurate ATAN2 method:
angle = atan2(norm(cross(v1,v2)), dot(v1,v2));
  4 个评论
Stephen Devlin
Stephen Devlin 2018-3-16
Hi, I have no idea if anyone will see this comment as it is years after the original post, but mathematically what is this expression:
"angle = atan2(abs(det([v1;v2])),dot(v1,v2));"
Jess Smith
Jess Smith 2018-12-3
@stephen thats basically doing the inverse tangent of the cross product of 2D vectors over the dot product of those vectors, giving you the angle; cross product of a x b is |a||b|sin(theta) and dot product is |a||b|cos(theta) so dividing them by each other and taking inverse tan is the angle

请先登录,再进行评论。

更多回答(1 个)

michael scheinfeild
what is v1 v2 can yo give example

类别

Help CenterFile Exchange 中查找有关 Elementary Math 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by