Question

J'ai un vecteur tournant R(x(t), y(t)) et je veux trouver un angle en fonction du temps.Le atan2 est déterminé entre -pi et pi, cependant, il m'est gênant d'analyser toutes les dynamiques.Alors, y a-t-il un moyen d'étendre atan2 depuis -inf à inf?

Était-ce utile?

La solution

Votre question n'est pas très claire, mais je suppose que vous recherchez la fonction déballer.Cela corrigera tout 2 pi les sauts que vous obtenez lorsque votre vecteur tourne sur l'axe x négatif.Vous l'utilisez comme ceci :

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

Autres conseils

je crois que tu cherches déballage des phases.Matlab a une solution 1D prête, voir déballer pour plus de détails.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top