how can I calculate the nautical direction angle from Cartesian x- and y-component of velocity
    14 views (last 30 days)
  
       Show older comments
    
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 Comments
  Dyuman Joshi
      
      
 on 27 Dec 2023
				As I said earlier, I am not familiar with Nautical convention.
Could you provide a definition/reference to it?
Answers (1)
  Chunru
      
      
 on 27 Dec 2023
        
      Edited: Chunru
      
      
 on 27 Dec 2023
  
      vx = 10;
vy = 10;
v = sqrt(vx.^2 + vy.^2)
theta = wrapTo360(90 - rad2deg(atan2(vy, vx)))  % Earth coordinates, with ref to North, Clock wise
5 Comments
  Chunru
      
      
 on 27 Dec 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).   
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
