複素数の位相角を[-2π +2π]の範囲で計算する方法は?
Show older comments
複素数z=complex(re, im)の位相角を[-2π +2π]の範囲で計算するにはどういった方法がありますか?
angle(z)では[-π +π]の範囲で連続性が無くなってしまいます。
3 Comments
連続的に動く点の角度を周期的に測定すると「前回測定値との差分はπより大幅に少ない」事を活用できます。
「前回との差分(絶対値)がπを超えたら『非連続箇所を跨いだ』と判断し逆方向に2πを加減算する」事であたかも連続した角度の動きが続いているかの様に測定する事が可能です。
但し、連続的に動く点の値がゼロ点付近を通過すると角度が大きく変化してしまう難点があります。
[X,Y] = meshgrid(-4:0.1:4,-4:0.1:4);
P = angle(X + Y.*i);
surf(X,Y,P);
余談ですが、物理的な「多回転を測定出来るタイプの回転センサ」があり、その原理にも色々あります
- ネジと同様にらせん状の道を辿るタイプ
- ギア比の異なる1回転センサを複数個組み合わせるタイプ
- 相対角エンコーダの出力を積算するタイプ
Akira Agata
on 1 Mar 2024
Shuichi Nagamatsu
on 12 Jun 2024
Answers (0)
Categories
Find more on 一般分野への適用 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!