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

15 ビュー (過去 30 日間)
jie hu
jie hu 2023 年 12 月 27 日
コメント済み: Sam Chak 2023 年 12 月 27 日
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 件のコメント
jie hu
jie hu 2023 年 12 月 27 日
移動済み: Dyuman Joshi 2023 年 12 月 27 日
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 2023 年 12 月 27 日
As I said earlier, I am not familiar with Nautical convention.
Could you provide a definition/reference to it?

サインインしてコメントする。

回答 (1 件)

Chunru
Chunru 2023 年 12 月 27 日
編集済み: Chunru 2023 年 12 月 27 日
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 件のコメント
Chunru
Chunru 2023 年 12 月 27 日
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).
Sam Chak
Sam Chak 2023 年 12 月 27 日
@Chunru, Thanks for your explanation.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by