Problem 635. Angle between Two Vectors
The dot product relationship, a dot b =  a   b  cos(theta), can be used to determine the acute angle between vector a and vector b ( 0 to pi ).
The definition of  a  is ( a(1)a(1)+a(2)a(2)...+a(n)a(n) )^0.5.
The definition of "a dot b" is a(1)b(1)+a(2)b(2)...+a(n)b(n). (wikipedia)
In 3D the angle is in the plane created by the vectors a and b.
The input may be a 2D or a 3D vector. These represent physical models.
An extension of this angular determination given vectors problem is to provide two points for each vector. The practical application relates to Laser Trackers which best fit multiple points for lines, surfaces, annular surfaces, and other reference points.
Examples:
a=[1 0] (xaxis); b=[0 1] (yaxis) which intersect at 90 degrees (pi/2)
theta=acos(a dot b/(ab)=acos(0/(1*1))=pi/2 radians
a=[1 1 0] 45 degrees in xy plane b=[1 1 1.414] 45 degree vector in Z above a 45 degree rotation in XY plane.
theta=acos(a dot b/(ab)=acos(2/(1.414*2))=pi/4 radians
Solution Stats
Problem Comments

1 Comment
Spookily similar to Problem 381 ("Angle between two vectors")....
Solution Comments
Show commentsProblem Recent Solvers357
Suggested Problems

Find all elements less than 0 or greater than 10 and replace them with NaN
15513 Solvers

Arrange vector in ascending order
772 Solvers

Set the array elements whose value is 13 to 0
1362 Solvers

253 Solvers

397 Solvers
More from this Author308
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!