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

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

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

はじめに

前回はDCモータに於ける、電圧から電流を求める微分方程式を導出。
これで必要な微分方程式が揃った状態。

これらを元に状態方程式を組み上げる。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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

状態量と各種微分方程式

太郎くん
太郎くん

各種微分方程式が導出できたから、
これらから状態方程式を組み上げるんだよねー。

フクさん
フクさん

そうそう。
状態量と、これまでの微分方程式を再掲しておこう。

状態量

\(
\boldsymbol{x}=
\begin{bmatrix}
\theta(t) \\
\omega(t) \\
I(t)
\end{bmatrix}
\)

各種微分方程式

\(\dot{\theta}(t)=\omega(t)\dots(1)\)
\(\dot{\omega}(t)=\displaystyle \frac{K}{J}I(t)\dots(2)\)
\(\dot{I}(t)=\displaystyle -\frac{K}{L}\omega(t)-\frac{R}{L}I(t)+\frac{1}{L}E(t)\dots(3)
\)

状態方程式

フクさん
フクさん

とりあえず、そのまま状態方程式を組み上げてしまおう。
割と元の微分方程式のまんまのはずだ。

\(
\begin{bmatrix}
\dot{\theta}(t) \\
\dot{\omega}(t) \\
\dot{I}(t)
\end{bmatrix}=
\begin{bmatrix}
0 && 1 && 0 \\
0 && 0 && K/J \\
0 && -K/L && -R/L
\end{bmatrix}
\begin{bmatrix}
\theta(t) \\
\omega(t) \\
I(t)
\end{bmatrix}+
\begin{bmatrix}
0 \\
0 \\
1/L
\end{bmatrix}
E(t)
\)

太郎くん
太郎くん

確かに、ベクトル行列の表現になったけど、
元の微分方程式のまんまってのはわかる。

太郎くん
太郎くん

なんか状態空間モデルも見慣れてしまうと
それほど不可思議なものって感じでも無くなってくるね。

フクさん
フクさん

そうだね。
慣れの問題は大きいだろう。
だから喰わず嫌いせずにちゃんとやりな。

太郎くん
太郎くん

(ぐうの音も出ない・・・。)

まとめ

フクさん
フクさん

まとめだよ。

  • 状態量と各種微分方程式を再掲。
  • 上記の情報から状態方程式を組み上げた。
    • 表現がベクトル行列になっただけで、導出した微分方程式と一緒。
  • 状態空間モデルも見慣れてしまえばそれほど不可思議なものではない。

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

コメント

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