Simulink Functionを使用した、非線形状態空間モデルの作成方法が分かりません。
조회 수: 4 (최근 30일)
이전 댓글 표시
Simulink Functionを使用して非線形状態空間モデルを作りたいのですが、その作成方法が分かりません。
具体的には、4つの伝達関数(うち1つはむだ時間を伴う)から、4入力1出力の状態空間モデルを作成し、線形カルマンフィルタを使用した解析を行っておりました。
U = tf(-0.607735,[86440 1],'inputdelay',11840);
V1 = tf(0.000520059,[114410 1]);
V2 = tf(0.002600792,[60160 1]);
V3 = tf(0.000801016,[113840 1]);
Ys = [U V1 V2 V3];
plant = ss(Ys);
[A,B,C,D] = ssdata(plant);
しかし今回、この状態空間モデルのパラメータの更新を行うため、拡張カルマンフィルタ(Extended Kalman Filter)を用いてモデル作成に取り組んでいるのですが、自分の理解が追い付かず苦戦しております。
- 状態遷移関数が複数の追加の入力をもつ場合、Simulink Function (Simulink) ブロックを使用して関数を指定します。Simulink Function ブロックを使用する際、追加の入力は Inport (Simulink) ブロックを使って Simulink Function ブロックに直接提供します。Extended Kalman Filter ブロック内に追加の入力用の入力端子は生成されません。
と書かれているため、添付画像のように作成していますが、そもそも作り方があっているのかもわかりません。
どのように作成すればよいでしょうか?
댓글 수: 0
채택된 답변
Toshinobu Shintai
2020년 10월 26일
以下のサンプルモデルを参考に、真似して作成してみてはいかがでしょうか。
出口さんのモデルでは、ヤコビアンが計算できるタイプのモデルですので、ブロックパラメータの「ヤコビアン」にチェックを入れて、A行列などを計算するモデルをSimulink Function内に作れば良いのではないかと思います。
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 状態空間の制御設計と推定에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!