how can I calculate the nautical direction angle from Cartesian x- and y-component of velocity

13 visualizaciones (últimos 30 días)
I have a set of Cartesian x- (u) and y-component (v) of velocity. But I want the velocity to be Nautical direction based, which I did the follows:
for k=1:length(u)
if u(k) > 0 && v(k) >0 % velocity direction is from southwest and pointing towards northeast
dir(k) = 180+rad2deg(atan(abs(u(k))./abs(v(k))));
elseif u(k) < 0 && v(k) >0
dir(k) = 180-rad2deg(atan(abs(u(k))./abs(v(k))));
elseif u(k) < 0 && v(k) <0
dir(k) = rad2deg(atan(abs(u(k))./abs(v(k))));
else
dir(k) = 360-rad2deg(atan(abs(u(k))./abs(v(k))));
end
end
May I know if my understanding is conceptually correct?
  3 comentarios
jie hu
jie hu el 27 de Dic. de 2023
Movida: Dyuman Joshi el 27 de Dic. de 2023
thanks, But I am talking about the direction in Nautical convention. for y1 = atan2d(10, 10) = 45, shall that angle be 225 in Nautical convention?
Dyuman Joshi
Dyuman Joshi el 27 de Dic. de 2023
As I said earlier, I am not familiar with Nautical convention.
Could you provide a definition/reference to it?

Iniciar sesión para comentar.

Respuestas (1)

Chunru
Chunru el 27 de Dic. de 2023
Editada: Chunru el 27 de Dic. de 2023
vx = 10;
vy = 10;
v = sqrt(vx.^2 + vy.^2)
v = 14.1421
theta = wrapTo360(90 - rad2deg(atan2(vy, vx))) % Earth coordinates, with ref to North, Clock wise
theta = 45
  5 comentarios
Chunru
Chunru el 27 de Dic. de 2023
In nautical navigation the absolute bearing is the clockwise angle between north and an object observed from the vessel. https://en.wikipedia.org/wiki/Bearing_(angle)
The wind direction is defined as the direction from which the wind originates (the opposite of the wind velocity vector).

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by