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?

War es hilfreich?

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

enter image description here

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