В Python numpy существует функция unwrap, которая:
Развернуть радианную фазу p, изменяя абсолютные прыжки больше, чем discont к их дополнению 2 * pi вдоль данной оси.
Теперь я хотел бы сделать противоположную функцию. Как я могу обернуть массив фаз? Например. как преобразовать все углы, чтобы ограничить их между -π и π?
Очевидным способом было бы сделать что-то вроде:
for i, a in enumerate(phases):
while a < pi:
a += 2 * pi
while a > pi:
a -= 2 * pi
phases[i] = a
но есть ли более простой/быстрый способ?