単位ステップ関数とLaplace変換(unit step function and the Laplace transform)とは、時刻に応じて切り替わる入力をステップ関数で表し、時間推移の公式により変換する方法である。遅れた入力の変換には指数因子が付く。区分的な入力を差分の和で表すと、矩形パルスや折れ線入力に対する線形系の応答をまとめて計算できる。
前提知識: Laplace変換, 逆Laplace変換, 線形微分方程式
入力がある時刻から始まる、一定時間だけ続く、途中で別の式へ切り替わるという問題を、単位ステップ関数を使って一つの式にまとめられる。区分ごとに微分方程式を解いて積分定数を接続する方法もあるが、切替時刻が多い場合には式が長くなる。ステップで入力を表せば、時間の遅れは変換側の因子 $e^{-as}$ にまとまり、各入力の応答を足すだけで計算できる。
使う際の要点は、開始時刻を表す $u(t-a)$ と、開始してからの経過時間を表す $t-a$ を区別することである。$u(t-a)f(t)$ と $u(t-a)f(t-a)$ は一般に違う関数であり、後者だけが $e^{-as}F(s)$ に対応する。前者を変換するには $t=(t-a)+a$ と書き直し、開始時刻から測る関数を作る。このひと手間が、区分的な入力の計算の中心になる。
単位ステップ関数、またはHeaviside関数を
$$
u(t)=\begin{cases}0&t<0,\\1&t\ge0\end{cases}
$$
で定義する。$u(t-a)$ は時刻 $a$ より前ではゼロ、$a$ 以後では1である。以下、遅延時刻は $a\ge0$ とする。
文献では $u(0)=1/2$ や $u(0)=0$ とする流儀もある。通常のLaplace変換は一点の値を見ないので、これらの違いは変換の値に影響しない。区分的な式を各点で厳密に一致させたいときは、その規約に合わせて分点の値を指定する。本記事の等式は上の右連続な規約を基本とし、入力の孤立点の値が微分方程式の解を変えるとは扱わない。
$u$ は通常の関数であり、デルタ関数とは違う。古典的な微分は $t\ne0$ でゼロだが、原点で微分できない。超関数微分はデルタになる。この違いは超関数の例「Heaviside関数の微分」による。ステップ入力を持つ2階の方程式は通常の区分的な入力の問題であり、デルタ入力が生む速度の跳びとは区別する。
$0\le a< b$、定数 $A$ に対して $A(u(t-a)-u(t-b))$ を高さ $A$、区間 $[a,b)$ の矩形パルスという。パルスの幅は $b-a$、面積は $A(b-a)$ である。
幅と高さは別のパラメータである。幅を小さくするだけでは面積もゼロへ近づく。面積を一定にして短い撃力を表すには、高さを幅の逆数に比例して増やさなければならない。この操作の極限はデルタ関数とLaplace変換で扱う。ステップを差にしただけで、どんなパルスもデルタの近似になっているわけではない。
$f$ が区分的に連続で指数オーダー、$F=\mathcal L[f]$、$a\ge0$ とする。$q(t)=u(t-a)f(t-a)$ とおけば、$F(s)$ が絶対収束する領域で
$$
\mathcal L[q](s)=e^{-as}F(s).
$$
$t< a$ で被積分関数はゼロである。従って
$$
\int_0^\infty e^{-st}u(t-a)f(t-a)\,dt=\int_a^\infty e^{-st}f(t-a)\,dt.
$$
$v=t-a$ と置換すると $e^{-as}\int_0^\infty e^{-sv}f(v)\,dv$ になる。絶対値の積分にも同じ置換ができ、$\lvert e^{-as}\rvert\int_0^\infty e^{-(\operatorname{Re}s)v}\lvert f(v)\rvert\,dv<\infty$ なので、広義積分の置換が正当化される。$a=0$ でも同じ計算であり、端点の一点の値は積分へ影響しない。$\square$
この公式は第2推移定理とも呼ばれる。$e^{at}f(t)$ の変換が $F(s-a)$ になる $s$ 推移とは違い、時間推移では $F$ の引数は変えず、指数関数を外に掛ける。逆向きには、$e^{-as}F(s)$ を見つけたら $f$ を時刻 $a$ だけ右へ移し、始まる前をゼロにする。この逆変換の一意性は逆Laplace変換の定理「Lerchの一意性定理」による。
$$
\mathcal L[u(t-a)]=\frac{e^{-as}}s,\qquad
\mathcal L[u(t-a)(t-a)^n]=e^{-as}\frac{n!}{s^{n+1}}.
$$
いずれも $\operatorname{Re}s>0$ で使える。ここでべきは $t-a$ のべきであり、$t^n$ ではない。例えば $tu(t-a)$ は $((t-a)+a)u(t-a)$ だから、変換は $e^{-as}(1/s^2+a/s)$。経過時間の一次ランプ $(t-a)u(t-a)$ の変換 $e^{-as}/s^2$ とは定数項の分だけ違う。
時間推移の公式と区分的入力の扱いは LebDQ26 §6.2.3 の式 (6.1) にもある。表の条件は、切替が非負の時刻にあることと、開始してからの関数が変換できることである。負の時刻へずらすと、片側変換の積分下端に残る切り落としを別に計算する必要があり、同じ公式をそのまま使えない。
$0=a_0< a_1<\cdots< a_m$ とし、$[a_j,a_{j+1})$ では $p_j(t)$、$[a_m,\infty)$ では $p_m(t)$ を使う関数を考える。各 $p_j$ が必要な時間で定義されているなら、
$$
f(t)=p_0(t)+\sum_{j=1}^m u(t-a_j)(p_j(t)-p_{j-1}(t))
$$
である。端点は右側の式の値を採る。
$a_k\le t< a_{k+1}$ を固定する。$j\le k$ のステップは1、$j>k$ のステップは0なので、右辺は $p_0+\sum_{j=1}^k(p_j-p_{j-1})$。中間の項が順に打ち消し合い $p_k(t)$ になる。最後の区間でも同じ計算を $k=m$ として使える。端点 $t=a_k$ では $u(0)=1$ としたため右側の $p_k$ を採る。$\square$
各区間を窓 $u(t-a)-u(t-b)$ で切り出して足す方法もある。窓の方法は区間と式の対応が見やすく、差の方法は項数が少なくなることがある。差の式では、切替点を通過するたびに新しい式と直前の式との差を加える。最初から新しい式そのものを加えると、前の式が残ってしまう。
差の表現を変換するには、$p_j(t)-p_{j-1}(t)=r_j(t-a_j)$ と直す。これは $r_j(v)=p_j(v+a_j)-p_{j-1}(v+a_j)$ と定義すればよい。従って $r_j$ の変換を $R_j$ とすると $F=P_0+\sum_je^{-a_js}R_j$。多項式なら $t=v+a_j$ と代入して展開し、三角関数なら加法定理、指数関数なら定数因子 $e^{ba_j}$ を使う。
全ての $p_j$ が指数オーダーなら、この有限和も指数オーダーである。無限個の切替を扱う場合には、切替時刻が有限点に集積しないことだけでなく、振幅の増え方と和の収束も確かめる必要がある。有限和の線形性をそのまま無限和に使うことはできない。
$g$ が区分的に連続で各有限区間で有限個の跳びをもち、$\alpha,\beta$ が定数とする。$y''+\alpha y'+\beta y=g$ の解は、所定の初期値を与えるとただ一つに決まり、$y$ は $C^1$ 級、$y'$ は各有限区間で絶対連続、$y''$ は区分的に連続である。入力の跳びの時刻 $a$ で
$$
y(a+)=y(a-),\qquad y'(a+)=y'(a-),\qquad
y''(a+)-y''(a-)=g(a+)-g(a-).
$$
$x=(y,y')^T$、$A=\left(\begin{smallmatrix}0&1\\-\beta&-\alpha\end{smallmatrix}\right)$、$b=(0,1)^T$ とし、
$$
x(t)=e^{At}x(0)+\int_0^te^{A(t-v)}bg(v)\,dv
$$
と定める。有限区間では $g$ は有界で、行列指数もその導関数も有界なので、積分項は連続で絶対連続になる。区分ごとに微分すると $x'=Ax+bg$ が成立する。第1成分の微分は $x_2$ で、$x_2$ は連続だから $y$ は $C^1$ 級である。第2成分から $y''=g-\alpha y'-\beta y$ が入力の連続点で成立し、$y'$ は絶対連続になる。切替点では $y,y'$ が連続なので、最後の式の左右極限を引けば2階微分の跳びは $g$ の跳びに等しい。
一意性は区間ごとの斉次系で確認する。同じ初期値をもつ二つの解の差 $z$ は、各区間で $z'=Az$、最初の初期値はゼロである。線形微分方程式の定理「解の存在と解空間」から最初の区間ではゼロ。連続性により次の区間の初期値もゼロであり、この議論を有限区間内の有限個の分点に沿って繰り返せば差は全域でゼロになる。指数オーダーの $g$ なら、この積分式をノルムで評価して $x$ も指数オーダーとなるので、微分の変換公式も適用できる。$\square$
入力の高さが突然変わっても、慣性をもつ2階の系の位置と速度は突然変わらない。入力の跳びは加速度の跳びへ移る。これは物理的な説明だけではなく、上の積分式と接続条件から分かる。入力がデルタの場合には速度が跳び、入力がステップの場合には速度は連続である。どの導関数が跳ぶかを方程式の階数と入力の種類から判断する。
1階の $y'+cy=g$ では、同じ議論により $y$ は連続で、$y'$ の跳びが $g$ の跳びになる。一般の $n$ 階の定数係数系なら $y,\ldots,y^{(n-1)}$ を連続に接続する。原点の初期値も、この低階の状態を指定するものである。ステップの一点の値を変えても、積分式の値や接続条件は変わらない。
| 時間側 | 変換側 | 条件と根拠 |
|---|---|---|
| $u(t-a)$ | $e^{-as}/s$ | $a\ge0$、thm-ust-shift |
| $u(t-a)f(t-a)$ | $e^{-as}F$ | $f$ が変換可能、thm-ust-shift |
| $A(u(t-a)-u(t-b))$ | $A(e^{-as}-e^{-bs})/s$ | $0\le a< b$、線形性 |
| $(t-a)u(t-a)$ | $e^{-as}/s^2$ | $\operatorname{Re}s>0$、ランプの変換 |
| $tu(t-a)$ | $e^{-as}(s^{-2}+as^{-1})$ | $\operatorname{Re}s>0$、経過時間への直し |
$f(t)=tu(t-1)$ の変換は $F(s)=e^{-s}(1/s^2+1/s)$、$\operatorname{Re}s>0$。$F(2)\approx0.101501$。$t=(t-1)+1$ と直してから時間推移を使う。
開始後の関数は $v+1$。その変換は $1/s^2+1/s$ であり、遅延因子 $e^{-s}$ を掛ける。
$f(t)=3(u(t-1)-u(t-3))$ は高さ3、幅2、面積6の入力である。$F(s)=3(e^{-s}-e^{-3s})/s$、$F(1)\approx0.954277$。
定義の積分でも $\int_1^3 3e^{-st}\,dt=3(e^{-s}-e^{-3s})/s$ となる。$s\to0$ では $F(s)\to6$ で、有限区間のパルスの面積に等しい。
$y''+3y'+2y=u(t-1)-u(t-3)$、$y(0)=y'(0)=0$ を解く。$q(v)=\tfrac12-e^{-v}+\tfrac12e^{-2v}$ とすると、$y(t)=q(t-1)u(t-1)-q(t-3)u(t-3)$。$y(2)\approx0.199788$、$y(4)\approx0.251664$。
$Y=(e^{-s}-e^{-3s})/(s(s+1)(s+2))$。$1/(s(s+1)(s+2))=1/(2s)-1/(s+1)+1/(2(s+2))$。$q(0)=q'(0)=0$ なので各遅延項は位置と速度を連続に接続する。$q''+3q'+2q=1$。
$f(t)=t$($0\le t<1$)、$f(t)=2$($1\le t<2$)、$f(t)=0$($t\ge2$)とする。$f=t+(2-t)u(t-1)-2u(t-2)$、従って $F(s)=s^{-2}+e^{-s}(s^{-1}-s^{-2})-2e^{-2s}s^{-1}$。$F(1)\approx0.729329$。
第1の差は $2-t=1-(t-1)$ なので $e^{-s}(1/s-1/s^2)$。第2の差は $-2$ である。各区間へ代入すれば、ステップの式が指定された3つの式に戻る。
最後の例には時刻1の入力の跳びがあるが、矩形パルスの例とは違い、切替前にランプが続いている。差の項は新しい入力そのものではなく、前のランプを消して定数2へ直す量である。区間を一つずつ代入して、不要な項が消えることを確認すると、ステップ表現の符号を確かめやすい。
$f$ が周期 $T>0$、区分的に連続な関数なら、$\operatorname{Re}s>0$ で
$$
F(s)=\frac{\int_0^T e^{-st}f(t)\,dt}{1-e^{-sT}}.
$$
周期関数は有界なので、$\operatorname{Re}s>0$ で絶対収束する。積分を区間 $[kT,(k+1)T]$ に分け、各区間で $v=t-kT$ と置換すると、積分は $e^{-skT}\int_0^T e^{-sv}f(v)\,dv$ になる。絶対値を取った各区間の積分の和も有限なので、この区間分割を無限和へ移せる。$\lvert e^{-sT}\rvert<1$ だから幾何級数を足し、表示した式を得る。$\square$
周期入力は、一周期のパルスを繰り返すことで表せる。繰り返しの因子 $1/(1-e^{-sT})$ は、各回の遅延因子の和である。ただし $s=0$ では分母がゼロになるので、正の実部の条件を外して使えない。平均値がゼロでも、時間側の関数が長時間に極限をもつとは限らない。周期関数に最終値定理を適用するには、その定理の仮定を別に確認する。
| 外す条件 | 反例 | 成り立たなくなること |
|---|---|---|
| 開始後の時間へ書き直す | $tu(t-1)$ に $e^{-s}/s^2$ を使う | 定数分 $e^{-s}/s$ を失う |
| 遅延時刻が非負 | $u(t+1)$、$t\ge0$ | 変換は $1/s$ であり $e^s/s$ ではない |
| ステップとデルタの区別 | $y'=u(t-1)$ を $y=u(t-1)$ とする | 正しい解は $(t-1)u(t-1)$ で連続 |
| 元の入力を差し引く | $p_0+t$ 型の切替で新しい式だけ足す | 切替前の式が残る |
最初の誤りを $s=2$ で見ると、誤った値は $e^{-2}/4\approx0.033834$、正しい値は $3e^{-2}/4\approx0.101501$。違いは小さな端点の規約によるものではなく、開始時刻での入力値1を失ったことによる。開始時刻でゼロから増えるランプと、既存のランプを途中から観測する関数は別の入力である。
負の遅延の例では $t\ge0$ 全域で $u(t+1)=1$ なので、定義の積分は $1/s$ になる。$e^s/s$ は時刻−1からの部分を含む積分を想定した式で、片側変換の下端0と合わない。片側変換は過去の入力を知らないので、左へずらした波形には失われる区間の補正が必要になる。
3番目では $y(0)=0$ とすると $y(t)=\int_0^tu(v-1)\,dv$。$t<1$ でゼロ、$t\ge1$ で $t-1$ である。$t=2$ での値は1だが、$t=3$ では2になる。誤ったステップは両方1なので一致しない。導関数にステップを与えると関数はランプになるのであり、関数自体が跳ぶのではない。
| 誤り | 正しくは | 理由 |
|---|---|---|
| $e^{-as}F(s)$ を $e^{-at}f(t)$ に戻す | $u(t-a)f(t-a)$ | 時間推移と $s$ 推移の違い |
| パルスを $u(t-a)+u(t-b)$ にする | 差 $u(t-a)-u(t-b)$ | 時刻 $b$ で入力を止める |
| 入力が終われば応答もゼロ | 自由応答が残り得る | ex-ust-response |
| $u(0)$ の違いで解が変わる | 一点は積分に影響しない | 接続条件の積分式 |
| 2階系で速度を跳ばす | ステップでは速度は連続 | thm-ust-regularity |
ステップの方法では、入力を表す式を正しく作る工程と、作った入力に対して応答を求める工程を分ける。前者は区間ごとの代入で確かめられ、後者は変換と接続条件で確かめられる。入力の表現が違っていても同じ関数なら応答は同じである。窓による式と差による式が違う形に見えても、各区間で一致することを確認すれば、一意性により同じ解を与える。
時間推移の因子は、制御の伝達関数や遅延を含む方程式にも現れる。ただし本記事では入力の開始時刻を遅らせる操作を扱った。未知関数自身の過去の値 $y(t-a)$ が方程式に入る遅延微分方程式では、初期値一点だけでなく過去の区間の履歴を指定する必要がある。入力の遅延と、状態の遅延を同じ初期値問題だと扱わない。
ステップ関数を用いた式は、切替前後の初期値問題をまとめて書く方法でもある。時刻 $a$ の前までの解が分かれば、$y(a)$ と $y'(a)$ を次の区間の初期状態として受け渡せる。跳びのある通常の入力だけなら、この二つの状態は連続なので左右で同じ値を使う。
変換法では、この受渡しの計算を時間推移の因子 $e^{-as}$ と初期値の項がまとめて担う。しかし式を得た後に左右の値を確認する意味は失われない。例えば零状態のステップ応答 $q$ を遅らせた $q(t-a)u(t-a)$ では、$q(0)=q'(0)=0$ なら解と速度は切替時刻で連続になる。もし応答の式に定数を足して $q(0)\ne0$ にしてしまえば、ステップを掛けた解自体が跳ぶ。その式は元の二階問題の解にはならない。
矩形入力 $A\{u(t-a)-u(t-b)\}$ に対しては、開始する応答と終了する応答を重ねる。零状態の単位ステップ応答を $q$ とすれば
$$
y(t)=Aq(t-a)u(t-a)-Aq(t-b)u(t-b)
$$
である。第二項は入力終了後の全応答を零にする操作ではなく、時刻 $b$ から大きさ $-A$ のステップを追加する操作である。物体に既に生じた変位や速度は、入力を切っても残る。この区別は、電源を切る、外力を止める、といった問題で特に大切になる。
入力の幅 $b-a$ が短くても、その面積 $A(b-a)$ は保持される。高さを固定して幅を零にすると作用量は消えるが、高さを幅の逆数に比例させると有限な作用量が残る。後者の極限は デルタ関数とLaplace変換 の矩形近似につながる。通常の切替入力では速度が連続なのに、集中入力の極限で速度が跳ぶのは、高さが同時に発散するからである。
連続な折れ線入力にもステップ関数を使える。時刻 $a$ で傾きだけが $m_1$ から $m_2$ に変わる入力なら、変化分は $(m_2-m_1)(t-a)u(t-a)$ である。単に $(m_2-m_1)t u(t-a)$ を足すと時刻 $a$ で値まで跳んでしまう。切替後の式を経過時間に直す際、定数の項がどのように変わるかを確認することが、連続な入力を保つ鍵になる。
図でも入力の跳びと応答の連続性を別々に見る。入力のグラフの垂直な線は、応答の値まで同じように跳ぶことを意味しない。
図: 時間領域と変換領域の対応
左は時刻 $1$ から $3$ までの単位矩形入力、右は二階系の応答である。入力を止めても応答は直ちに零にはならない。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する