Shifting Elements in a Matrix

I have a domain from 0 : 2*pi and corresponding data points.
I need to shift this data so that the range is -pi : pi (by subtracting 2*pi for all values over pi), while keeping the relationships to the datapoints the same.
I've tried just reordering the data putting 0 in the middle, but this effects other calculations.
My best option so far is manually reordering points, but feel like there is a more efficient way.
Thank you!

 Accepted Answer

If you have Mapping Toolbox then there is https://www.mathworks.com/help/map/ref/wraptopi.html
Otherwise,
mask = data > pi;
data(mask) = data(mask) - 2*pi;

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!