Re-scaling matrix entries to lie within a range
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hey all,
Basically, I have a matrix containing a wide range of phase angles, but I want to re-scale all these angles to their equivalent values within the range [-pi, pi]. Hence, for example, 1.5*pi will become -0.5*pi.
Would anyone have any tips on how to do this? I'm not looking for a full answer; merely any suggestions that would help me get started would be much appreciated!
Craig
0 commentaires
Réponse acceptée
Sven
le 21 Nov 2011
You can use the "mod" command with modulus 2*pi, then minus pi from the result. For example:
mod(4.5*pi + pi, 2*pi) - pi
ans =
-1.5708
mod(1.5*pi + pi, 2*pi) - pi
ans =
1.5708
(above edited for Walter's amendment)
3 commentaires
Sven
le 22 Nov 2011
Oops. Yep, you're right of course Walter.. what can I say... I was in a rush? Edited accordingly :)
Plus de réponses (2)
Walter Roberson
le 22 Nov 2011
mod(angle + pi, 2*pi) - pi
Note: this will produce the range semi-open interval [-pi, pi) . The original closed interval [-pi, pi] is ambiguous as to what -pi or pi exactly should map to (as they are the same angle)
0 commentaires
Voir également
Catégories
En savoir plus sur Whos dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!