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