Angle difference between two bearings
33 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Shikhar Singh
el 11 de Mzo. de 2021
Comentada: cem polat
el 20 de En. de 2022
How do I find the minimum angle difference between two angles A & B, for example:
if A = -175, B = 175 -> difference would be 10
if A = 355, B = 5 -> difference would be 10
if A = 720, B = 360 -> difference would be 0
etc.
All I know is that I have to use the absolute and modulus functions somewhere
Would appreciate any help.
0 comentarios
Respuesta aceptada
Basil C.
el 11 de Mzo. de 2021
Read about principal angles...
For the 1st case:
A=-175 whose principal angle is 185 degree
A - B = 185 - 175 = 10 degrees
You can similarly solve the for the remaining cases
3 comentarios
Basil C.
el 11 de Mzo. de 2021
The problem with your code is that it A and B must be in the principal form for the code to work.
To solve your question, A and B need to be converted to the principal angle and then just subtract them
Más respuestas (1)
Basil C.
el 12 de Mzo. de 2021
Editada: Basil C.
el 12 de Mzo. de 2021
To convert any angle to its principal angle
function y = prin_angle(x)
y=rem(x,360); % returns the remainder when dividing by 360
if y<0
y=y+360;
end
end
Just pass both angles to above function individually to obtain the principal angle, then subtract the two outputs
OR
Just use the following code and pass both A and B directly:
function y = get_difference(A,B)
y=rem(B-A,360); % returns the remainder when dividing by 360
if y<-180
y=y+360;
elseif y>180
y=y-360;
end
end
P.S.: I have just converted the java code from above into matlab code
5 comentarios
cem polat
el 20 de En. de 2022
Use anglediff function in Communications or Robotics toolbox. Since anglediff uses radians, you can use a function like below for the angle diff in degrees:
function result = angdiffdeg(from, to)
result = rad2deg(angdiff(deg2rad(from),deg2rad(to)));
end
Ver también
Categorías
Más información sobre Performance and Memory en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!