Smoothing jumps when using unwrap()
3 次查看(过去 30 天)
显示 更早的评论
Hello,
I need to use atan() function in my code. That results into zig-zag kind of type result when plotting. Therefore I used unwrap() function which solves the issue. Nevertheless after zooming the plot I can see that the resulting plot has small "jumps" in places where it was unwraped. Is there any robust way to reduce those ?
close all;
y = deg2rad(0:0.1:600)
P = atan(2.2757 * tan(y) ./ (1.6545 + 0.1176*tan(y)));
P = unwrap(rad2deg(P));
plot(y,P);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/254145/image.png)
Thanks for help in advance.
0 个评论
采纳的回答
Alex Mcaulley
2019-12-12
You need to have a jump higher than pi to avoid the small jumps using unwrap (and this is not you case). Then, a trick you can do:
y = deg2rad(0:0.1:600)
P = atan(2.2757 * tan(y) ./ (1.6545 + 0.1176*tan(y)));
P2 = rad2deg(unwrap(2*P)/2);
plot(y,P);
2 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!