Pythonで角度の三角関数(cos)の値を求める方法
Pythonには標準ライブラリとしてmathモジュールが用意されており、sinやcosといった三角関数をはじめ、さまざまな数学関数がすべて含まれています。これらの関数はimportするだけで誰でもすぐに利用でき、追加のインストールは一切不要です。
mathモジュールの基本的な使い方
まずmathモジュールをインポートし、角度をラジアンに変換してから関数に渡します。以下は90度と60度のコサイン(余弦)を計算する例です。
import math angle1 = math.radians(90) angle2 = math.radians(60) print(math.cos(angle1)) print(math.cos(angle2))
このコードを実行すると、次のような出力が得られます。
6.123233995736766e-17 0.5
出力結果の解説
最初の値である「6.123233995736766e-17」は、厳密には0ではありませんが、非常に0に近い値です。数学的にはcos(90°)=0となるはずですが、コンピュータは浮動小数点数で計算を行うため、このような微小な誤差が生じます。これは計算精度の限界によるものであり、プログラムのバグではありません。
注意点:角度はラジアンで指定する
mathモジュールの三角関数は、角度をラジアン単位で受け取る仕様になっています。日常的によく使われる「度」のまま渡すと誤った結果になるため、必ずmath.radians()関数で変換してから使用しましょう。逆に、ラジアンから度へ変換したい場合はmath.degrees()関数が使えます。
-
PythonのMatplotlibで角度スペクトル(位相スペクトル)をプロットする方法
信号処理において、角度スペクトル(位相スペクトル)は各周波数成分の位相情報を可視化するために用いられます。PythonのMatplotlibでは、phase_spectrum()メソッドを使うことで簡単に描画できます。この記事では、実際のコード例とともにその手順を詳しく解説します。 角度スペクトルをプロットする手順 以下の手順に従って、角度スペクトルを描画することができます。 図のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。 乱数のシード値を設定して、再現性のある結果を得られるようにします。 サンプリング間隔 dt を初期化し、そこからサンプリング周波数を算出し
-
Pythonのscikit-learnを使って画像の輪郭を検出する方法
scikit-learn(通称:sklearn)は、機械学習アルゴリズムを実装するために使用されるPythonのライブラリです。オープンソースとして公開されているため、無料で利用できます。このライブラリは、NumPy・SciPy・Matplotlibという3つのライブラリを基盤として構築されています。画像から輪郭を抽出する際には、「マーチングスクエア法(marching squares)」と呼ばれる手法が用いられます。具体的には、skimageライブラリのmeasureモジュールに含まれる「find_contours」関数を使用します。この関数では、配列内の値が線形補間されるため、出力画像にお