MATLAB ヘルプ センター
コンパニオン状態空間実現を計算する
R2023b 以降
csys = compreal(sys)
csys = compreal(sys,type)
[csys,T] = compreal(___)
csys = compreal(sys) は、単入力 LTI モデル sys の可制御コンパニオン実現を返します。
csys
sys
例
csys = compreal(sys,type) は、type に応じてモデル sys の実現を返します。type は可制御コンパニオン形式の場合は "c"、可観測コンパニオン形式の場合は "o" として指定します。
type
"c"
"o"
"c" — 単入力 LTI モデル sys の可制御コンパニオン実現を計算します。これは最初の構文と同じです。
"o" — 単出力 LTI モデル sys の可観測コンパニオン実現を計算します。
[csys,T] = compreal(___) は、以下になるように行列 A、B、C をもつ陽的なモデルに対して変換行列 T も返します。
T
可制御コンパニオン形式が T-1AT、T-1B、CT である。
可観測コンパニオン形式が TAT-1、TB、CT-1 である。
すべて折りたたむ
aircraftPitchSSModel.mat には、入力が昇降舵の偏向角 δ で、出力が航空機ピッチ角 θ である航空機の状態空間行列が含まれています。
aircraftPitchSSModel.mat
[α˙q˙θ˙]=[-0.31356.70-0.0139-0.4260056.70][αqθ]+[0.2320.02030][δ]y=[001][αqθ]+[0][δ]
モデルのデータをワークスペースに読み込み、状態空間モデル sys を作成します。
load('aircraftPitchSSModel.mat'); sys = ss(A,B,C,D)
sys = A = x1 x2 x3 x1 -0.313 56.7 0 x2 -0.0139 -0.426 0 x3 0 56.7 0 B = u1 x1 0.232 x2 0.0203 x3 0 C = x1 x2 x3 y1 0 0 1 D = u1 y1 0 Continuous-time state-space model. Model Properties
結果の状態空間モデル sys を可制御コンパニオン形式に変換します。
csys = A = x1 x2 x3 x1 0 0 1.914e-15 x2 1 0 -0.9215 x3 0 1 -0.739 B = u1 x1 1 x2 0 x3 0 C = x1 x2 x3 y1 0 1.151 -0.6732 D = u1 y1 0 Continuous-time state-space model. Model Properties
csys は sys の可制御コンパニオン形式です。
この例では次を使用します。
ファイル icEngine.mat には、サンプリング レート 0.04 秒で収集した 1500 の入力/出力サンプルによる 1 つのデータ セットが含まれます。入力 u(t) は、By-Pass Idle Air Valve (BPAV) を制御する電圧 (V) で、出力 y(t) は、エンジン速度 (RPM/100) です。
icEngine.mat
u(t)
y(t)
icEngine.mat のデータを使用して、同定可能なパラメーターをもつ状態空間モデルを作成します。
load icEngine.mat z = iddata(y,u,0.04); sys = n4sid(z,4,'InputDelay',2);
同定された状態空間モデル sys を可観測コンパニオン形式に変換します。
[osys,T] = compreal(sys,"o");
sys の周波数応答の信頼限界を osys と比較します。
osys
bp = bodeplot(sys,osys,'r.'); showConfidence(bp)
周波数応答の信頼限界は同一です。
また、compreal は可観測コンパニオン形式が Ao=TAT-1、Bo=TB、Co=CT-1 になるように変換行列 T を返します。
compreal
動的システム。SISO または MIMO 動的システム モデルとして指定します。使用できる動的システムには次のようなものがあります。
tf モデル、zpk モデル、ss モデル、pid モデルなどの連続時間または離散時間の数値 LTI モデル。
tf
zpk
ss
pid
genss や uss (Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル。(不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です。)
genss
uss
idtf (System Identification Toolbox)、idss (System Identification Toolbox)、idproc (System Identification Toolbox)、idpoly (System Identification Toolbox)、idgrey (System Identification Toolbox) モデルなどの、同定された LTI モデル。(同定されたモデルを使用するには System Identification Toolbox™ ソフトウェアが必要です。)
idtf
idss
idproc
idpoly
idgrey
frd モデルなどの周波数応答データ モデルは使用できません。
frd
コンパニオン実現タイプ。"c" (可制御コンパニオン形式) または "o" (可観測コンパニオン形式) として指定します。
次の特性多項式を備えたシステムの場合、
P(s)=sn+αn−1sn−1+αn−2sn−2+…+α1s+α0,
この関数はコンパニオン形式を以下のように返します。
可制御コンパニオン形式
可制御コンパニオン実現では、システムの特性多項式は、行列 A の右端の列に明示的に現れます。
Accom=[0100⋮00010⋮00001⋮0…………⋱…0000⋮1−α0−α1−α2−α3 ⋮−αn−1], Bccom=[10⋮0].
可観測コンパニオン形式
可観測コンパニオン実現では、システムの特性多項式は、行列 A の最後の行に明示的に現れます。
Aocom=[000⋮0−α0100⋮0−α1010⋮0−α2001⋮0−α3………⋱……000⋮1−αn−1], Cocom=[10…0].
詳細については、状態空間実現を参照してください。
動的モデルのコンパニオン状態空間形式。ss モデル オブジェクトとして返されます。csys は、type で指定されたコンパニオン形式 (可制御または可観測) の sys の状態空間実現です。
[]
変換行列。n 行 n 列の行列として返されます。ここで n は状態の数です。
行列 A、B、C をもつ陽的な状態空間モデルの場合は、関数は以下になるように T を返します。
記述子状態空間モデルの場合は、関数は常に空の値 [] を返します。
コンパニオン実現の計算には、多くの場合、悪条件の変換および精度の損失が伴います。数値的に安定した代替方法としては、modalreal または balreal を使用してください。
modalreal
balreal
R2023b で導入
modalreal | ss2ss | ssequiv | balreal | pole | ss
ss2ss
ssequiv
pole
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ