我有一个旋转矢量R(x(t), y(t))
,我想找一个角度作为时间的函数。 atan2
在-pi
和pi
之间确定,但是我分析所有动态并不方便。那么,有没有办法将atan2
从-inf
扩展到inf
?
答案 0 :(得分:6)
您的问题不是很明确,但我猜您正在搜索unwrap函数。这将纠正您的矢量通过负x轴旋转时获得的所有2 pi
跳跃。你这样使用它:
t = linspace(0,3,1000);
x = cos(2*pi*t);
y = sin(2*pi*t);
phi = atan2(y,x);
unwrapped_phi = unwrap(phi);
plot(t, phi, t, unwrapped_phi)
xlabel('time (s)')
ylabel('angle (rad)')
legend('wrapped angle','unwrapped angle')
答案 1 :(得分:0)
我相信你正在寻找phase unwrapping。 Matlab已准备好一维解决方案,有关详细信息,请参阅unwrap。