Splitting Wind direction into four quadrants

Hello,
I had u & V component of wind. I converted them to wind speed & direction, using
wind_speed=sqrt((u^2)+(v^2));
wind_direction=180 + atand(u/v);
The problem is wind direction is not splitting into quadrants. As done here http://wx.gmu.edu/dev/clim301/lectures/wind/wind-uv.html

 採用された回答

Chad Greene
Chad Greene 2016 年 1 月 15 日

0 投票

I think Kelly is partly correct. You'll need the four-quadrant version of atand, which is called atan2d.
Another quick tip: Instead of this:
wind_speed=sqrt((u^2)+(v^2));
you can use
wind_speed=hypot(u,v);
which is less prone to typos.

1 件のコメント

Student new
Student new 2016 年 1 月 15 日
編集済み: Student new 2016 年 1 月 15 日
Thanks alot Star Strider, you made my day..
You are right i was doing a mistake of (/). But i can not see comment of Star strider now..

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

その他の回答 (1 件)

Kelly Kearney
Kelly Kearney 2016 年 1 月 15 日

1 投票

As mentioned in those lecture notes, you'll need to use atan2 instead of atan (not atand either... your inputs aren't in degrees!) to get the four-quadrant result you want.

3 件のコメント

Student new
Student new 2016 年 1 月 15 日
I used v=180 + atand(u/v); and the result is fine for positive values of v.
If appear negative value of v then this formula fails
Kelly Kearney
Kelly Kearney 2016 年 1 月 15 日
Right, never mind on the degrees comment. I was mistakenly reversing inputs and outputs in my head. But as Chad answered, you still need the atan2d variant.
Student new
Student new 2016 年 1 月 15 日
Thanks alot Kelly Kearney

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

Community Treasure Hunt

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

Start Hunting!

Translated by