バックナンバーはこちら。
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
状態空間モデル
さて、状態空間モデルの話に戻そう。
結局、名前は良く聞くって程度で状態空間モデルが何者かもわからんのだけど。
簡単に言うと、微分方程式を組み込んだシステムに於いての入力、状態、出力を定義するものだな。
「簡単に言うと」って、
一体今のどこに簡単さがあったのか・・・。
状態空間モデルの方程式
まぁ、そこはおいおい理解してもらうとして、
まずは状態空間モデルの構成を確認しよう。
まず式としては2つあって、
状態方程式と出力方程式になる。
状態方程式
\(\dot{\boldsymbol x}=A\boldsymbol x+B\boldsymbol u\)
出力方程式
\(\boldsymbol y=C\boldsymbol x+D\boldsymbol u\)
ちなみに、出力方程式のことを観測方程式と呼ぶ場合もあるな。
この式は見たことあるけど、
\(A,B,C,D,x,y,u\)が何者でどういう関係性にあるのかがさっぱりなんだよね。
まぁ、そこは一つずつ紐解いていこう。
状態空間モデルの各変数
変数としては3つ。
\(\boldsymbol x,\boldsymbol y,\boldsymbol u\)になるが、それぞれに名前が付いている。
状態量:\(\boldsymbol x\)
出力量:\(\boldsymbol y\)
入力量:\(\boldsymbol u\)
各名称の「量」を「変数」とする場合もあるな。
状態量だったら状態変数みたいな感じ。
あと、方程式の時と同じように出力量を観測量、観測変数と呼ぶ場合もある。
入力と出力に加えて状態も変数化していることってことか。
ちなみに、これらの変数はすべてベクトルだな。
そして、ベクトルの場合、\(\vec{x}\)の書き方をイメージするかもしれないが、
\(\boldsymbol x\)のように太文字表記もベクトル表記の一種になるな。
ちょっと暗黙ルール多すぎ!!
確かに説明してる私の方もそんな気がしてきた。
まぁ、ベクトルであるという事実は、入力、状態、出力は1変数ではなく多変数であることを示してると思えば良いよ。
(「思えば良いよ。」で片付く話とおもってるのか・・・。)
状態空間モデルのパラメータ
そして残りの\(A,B,C,D\)はパラメータで行列だ。
変数がベクトルとか言い出したあたりから予測はしてた。
これもそれぞれ名前が付いている。
状態行列:\(A\)
入力行列:\(B\)
出力行列:\(C\)
直達行列:\(D\)
これも例によって、出力行列が観測行列って呼ばれる場合はある。
というか、呼び名の揺れが結構あるな・・・。
恐らくは状態空間モデルを利用する領域によって呼び名のクセがあるのかもしれない。
物理学、制御工学、統計学などが考えられるな。
私の呼び名は恐らく物理学領域の場合の呼び名だとは思ってるが、正直自信はない。
一応、本シリーズに於いての呼び名は統一するつもりだけど。
まぁそれだけ利用範囲が広いものってことなんだな・・・。
まとめ
まとめだよ。
- 状態空間モデルの数式について説明。
- 方程式。
- 状態方程式と出力方程式。
- 変数。
- 状態量、入力量、出力量
- パラメータ。
- 状態行列、入力行列、出力行列、直達行列。
- 方程式。
- 各呼び名が揺れるのは使用する領域が広く、観点が異なるため?
バックナンバーはこちら。
コメント