como redefinir a função atan2 de -inf a inf no matlab?
Pergunta
Eu tenho uma rotação do vetor R(x(t), y(t))
e eu quero encontrar um ângulo em função do tempo.O atan2
é determinado entre -pi
e pi
, no entanto , é inconveniente para mim, para analisar todas as dinâmicas.Assim, existe alguma maneira para expandir atan2
a partir de -inf
para inf
?
Solução
Sua pergunta não está muito clara, mas eu acho que você está pesquisando para a função desembrulhe.Isto irá corrigir todos os 2 pi
saltos que você começa quando o vetor gira através da negativa do eixo x.Você usá-lo assim:
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')
Outras dicas
Eu acredito que você está procurando phase unwrapping.O Matlab tem uma 1D solução pronta, consulte desembrulhe para obter mais detalhes.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow