next up previous
Next: 各方法の比較 Up: 計算機シミュレーション Previous: Adams-Moulton Predictor-Corrector法

状態遷移法

線形システムのシミュレーションの数値法として状態変数に基づくものが広く用 いられるようになってきた。

すなわち

\begin{displaymath}
\left\{ \begin{array}{l}
\frac{\displaystyle{\mathrm{d}\mbo...
...math$y$}=\mbox{\boldmath$CX$}+\mathrm{d}u
\end{array} \right.
\end{displaymath} (7.40)

で表されるシステムの入力$u(t)$を断片的な定数で等価的に表し

\begin{displaymath}
\begin{array}{c}
u(t) : u(kT+\tau)=u(kT) \\
0 \leq \tau < T
\end{array}\end{displaymath}

として離散値系の状態方程式
\begin{displaymath}
\left\{ \begin{array}{l}
\mbox{\boldmath$X$}[(k+1)T]=e^{\mb...
...h$y$}(kT)=\mbox{\boldmath$CX$}(kT)+du(kT)
\end{array} \right.
\end{displaymath} (7.41)

として表され

\begin{displaymath}
\begin{array}{lr}
\mbox{\boldmath$A$}(T)=e^{\mbox{\boldmat...
...ox{\boldmath$F$}\tau}d\tau\cdot\mbox{\boldmath$G$}
\end{array}\end{displaymath}

とすれば
\begin{displaymath}
\mbox{\boldmath$X$}(k+1)=\mbox{\boldmath$A$}(T)\mbox{\boldmath$X$}(k)+\mbox{\boldmath$B$}(T)u(k)
\end{displaymath} (7.42)

で計算される。

ここで

\begin{displaymath}
\mbox{\boldmath$A$}=\sum_{i=0}^{\infty}\frac{\mbox{\boldmath...
...$F$}^iT^i}{i!}
\equiv \mbox{\boldmath$M$}+\mbox{\boldmath$R$}
\end{displaymath} (7.43)

として、 $\mbox{\boldmath$R$}$ $\mbox{\boldmath$M$}$に対して十分小さくなるように$L$を選択すれば、 $\dot{\mbox{\boldmath$M$}}$ をもって $\mbox{\boldmath$A$}$の近似とすることができる。
\begin{displaymath}
\mbox{\boldmath$B$}=(e^{\mbox{\boldmath$F$}T}-\mbox{\boldmath$I$})\mbox{\boldmath$F$}^{-1}\mbox{\boldmath$G$}
\end{displaymath} (7.44)

であるから、(7.43)式を代入して
\begin{displaymath}
\mbox{\boldmath$B$}=T\sum_{j=0}^{\infty}\frac{\mbox{\boldmath$F$}^iT^i}{(j+1)!}\mbox{\boldmath$G$}
\end{displaymath} (7.45)

となり、これも$j=0\sim L$として近似的に求められる。

$\mbox{\boldmath$A$},\mbox{\boldmath$B$}$はそれぞれ

\begin{displaymath}
\left\{ \begin{array}{lcl}
\mbox{\boldmath$A$} & =\hspace{-...
...right\} \right) \cdot \mbox{\boldmath$G$}
\end{array} \right.
\end{displaymath} (7.46)

で表されるから、内側の括弧内から計算をするようにすれば、類似の計算の 繰り返しで行なえる。

[例]

\begin{displaymath}
\left\{ \begin{array}{l}
\dot{x}_1=x_2 \\
\dot{x}_2=-\omega ^2x_1
\end{array} \right.
\end{displaymath} (7.47)

の場合
\begin{displaymath}
\mbox{\boldmath$F$} = \left[ \begin{array}{cc}
0 & 1 \\
-\omega ^2 & 0
\end{array} \right]
\end{displaymath} (7.48)

ゆえ
\begin{displaymath}
e^{\mbox{\boldmath$F$}t} =
\left[ \begin{array}{cc}
\cos \o...
...\
-\omega \sin \omega t & \cos \omega t
\end{array} \right]
\end{displaymath} (7.49)

したがって
\begin{displaymath}
\left[ \begin{array}{c}
x_1(k+1) \\
x_2(k+1)
\end{array}...
...eft[ \begin{array}{c}
x_1(k) \\
x_2(k)
\end{array} \right]
\end{displaymath} (7.50)

となるので、$T$を定めれば計算することができる。
next up previous
Next: 各方法の比較 Up: 計算機シミュレーション Previous: Adams-Moulton Predictor-Corrector法
Yasunari SHIDAMA
平成15年7月29日