MPCの状態空間モデルに関して
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
現在、伝達関数から状態空間モデルを作成し、MPCのプラントモデルに設定して解析を行っております。
作成した状態空間モデルをssdataで取得したモデルの各行列[A,B,C,D]と、MPCのプラントモデルをgetEstimatorで取得したモデルの各行列[A_,Cm,Bu,Bv,Dvm]の違いがよく分かりません。
下記のコードで実行した場合、例えばssdataでの行列Aは8×8ですが、getEstimatorでの行列A_は9×9となっています。
この関係性や、mpcのプラントモデルとして設定した際にどのようにモデルが変換されているのか詳しく教えていただけませんか?
Ts = 3600;
p = 24;
m = 12;
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];
sys = ss(Ys);
sysd = c2d(sys,Ts);
sysnd = absorbDelay(sysd);
plantd = sysnd;
plant = setmpcsignals(plantd,'MV',1,'MD',[2 3 4]);
mpcobj = mpc(plant,Ts,p,m);
[A,B,C,D] = ssdata(plantd)
[L,M,A_,Cm,Bu,Bv,Dvm] = getEstimator(mpcobj)
0 Kommentare
Antworten (1)
Toshinobu Shintai
am 26 Apr. 2021
以下のリンク先にて、MathWorksのMPCの状態推定について説明しています。プラントのダイナミクスを予測する内部モデルよりもgetEstimatorで得られるモデルの方が次元が大きいのは、外乱やノイズなどの変数が加わっているため、と考えられます。
0 Kommentare
Siehe auch
Kategorien
Mehr zu Refinement finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!