atand and atan2d
40 views (last 30 days)
Show older comments
Corey Magaldino
on 13 Nov 2018
Commented: Star Strider
on 13 Nov 2018
I have some motion capture data and I have calculated the vertical angles that participants used when wielding an object (atand(y/x)).
The issue is that if they exceed 90 degrees, atand freaks out.
I want to convert to atan2d to avoid this issue.
The red line is atand and the blue line is atan2d.
red = atand(y/x)
blue = atan2d(y,x)
Not sure how to handle these values. The output from atand are the correct angle participants used, how can I get atan2d to output the correct angles, but also capture values outside of the -90:90 degree limit of atand.
0 Comments
Accepted Answer
Star Strider
on 13 Nov 2018
I am not certain what result you want.
Try these utility functions I created for my own use a while ago:
Angles360 = @(a) rem(360+a, 360); % For ‘atan2d’
Angles360a = @(a) rem(180+a, 540); % Maps: [-180,180] —> [0,360]
Result1 = Angles360([-150 180])
Result2 = Angles360a([-150 180])
2 Comments
Star Strider
on 13 Nov 2018
My pleasure.
The unwrap function is intended to provide continuityfor (typically phase) angles that would otherwise repeat on modulo pi or 180°. My functions map one continuous angle to [0,360], and do not unwrap them.
If my Answer helped you solve your problem, please Accept it!
Please do not close Questions that have Answers.
More Answers (1)
See Also
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!