三角関数の応用(物理・工学)

三角関数の基礎
No.540
数学

日付:2025年3月13日

三角関数は、波の運動、振動、電気回路、建築、信号処理など、さまざまな分野で重要な役割を果たしています。本記事では、その具体的な応用例を Python のコードとともに紹介します。

目 次

1. はじめに

これまでの記事では、三角関数の基本的な定義や公式について学んできました。
今回は、三角関数がどのように実際の世界で使われているのか、物理や工学の観点から解説します。

三角関数は、波の運動、振動、電気回路、建築、信号処理など、さまざまな分野で重要な役割を果たしています。
本記事では、その具体的な応用例を Python のコードとともに紹介します。

2. 振動と波動:サイン波とコサイン波

(1) サイン波の基本式

サイン波は、振動や波の運動を記述するのに使われる最も基本的な波形です。
一般的なサイン波の式は次のように表されます。

y=Asin(ωt+ϕ)y = A \sin(\omega t + \phi)
  • AA:振幅(波の高さ)
  • ω\omega:角周波数( ω=2πf\omega = 2\pi f
  • tt:時間
  • ϕ\phi:位相(波の開始位置)

Python を使ってサイン波をプロットしてみましょう。

PYTHON
import numpy as np import matplotlib.pyplot as plt # パラメータ設定 A = 1 # 振幅 f = 1 # 周波数(Hz) phi = 0 # 位相 T = 2 # 時間の範囲(秒) # 時間軸を作成 t = np.linspace(0, T, 1000) # サイン波の計算 y = A * np.sin(2 * np.pi * f * t + phi) # グラフ描画 plt.plot(t, y, label='Sine Wave') plt.axhline(0, color='black', linewidth=1) plt.xlabel('Time (s)') plt.ylabel('Amplitude') plt.title('Sine Wave') plt.legend() plt.show()
Image

このグラフを見ると、時間とともに振動するサイン波の形が確認できます。

3. 信号処理:フーリエ変換

三角関数は信号処理の分野でも広く活用されています。
特にフーリエ変換は、複雑な波形をサイン波とコサイン波の組み合わせで表現する ために使われます。

Python を使って、簡単なフーリエ変換を実行してみましょう。

PYTHON
mport numpy as np import matplotlib.pyplot as plt from scipy.fft import fft, fftfreq # サンプリング設定(400Hz に設定して正しいピークを取得) N = 1000 # サンプル数 T = 1.0 / 400.0 # サンプリング間隔(400 Hz) # 時間軸 t = np.linspace(0.0, N*T, N, endpoint=False) # フーリエ変換 yf_single = fft(signal_single) xf = fftfreq(N, T)[:N//2] # 50Hz + 80Hz のサイン波 signal_mixed = np.sin(2.0*np.pi*50.0*t) + 0.5*np.sin(2.0*np.pi*80.0*t) # フーリエ変換 yf_mixed = fft(signal_mixed) # 50Hz と 80Hz のサイン波のフーリエ変換をプロット plt.figure(figsize=(6, 4)) plt.plot(xf, 2.0/N * np.abs(yf_mixed[:N//2]), color='red') plt.xlabel('Frequency (Hz)') plt.ylabel('Amplitude') plt.title('Fourier Transform of a Mixed Signal (50Hz & 80Hz)') plt.show()
Image

このコードでは、50Hz と 80Hz の 2 つの周波数成分を持つ信号をフーリエ変換し、周波数スペクトルを表示しています。

4. 工学への応用:電気回路(交流の位相)

電気回路では、交流電流(AC)の振る舞いを記述するために三角関数が使われます。

交流の基本式は次のようになります。

V(t)=V0cos(ωt+ϕ)V(t) = V_0 \cos(\omega t + \phi)

この式を使って、2 つの異なる位相を持つ交流波形をプロットしてみましょう。

PYTHON
# パラメータ設定 V0 = 5 # 最大電圧 (V) phi1 = 0 # 波1の位相 phi2 = np.pi / 4 # 波2の位相 # 交流電圧の計算 V1 = V0 * np.cos(2 * np.pi * f * t + phi1) V2 = V0 * np.cos(2 * np.pi * f * t + phi2) # グラフ描画 plt.plot(t, V1, label='Voltage 1 (φ=0)') plt.plot(t, V2, label='Voltage 2 (φ=π/4)', linestyle='dashed') plt.xlabel('Time (s)') plt.ylabel('Voltage (V)') plt.title('AC Voltage with Phase Shift') plt.legend() plt.show()
Image

このグラフを見ると、位相がずれた 2 つの交流電圧の関係が視覚的に確認できます。

5. まとめ

本記事では、三角関数の応用について学びました。

  • サイン波とコサイン波 :振動や波の運動を記述
  • 信号処理(フーリエ変換) :複雑な信号を三角関数の組み合わせで表現
  • 電気回路(交流電圧) :位相の概念を活用した電圧の表現
  • Python を使って、これらの現象を可視化
シリーズ一覧三角関数の基礎
8