Come ridefinire la funzione ATAN2 da -inf a INF in Matlab?
Domanda
Ho un generatore vettoriale rotante e voglio trovare un angolo in funzione del tempo.Il R(x(t), y(t))
è determinato tra atan2
e -pi
, tuttavia è sconveniente per me analizzare tutte le dinamiche.Quindi, c'è un modo per espandere pi
da atan2
a -inf
?
Soluzione
La tua domanda non è molto chiara, ma immagino che stiate cercando la funzione scartare .Ciò correggerà tutti i salti 2 pi
che ottieni quando il tuo vettore ruota attraverso l'asse X negativo.Lo usi così:
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')
.
Altri suggerimenti
Credo che tu stia cercando fase scartare .MATLAB ha una soluzione 1D Pronta, vedere Unwrap per maggiori dettagli.
.Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow