Wie definiere ich die atan2-Funktion in Matlab von -inf auf inf?
Frage
Ich habe einen rotierenden Vektor R(x(t), y(t))
und ich möchte einen Winkel als Funktion der Zeit finden.Der atan2
wird bestimmt zwischen -pi
Und pi
, Allerdings ist es für mich unbequem, alle Dynamiken zu analysieren.Gibt es also eine Möglichkeit zu erweitern? atan2
aus -inf
Zu inf
?
Lösung
Ihre Frage ist nicht ganz klar, aber ich vermute, Sie suchen nach der Funktion auspacken.Dadurch wird alles korrigiert 2 pi
Sprünge, die Sie erhalten, wenn sich Ihr Vektor um die negative x-Achse dreht.Sie verwenden es folgendermaßen:
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')
Andere Tipps
Ich glaube, Sie suchen Phase des Auspackens.Matlab hat eine 1D-Lösung parat auspacken für mehr Details.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow