¿Cómo redefinir la función atan2 de -inf a inf en matlab?
Pregunta
tengo un vector giratorio R(x(t), y(t))
y quiero encontrar un ángulo en función del tiempo.El atan2
se determina entre -pi
y pi
, sin embargo me resulta inconveniente analizar todas las dinámicas.Entonces, ¿hay alguna manera de ampliar atan2
de -inf
a inf
?
Solución
Tu pregunta no es muy clara, pero supongo que estás buscando la función. desenvolver.Esto corregirá todos los 2 pi
saltos que obtienes cuando tu vector gira a través del eje x negativo.Lo usas así:
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')
Otros consejos
Creo que está buscando fase desenvolviendo .Matlab tiene una solución 1D lista, consulte desenvolver para más detalles.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow