ラプラス変換と伝達関数
時間領域の微分方程式をs領域の代数方程式に変える制御理論の要
- 1
- ラプラス変換は時間 の関数 を複素数 の関数 に変換し、時間領域の「微分・積分」を s領域の「掛け算・割り算」に置き換える道具
- 2
- 指数減衰関数 のラプラス変換は となり、この分母を0にする が「極(pole)」と呼ばれ、システムの安定性や応答速度を決める
- 3
- 制御工学やRLC回路の解析では、微分方程式を直接解く代わりに伝達関数 (s領域の比)を使ってシステムの挙動を設計・解析する
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
ラプラス変換は時間 $t$ の関数 $f(t)$ を複素数 $s$ の関数 $F(s)$ に変換し、時間領域の「微分・積分」を s領域の「掛け算・割り算」に置き換える道具
身につく武器・思考力
指数減衰関数 $e^{-at}$ のラプラス変換は $\frac{1}{s+a}$ となり、この分母を0にする $s=-a$ が「極(pole)」と呼ばれ、システムの安定性や応答速度を決める
実社会・ITでの活躍現場
- •RLC直列回路のインパルス応答と制御系の伝達関数解析
- •ITシステム・アルゴリズム実装における論理設計
- •データ分析やシミュレーションにおける数理モデリング
Layer 1 — 直感・シミュレーター
ボタンで時間領域の関数 (ステップ関数・指数減衰)を切り替え、そのグラフ での挙動を確認しよう。減衰率 のスライダーを動かすと、右側に表示される複素s平面上で極 が左右に移動する様子と、対応する時間応答の減衰の速さが連動して変わることを体感できる。
極 が複素平面の左半分(実部が負)にあるほど、時間応答はより速く0に減衰します。 減衰率 のスライダーを大きくすると、極が左方向(より負)に移動し、左側のグラフの減衰が速くなることが連動して確認できます。
減衰の速さを表すパラメータ を大きくすると、指数関数 のラプラス変換 の極 はどうなるか?
Layer 2 — 定義・受験・証明
定義
時刻 で定義された関数 に対し、そのラプラス変換 は複素数 を変数とする次の広義積分で定義される。
この変換の最大の利点は、時間領域における微分・積分の演算がs領域では単純な代数演算に対応することである。
このため、線形微分方程式で記述される物理システム(回路・機械振動・制御系)は、ラプラス変換によって代数方程式に帰着でき、入力と出力の比として「伝達関数 」を定義できる。
公式・数理モデル
証明・導出
指数減衰関数のラプラス変換の導出: ()のラプラス変換を定義に従って計算する。
積分を実行すると、
のとき となるため、
を得る。単位ステップ関数 はこの式で の極限に相当し、 となる。分母 すなわち が「極」であり、この位置が複素平面の左半分(実部が負)にあることが、時間応答が発散せず減衰する(システムが安定である)ための条件となる。
押さえておきたいポイント
- 微分方程式 ラプラス変換 代数方程式を解く 逆ラプラス変換、という手順で時間領域の困難な微分方程式を回避できる
- 伝達関数 (出力のラプラス変換 / 入力のラプラス変換)はシステムそのものの特性を表し、初期条件によらず定義される
- 伝達関数の分母を0にする の値(極)の実部がすべて負であることが、線形時不変システムが安定であるための必要十分条件
- 極が複素数()のときは指数減衰しながら振動する応答になり、 が大きいほど振動が速く、 が大きいほど減衰が速い
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
RLC直列回路のインパルス応答と制御系の伝達関数解析
電気回路のRLC素子(抵抗R・コイルL・コンデンサC)や機械のバネ・ダンパ系は、いずれも2階線形微分方程式で記述される。ラプラス変換を用いることで、これらのシステムの伝達関数を求め、極の位置から安定性や減衰特性をコードで直接評価できる。
1// RLC直列回路の伝達関数 G(s) = 1 / (LCs^2 + RCs + 1) の極を求める2type Complex = { re: number; im: number };34function rlcPoles(R: number, L: number, C: number): Complex[] {5 // 特性方程式: LC s^2 + RC s + 1 = 06 const a = L * C;7 const b = R * C;8 const c = 1;910 const discriminant = b * b - 4 * a * c;1112 if (discriminant >= 0) {13 // 過減衰: 2つの実数極(振動しない)14 const sqrtD = Math.sqrt(discriminant);15 return [16 { re: (-b + sqrtD) / (2 * a), im: 0 },17 { re: (-b - sqrtD) / (2 * a), im: 0 },18 ];19 } else {20 // 減衰振動: 共役複素極(減衰しながら振動する)21 const sqrtD = Math.sqrt(-discriminant);22 return [23 { re: -b / (2 * a), im: sqrtD / (2 * a) },24 { re: -b / (2 * a), im: -sqrtD / (2 * a) },25 ];26 }27}2829function isStable(poles: Complex[]): boolean {30 // すべての極の実部が負であれば安定(過渡応答が0に収束する)31 return poles.every((p) => p.re < 0);32}3334// 例: R=100Ω, L=0.1H, C=10μF の直列RLC回路35const poles = rlcPoles(100, 0.1, 10e-6);36console.log("極:", poles);37console.log("安定か:", isStable(poles)); // true なら過渡応答は必ず減衰する
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元