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?

Foi útil?

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')

enter image description here

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
scroll top