How to make negative degree numbers positive while maintaining degree.
조회 수: 23 (최근 30일)
이전 댓글 표시
I'm trying to use
if avg_deg < 0, avg_deg = avg_deg+360; end
but it isn't working. I don't want to use abs because I want to rotate these negative degrees to their positive counterpart, but the line of code isn't doing anything at all.
댓글 수: 0
채택된 답변
Walter Roberson
2021년 10월 21일
You can use logical indexing....
avg_deg = randi([-719 719], 1, 10)
mask = avg_deg < 0;
new_deg_version_1 = avg_deg;
new_deg_version_1(mask) = new_deg_version_1(mask) + 360
But I would suggest that mod() is more reliable, since it can handle angles < -360 and angles >= 360
new_deg_version_2 = mod(avg_deg, 360)
댓글 수: 2
Walter Roberson
2021년 10월 22일
편집: Walter Roberson
2021년 10월 22일
avg_deg = [randi([-719 719], 1, 5), -720, -360, 0, 360, 720]
new_deg_version_2 = mod(avg_deg, 360)
new_deg_version_3 = wrapTo360(avg_deg)
They differ on the treatment of positive multiples of 360.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!