Я использую atan2
(в MATLAB) для вычисления углов, а затем я беру градиент угла.Я вижу, что угол не является гладким в таких местах, как pi и pi / 2, но это не видно на графике.Затем, построение градиента угла показывает большие отрицательные пики.Я могу игнорировать их, устанавливая пределы графика (ylim
), но это не хорошее общее решение.Можно ли как-то избежать проблемы сглаживания или сгладить угол после вычисления?
Вот еще немного фона.Я использую числовой решатель ODE (в частности, SUNDIALS CVODE) для вычисления планетарных орбит в двумерном случае, поэтому в результате получим два зависящих от времени вектора, назовем их x
и y
.Тогда atan2
дает мне угол, а градиент угла дает мне угловую скорость.Я попробовал MATLAB smoothdata
, но это не помогло решить проблему.
Код только MATLAB atan2
и gradient
, за исключением вычисления орбит, но это не должно бытьотношение к этому вопросу.
Мне нужно избавиться от отрицательных пиков угловой скорости.