Angle difference between two bearings
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Shikhar Singh
am 11 Mär. 2021
Kommentiert: cem polat
am 20 Jan. 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 Kommentare
Akzeptierte Antwort
Basil C.
am 11 Mär. 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 Kommentare
Basil C.
am 11 Mär. 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
Weitere Antworten (1)
Basil C.
am 12 Mär. 2021
Bearbeitet: Basil C.
am 12 Mär. 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 Kommentare
cem polat
am 20 Jan. 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
Siehe auch
Kategorien
Mehr zu Performance and Memory finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!