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!

 採用された回答

Walter Roberson
Walter Roberson 2021 年 4 月 25 日

1 投票

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;

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by