ラプラス変換は、微分方程式を代数方程式に変換する強力な手法です。その威力は豊富な性質(変換公式)に支えられています。微分がかけ算に、積分がわり算に変わるという性質が、微分方程式を解く際の核心です。
本記事では、ラプラス変換の主要性質を一つずつ証明し、具体例で使い方を示します。
本記事の内容
- ラプラス変換の定義の復習
- 線形性
- 微分の変換(1階・$n$ 階)
- 積分の変換
- 第1推移定理($s$ 軸シフト)
- 第2推移定理($t$ 軸シフト)
- たたみ込み定理
- Pythonでの計算と可視化
前提知識
ラプラス変換の定義
関数 $f(t)$($t \geq 0$)のラプラス変換は:
$$ \boxed{\mathcal{L}[f(t)] = F(s) = \int_0^{\infty} f(t)\,e^{-st}\,dt} $$
$s$ は複素数で、積分が収束する範囲で定義されます。以下では $\mathcal{L}[f(t)] = F(s)$ と略記します。
基本変換の一覧
| $f(t)$ | $F(s)$ | 収束条件 |
|---|---|---|
| $1$ | $1/s$ | $s > 0$ |
| $t^n$ | $n!/s^{n+1}$ | $s > 0$ |
| $e^{at}$ | $1/(s-a)$ | $s > a$ |
| $\sin\omega t$ | $\omega/(s^2+\omega^2)$ | $s > 0$ |
| $\cos\omega t$ | $s/(s^2+\omega^2)$ | $s > 0$ |
性質1: 線形性
定理
$$ \boxed{\mathcal{L}[\alpha f(t) + \beta g(t)] = \alpha F(s) + \beta G(s)} $$
証明
積分の線形性から直接得られます:
$$ \mathcal{L}[\alpha f + \beta g] = \int_0^{\infty}[\alpha f(t) + \beta g(t)]e^{-st}\,dt $$
$$ = \alpha\int_0^{\infty}f(t)e^{-st}\,dt + \beta\int_0^{\infty}g(t)e^{-st}\,dt $$
$$ = \alpha F(s) + \beta G(s) $$
具体例
$\mathcal{L}[3e^{2t} + 5\sin 4t]$ を求めます:
$$ = 3\cdot\frac{1}{s-2} + 5\cdot\frac{4}{s^2+16} = \frac{3}{s-2} + \frac{20}{s^2+16} $$
性質2: 微分の変換
1階微分
$$ \boxed{\mathcal{L}[f'(t)] = sF(s) – f(0)} $$
証明
部分積分を適用します:
$$ \mathcal{L}[f'(t)] = \int_0^{\infty}f'(t)e^{-st}\,dt $$
$u = e^{-st}$, $dv = f'(t)\,dt$ として部分積分すると:
$$ = \left[f(t)e^{-st}\right]_0^{\infty} – \int_0^{\infty}f(t)(-s)e^{-st}\,dt $$
$s$ が十分大きいとき $f(t)e^{-st} \to 0$ ($t\to\infty$) と仮定すると:
$$ = 0 – f(0) + s\int_0^{\infty}f(t)e^{-st}\,dt = sF(s) – f(0) $$
$n$ 階微分
帰納法により:
$$ \boxed{\mathcal{L}[f^{(n)}(t)] = s^n F(s) – s^{n-1}f(0) – s^{n-2}f'(0) – \cdots – f^{(n-1)}(0)} $$
特に2階微分:
$$ \mathcal{L}[f”(t)] = s^2 F(s) – sf(0) – f'(0) $$
この性質が微分方程式を代数方程式に変える核心です。
具体例
$y” + 4y = 0$, $y(0) = 1$, $y'(0) = 0$ をラプラス変換で解きます。
両辺にラプラス変換を適用すると:
$$ [s^2 Y(s) – s\cdot 1 – 0] + 4Y(s) = 0 $$
$$ (s^2 + 4)Y(s) = s $$
$$ Y(s) = \frac{s}{s^2 + 4} $$
逆変換すると $y(t) = \cos 2t$ です。
性質3: 積分の変換
定理
$$ \boxed{\mathcal{L}\left[\int_0^t f(\tau)\,d\tau\right] = \frac{F(s)}{s}} $$
証明
$g(t) = \int_0^t f(\tau)\,d\tau$ とおくと、$g'(t) = f(t)$, $g(0) = 0$ です。
微分の変換公式より:
$$ \mathcal{L}[g'(t)] = s\,\mathcal{L}[g(t)] – g(0) = s\,\mathcal{L}[g(t)] $$
左辺は $\mathcal{L}[f(t)] = F(s)$ なので:
$$ F(s) = s\,\mathcal{L}[g(t)] $$
$$ \mathcal{L}[g(t)] = \frac{F(s)}{s} $$
具体例
$\mathcal{L}\left[\int_0^t \sin\tau\,d\tau\right]$ を求めます。
$\mathcal{L}[\sin t] = \frac{1}{s^2+1}$ なので:
$$ \mathcal{L}\left[\int_0^t \sin\tau\,d\tau\right] = \frac{1}{s(s^2+1)} $$
確認: $\int_0^t \sin\tau\,d\tau = 1 – \cos t$ で、$\mathcal{L}[1 – \cos t] = \frac{1}{s} – \frac{s}{s^2+1} = \frac{1}{s(s^2+1)}$ と一致します。
性質4: 第1推移定理($s$ 軸シフト)
定理
$$ \boxed{\mathcal{L}[e^{at}f(t)] = F(s-a)} $$
証明
$$ \mathcal{L}[e^{at}f(t)] = \int_0^{\infty}e^{at}f(t)e^{-st}\,dt = \int_0^{\infty}f(t)e^{-(s-a)t}\,dt = F(s-a) $$
被積分関数の $e^{-st}$ が $e^{-(s-a)t}$ に置き換わるだけです。
具体例
$\mathcal{L}[e^{-3t}\cos 2t]$ を求めます。
$\mathcal{L}[\cos 2t] = \frac{s}{s^2+4}$ なので、$s$ を $s+3$ に置き換えて:
$$ \mathcal{L}[e^{-3t}\cos 2t] = \frac{s+3}{(s+3)^2+4} $$
性質5: 第2推移定理($t$ 軸シフト)
定理
$u(t-a)$ を単位ステップ関数($t < a$ で $0$、$t \geq a$ で $1$)とすると:
$$ \boxed{\mathcal{L}[f(t-a)\,u(t-a)] = e^{-as}F(s) \quad (a > 0)} $$
証明
$$ \mathcal{L}[f(t-a)u(t-a)] = \int_0^{\infty}f(t-a)u(t-a)e^{-st}\,dt = \int_a^{\infty}f(t-a)e^{-st}\,dt $$
$\tau = t – a$ と置換すると $t = \tau + a$, $dt = d\tau$ で:
$$ = \int_0^{\infty}f(\tau)e^{-s(\tau+a)}\,d\tau = e^{-as}\int_0^{\infty}f(\tau)e^{-s\tau}\,d\tau = e^{-as}F(s) $$
具体例
時刻 $t = 2$ で入る単位ステップ入力 $u(t-2)$ の変換:
$$ \mathcal{L}[u(t-2)] = \frac{e^{-2s}}{s} $$
性質6: たたみ込み定理
たたみ込みの定義
$$ (f * g)(t) = \int_0^t f(\tau)\,g(t-\tau)\,d\tau $$
定理
$$ \boxed{\mathcal{L}[f * g] = F(s)\cdot G(s)} $$
時間領域のたたみ込みは $s$ 領域の積に対応します。
証明
$$ \mathcal{L}[f * g] = \int_0^{\infty}\left[\int_0^t f(\tau)g(t-\tau)\,d\tau\right]e^{-st}\,dt $$
積分順序を交換します。$\tau \leq t < \infty$ なので:
$$ = \int_0^{\infty}f(\tau)\left[\int_\tau^{\infty}g(t-\tau)e^{-st}\,dt\right]d\tau $$
内側の積分で $u = t – \tau$ と置換すると:
$$ \int_\tau^{\infty}g(t-\tau)e^{-st}\,dt = \int_0^{\infty}g(u)e^{-s(u+\tau)}\,du = e^{-s\tau}\int_0^{\infty}g(u)e^{-su}\,du = e^{-s\tau}G(s) $$
よって:
$$ \mathcal{L}[f * g] = \int_0^{\infty}f(\tau)e^{-s\tau}G(s)\,d\tau = G(s)\int_0^{\infty}f(\tau)e^{-s\tau}\,d\tau = F(s)G(s) $$
具体例
$F(s) = \frac{1}{s^2} \cdot \frac{1}{s+1}$ の逆変換を、たたみ込みで求めます。
$\mathcal{L}^{-1}[1/s^2] = t$, $\mathcal{L}^{-1}[1/(s+1)] = e^{-t}$ なので:
$$ f(t) = \int_0^t \tau\cdot e^{-(t-\tau)}\,d\tau = e^{-t}\int_0^t \tau e^{\tau}\,d\tau $$
部分積分を実行します:
$$ \int_0^t \tau e^{\tau}\,d\tau = [\tau e^{\tau}]_0^t – \int_0^t e^{\tau}\,d\tau = te^t – (e^t – 1) = (t-1)e^t + 1 $$
$$ f(t) = e^{-t}[(t-1)e^t + 1] = t – 1 + e^{-t} $$
性質の一覧表
| 性質 | 時間領域 | $s$ 領域 |
|---|---|---|
| 線形性 | $\alpha f + \beta g$ | $\alpha F + \beta G$ |
| 1階微分 | $f'(t)$ | $sF(s) – f(0)$ |
| 2階微分 | $f”(t)$ | $s^2F(s) – sf(0) – f'(0)$ |
| 積分 | $\int_0^t f(\tau)\,d\tau$ | $F(s)/s$ |
| 第1推移 | $e^{at}f(t)$ | $F(s-a)$ |
| 第2推移 | $f(t-a)u(t-a)$ | $e^{-as}F(s)$ |
| たたみ込み | $f * g$ | $F(s)\cdot G(s)$ |
| $s$ 微分 | $t\cdot f(t)$ | $-F'(s)$ |
Pythonでの可視化
import numpy as np
import matplotlib.pyplot as plt
t = np.linspace(0, 10, 500)
fig, axes = plt.subplots(2, 3, figsize=(18, 10))
# --- (1) 基本関数と微分の変換 ---
# y'' + 4y = 0, y(0)=1, y'(0)=0 → y(t) = cos(2t)
y = np.cos(2*t)
axes[0, 0].plot(t, y, 'b-', lw=2)
axes[0, 0].set_title("$y'' + 4y = 0$, $y = \\cos 2t$", fontsize=12)
axes[0, 0].set_xlabel('$t$'); axes[0, 0].set_ylabel('$y(t)$')
axes[0, 0].grid(True, alpha=0.3)
# --- (2) 第1推移定理 ---
f_orig = np.cos(2*t)
f_shift = np.exp(-3*t) * np.cos(2*t)
axes[0, 1].plot(t, f_orig, 'b--', lw=1.5, label='$\\cos 2t$')
axes[0, 1].plot(t, f_shift, 'r-', lw=2, label='$e^{-3t}\\cos 2t$')
axes[0, 1].set_title('First shift theorem', fontsize=12)
axes[0, 1].set_xlabel('$t$'); axes[0, 1].set_ylabel('$f(t)$')
axes[0, 1].legend(fontsize=11)
axes[0, 1].grid(True, alpha=0.3)
# --- (3) 第2推移定理 ---
a = 2.0
step = np.where(t >= a, 1.0, 0.0)
f_delayed = np.where(t >= a, np.sin(t - a), 0.0)
axes[0, 2].plot(t, np.sin(t), 'b--', lw=1.5, label='$\\sin t$')
axes[0, 2].plot(t, f_delayed, 'r-', lw=2, label='$\\sin(t-2)\\,u(t-2)$')
axes[0, 2].axvline(a, color='gray', ls=':', alpha=0.5)
axes[0, 2].set_title('Second shift theorem ($a=2$)', fontsize=12)
axes[0, 2].set_xlabel('$t$'); axes[0, 2].set_ylabel('$f(t)$')
axes[0, 2].legend(fontsize=11)
axes[0, 2].grid(True, alpha=0.3)
# --- (4) 積分の変換 ---
f_sin = np.sin(t)
f_int = 1 - np.cos(t) # ∫sin(τ)dτ = 1-cos(t)
axes[1, 0].plot(t, f_sin, 'b--', lw=1.5, label='$\\sin t$')
axes[1, 0].plot(t, f_int, 'r-', lw=2, label='$\\int_0^t \\sin\\tau\\,d\\tau = 1-\\cos t$')
axes[1, 0].set_title('Integration property', fontsize=12)
axes[1, 0].set_xlabel('$t$'); axes[1, 0].set_ylabel('$f(t)$')
axes[1, 0].legend(fontsize=10)
axes[1, 0].grid(True, alpha=0.3)
# --- (5) たたみ込み ---
dt_val = t[1] - t[0]
f1 = t # L^{-1}[1/s^2]
f2 = np.exp(-t) # L^{-1}[1/(s+1)]
conv = np.convolve(f1, f2, mode='full')[:len(t)] * dt_val
conv_exact = t - 1 + np.exp(-t)
axes[1, 1].plot(t, conv, 'b-', lw=2, label='Numerical convolution')
axes[1, 1].plot(t, conv_exact, 'r--', lw=2, label='$t - 1 + e^{-t}$')
axes[1, 1].set_title('Convolution: $t * e^{-t}$', fontsize=12)
axes[1, 1].set_xlabel('$t$'); axes[1, 1].set_ylabel('$(f*g)(t)$')
axes[1, 1].legend(fontsize=11)
axes[1, 1].grid(True, alpha=0.3)
# --- (6) s領域での表現 ---
s = np.linspace(0.1, 5, 300)
F_cos2 = s / (s**2 + 4)
F_shifted = (s + 3) / ((s + 3)**2 + 4)
axes[1, 2].plot(s, F_cos2, 'b-', lw=2, label='$s/(s^2+4)$: $\\mathcal{L}[\\cos 2t]$')
axes[1, 2].plot(s, F_shifted, 'r-', lw=2,
label='$(s+3)/((s+3)^2+4)$: $\\mathcal{L}[e^{-3t}\\cos 2t]$')
axes[1, 2].set_title('$s$-domain representations', fontsize=12)
axes[1, 2].set_xlabel('$s$'); axes[1, 2].set_ylabel('$F(s)$')
axes[1, 2].legend(fontsize=9)
axes[1, 2].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('laplace_properties.png', dpi=150, bbox_inches='tight')
plt.show()
まとめ
本記事では、ラプラス変換の主要性質を証明付きで解説しました。
- 線形性: 積分の線形性から直接導かれる
- 微分の変換: $\mathcal{L}[f'(t)] = sF(s) – f(0)$。微分方程式を代数方程式に変える核心
- 積分の変換: $\mathcal{L}[\int_0^t f\,d\tau] = F(s)/s$。微分の変換の「逆」
- 第1推移定理: $e^{at}$ を掛けると $s \to s-a$ に置換
- 第2推移定理: 時間遅れ $u(t-a)$ は $e^{-as}$ に対応
- たたみ込み定理: 時間領域の畳み込みが $s$ 領域の積に対応
これらの性質を組み合わせることで、定数係数線形微分方程式を系統的に解くことができます。
次のステップとして、以下の記事も参考にしてください。