MATLAB,Python,Scilab,Julia比較 その47【状態空間モデル⑤】

MATLAB,Python,Scilab,Julia比較 その47【状態空間モデル⑤】数値計算
MATLAB,Python,Scilab,Julia比較 その47【状態空間モデル⑤】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia-backnumber/

スポンサーリンク

はじめに

前回は、以下を実施

  • 状態量の定義。
  • 運動方程式を紐解いて、状態量の内訳である速度、距離の方程式を求めた。

あとは、この情報を元に状態空間モデルを組み上げる。

スポンサーリンク

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

スポンサーリンク

前回の方程式再掲

フクさん
フクさん

まずは、前回求めた、速度と距離の方程式を再掲しておこう。

\(
\begin{eqnarray}
m \dot{v}(t) &=& F(t) \\
\dot{v}(t) &=& \displaystyle \frac{F(t)}{m}\dots(1) \\
\dot{s}(t) &=& v(t)\dots(2)
\end{eqnarray}
\)

太郎くん
太郎くん

これがあれば、状態空間モデルが組み上げられるってことだね。

スポンサーリンク

状態方程式の組み上げ

フクさん
フクさん

まずは状態方程式。

状態方程式

\(\dot{\boldsymbol x}=A\boldsymbol{x}+B\boldsymbol{u}\)

フクさん
フクさん

これに対して今回導出した方程式である(1)(2)を適用すると以下になる。

\(
\begin{bmatrix}
\dot{v}(t) \\
\dot{s}(t)
\end{bmatrix}=
\begin{bmatrix}
0 && 0 \\
1 && 0
\end{bmatrix}
\begin{bmatrix}
v(t) \\
s(t)
\end{bmatrix}+
\begin{bmatrix}
1/m \\
0
\end{bmatrix}
F(t)
\)

太郎くん
太郎くん

これは行列演算の表現になっただけで、
(1)(2)の方程式と全く同じ意味の数式ってことだね。

フクさん
フクさん

その通り。

スポンサーリンク

出力方程式の組み上げ

フクさん
フクさん

次は出力方程式。

出力方程式

\(\boldsymbol y=C\boldsymbol{x}+D\boldsymbol{u}\)

フクさん
フクさん

これに対して、出力させたい変数は距離\(s(t)\)
そうなると以下になる。

\(
\boldsymbol{y}=
\begin{bmatrix}
0 && 0 \\
0 && 1
\end{bmatrix}
\begin{bmatrix}
v(t) \\
s(t)
\end{bmatrix}+
\begin{bmatrix}
0 \\
0
\end{bmatrix}
F(t)
\)

フクさん
フクさん

しかし、ここでは内部パラメータを全部参照しておきたいので、
以下にしておく。

\(
\boldsymbol{y}=
\begin{bmatrix}
1 && 0 \\
0 && 1
\end{bmatrix}
\begin{bmatrix}
v(t) \\
s(t)
\end{bmatrix}+
\begin{bmatrix}
0 \\
0
\end{bmatrix}
F(t)
\)

太郎くん
太郎くん

あ、なるほど。
出力行列\(C\)次第で出力される状態量が確定するのか。

フクさん
フクさん

そうそう。
元々の問いでは距離\(s(t)\)だけではあったけど、念のため速度\(v(t)\)も見たいとかになれば出力行列\(C\)を弄ればOKってことだな。
これで運動方程式を元にした超シンプルな状態空間モデルは完成。

スポンサーリンク

まとめ

フクさん
フクさん

まとめだよ。

  • 状態方程式、出力方程式を組み上げた。
  • 状態方程式は前回の運動方程式から導出した微分方程式を元に作成。
  • 出力方程式は参照したい状態量に合わせて出力行列Bを調整するのみ。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました