How to wrap angle in radians to [-pi/2 pi/2]?

Illustration
EllaM - 2022-01-15T15:39:39+00:00
Question: How to wrap angle in radians to [-pi/2 pi/2]?

I want to limit an angle in radians to be between -pi/2 and pi/2. I have tried to modify the function wrapToPi, but it does not give me the desired result. Here is my attempt:     function lambda = wrapToHalfPi(lambda) q = (lambda < -pi/2) | (pi/2 < lambda); lambda(q) = wrapTo2Pi(lambda(q) + 3*pi/2) - 3*pi/2;  

Expert Answer

Profile picture of John Williams John Williams answered . 2025-11-20

Not quite the same, because this gives [-pi/2,pi/2), but it might be interesting for you nonetheless:

 

 out = mod(lambda+pi/2,pi)-pi/2

To get the range [-pi/2,pi/2], something like this:

 tmp = mod(lambda+pi/2,pi);
 out = tmp+pi*(lambda>0&tmp==0)-pi/2

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!