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

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

バックナンバーはこちら。
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

【再掲】状態方程式微分解決&出力方程式

フクさん
フクさん

前回の微分解決済みの状態方程式と、微分未解決の出力方程式を再掲しよう。

微分解決済みの状態方程式
\(\boldsymbol{x}(t+\Delta t)=\boldsymbol{x}(t)+\{A\boldsymbol{x}(t)+B\boldsymbol{u}(t)\}\Delta t \)

微分未解決の出力方程式
\(\boldsymbol{y}(t+\Delta t)=C\boldsymbol{x}(t)+D\boldsymbol{u}(t)\)

出力方程式の微分解決

太郎くん
太郎くん

前回は状態行列の微分解決をしたから、
流れ的には、今回は出力方程式になるのか・・・。

フクさん
フクさん

まぁ出力方程式自体は、特に微分方程式が埋まってないんで、
微分解決済みの状態方程式を代入するだけだな。

太郎くん
太郎くん

代入?
何を?
どこに?

フクさん
フクさん

\(\boldsymbol{x(t)}\)を。

出力方程式に。
まぁ見た方が早い。

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

太郎くん
太郎くん

あ、なるほど。そのまんまなのね。

微分解決の感想

太郎くん
太郎くん

なんか特にベクトル、行列の意識はしない感じだったね。

フクさん
フクさん

そうそう。
全てに於いて意識しなくてもOKとは言い切れないが、
1変数と多変数は基本的にはそんなに変わらないんだよね。
先にベクトルと行列の関係性が決まっていれば、
気にしなくて良い事が多いな。

太郎くん
太郎くん

しかし、数式が出たのは良いが、具体的にプログラムに落とし込む部分がイマイチイメージ湧かないな・・・。

フクさん
フクさん

書いてみるとわかるけど、
割とそのまんまだよ。

太郎くん
太郎くん

それは書ける人の意見で、書けない人に対して成立する保証はないな。

フクさん
フクさん

わかったわかった。
各ツール、各言語でどのような書き方になるかやってみよう。

太郎くん
太郎くん

(これで楽ができそうだ。)

まとめ

フクさん
フクさん

まとめだよ。

  • 出力方程式の微分解決を実施。
    • とはいっても、出力方程式側には微分方程式は居ないのでxを代入しただけ。
    • これで、状態空間モデルのままで演算できる状態になったと言える。
  • しかし、これでもプログラム化のイメージは湧きにくい。
    • よって、次回から各ツール、各言語で書くとどうなるかを確認。

コメント

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