comment redéfinir la fonction atan2 de -inf à inf dans matlab ?
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
?
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')
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