MPCの状態空間モデルに関して
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
現在、伝達関数から状態空間モデルを作成し、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 commentaires
Réponses (1)
Toshinobu Shintai
le 26 Avr 2021
以下のリンク先にて、MathWorksのMPCの状態推定について説明しています。プラントのダイナミクスを予測する内部モデルよりもgetEstimatorで得られるモデルの方が次元が大きいのは、外乱やノイズなどの変数が加わっているため、と考えられます。
0 commentaires
Voir également
Catégories
En savoir plus sur Refinement dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!