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);
Thanks for help in advance.

 채택된 답변

Alex Mcaulley
Alex Mcaulley 2019년 12월 12일

0 개 추천

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

adeq123
adeq123 2019년 12월 12일
Thanks. That was an precise answer.
Don
Don 2023년 7월 26일
Thanks! The same problem I had has been resolved..

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2017b

태그

질문:

2019년 12월 12일

댓글:

Don
2023년 7월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by