How to change angles to 0 to 180

조회 수: 59 (최근 30일)
TTA
TTA 2023년 5월 29일
댓글: TTA 2023년 5월 30일
I have an array of angles ranging from [-180, 180]
please I want to change to [0, 180], how can I do this?
I have tried this code below but it's giving me [90, 180]
Angles180 = @(a) rem(180+a, 360)-90;
Result = Angles180([-90, 0, 90])
please how can I do this?

채택된 답변

Sam Chak
Sam Chak 2023년 5월 29일
Hi @TTA
Are you looking for the conversion like this?
Angles180 = @(a) a/2 + 90;
Result1 = Angles180([-180, 0, 180])
Result1 = 1×3
0 90 180
Result2 = Angles180([-90, 0, 90])
Result2 = 1×3
45 90 135
  댓글 수: 7
DGM
DGM 2023년 5월 29일
편집: DGM 2023년 5월 29일
So then should the answer be
[0 0 0 30 60 90]
or
[90 60 30 30 60 90]
or
[60 30 60 30 60 30]
or something else?
TTA
TTA 2023년 5월 30일
Thanks for your effort

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Image Analyst
Image Analyst 2023년 5월 29일
How about just adding 180 to all angles less than 0, so for example -135 becomes +45 degrees.
mask = angles < 180;
angles(mask) = angles(mask) + 180; % Only add 180 to negative angles.
  댓글 수: 2
DGM
DGM 2023년 5월 29일
angles = mod(angles,180);
TTA
TTA 2023년 5월 30일
편집: TTA 2023년 5월 30일
@DGM you are right.
for example, To find the equivalent angle within the range of 0 to 90 degrees for -20 degrees, you can use the modulo operation and add multiples of 90 until the angle falls within the desired range.
Here's how you can calculate the equivalent angle:
  1. Take -20 modulo 360: -20 % 360 = 340. This step ensures the angle is within the range of 0 to 360 degrees.
  2. Since 340 is greater than 90, subtract multiples of 90 to bring it within the range of 0 to 90 degrees.
  • 340 - 270 = 70
Thanks

댓글을 달려면 로그인하십시오.


Image Analyst
Image Analyst 2023년 5월 29일
You say "What I wanted to do is I want to put all the following angles in the first quadrant ([0,90] so the ones that are already within 0 t 90 does not change and the ones that are with negative can taken as absolute."
Well, what about this:
angles = abs(angles);
???
  댓글 수: 1
TTA
TTA 2023년 5월 30일
Thanks for your effort

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Performance and Memory에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by