このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ss2ss
状態空間モデルの状態座標変換
説明
ss2ss
は、状態空間モデルの状態ベクトル x に対して相似変換 z = Tx を実行します。詳細については、アルゴリズムを参照してください。
例
状態空間モデルの相似変換
状態空間モデルの相似変換を実行します。
ランダムな状態空間モデルと変換行列を生成します。
rng(0) sys = rss(5); t = randn(5);
変換を実行して、両方のモデルの周波数応答をプロットします。
tsys = ss2ss(sys,t); bode(sys,'b',tsys,'r--') legend
両方のモデルの応答が厳密に一致します。
一般化状態空間モデルの相似変換
ss2ss
は、状態変換を、一般化モデルの数値部分の状態ベクトルにのみ適用します。
genss
モデルを作成します。
sys = rss(2,2,2) * tunableSS('a',2,2,3) + tunableGain('b',2,3)
sys = Generalized continuous-time state-space model with 2 outputs, 3 inputs, 4 states, and the following blocks: a: Tunable 2x3 state-space model, 2 states, 1 occurrences. b: Tunable 2x3 gain, 1 occurrences. Type "ss(sys)" to see the current value, "get(sys)" to see all properties, and "sys.Blocks" to interact with the blocks.
変換行列を指定して、変換を取得します。
T = [1 -2;3 5]; tsys = ss2ss(sys,T)
tsys = Generalized continuous-time state-space model with 2 outputs, 3 inputs, 4 states, and the following blocks: a: Tunable 2x3 state-space model, 2 states, 1 occurrences. b: Tunable 2x3 gain, 1 occurrences. Type "ss(tsys)" to see the current value, "get(tsys)" to see all properties, and "tsys.Blocks" to interact with the blocks.
両方のモデルを分解します。
[H,B,~,~] = getLFTModel(sys); [H1,B1,~,~] = getLFTModel(tsys);
分解された sys
からのモデルで個別に変換を取得します。
H2 = ss2ss(H,T);
この変換されたモデルを、分解された tsys
からのモデルと比較します。
isequal(H1,H2)
ans = logical
1
両方のモデルは等価です。
同定された状態空間モデルの相似変換
ファイル icEngine.mat
には、サンプリング レート 0.04 秒で収集した 1500 の入力/出力サンプルによる 1 つのデータセットが含まれます。入力 u(t)
は、By-Pass Idle Air Valve (BPAV) を制御する電圧 (V) で、出力 y(t)
は、エンジン速度 (RPM/100) です。
icEngine.mat
のデータを使用して、同定可能なパラメーターをもつ状態空間モデルを作成します。
load icEngine.mat z = iddata(y,u,0.04); sys = n4sid(z,4,'InputDelay',2);
ランダムな変換行列を指定します。
T = randn(4);
変換を取得します。
sysT = ss2ss(sys,T);
周波数応答を比較します。
bode(sys,'b',sysT,'r--') legend
応答は厳密に一致します。
複素係数をもつモデルの変換
ss2ss
を使用して、複素係数をもつモデルの相似変換も実行できます。
この例では、複素係数をもつランダムな状態空間モデルを生成します。
rng(0) sys = ss(randn(5)+1i*randn(5),randn(5,3),randn(2,5)+1i*randn(2,5),0,.1);
複素数データを含む変換行列を指定します。
T = randn(5)+1i*randn(5);
変換を取得します。
sysT = ss2ss(sys,T);
周波数応答の特異値を比較します。
sigma(sys,'b',sysT,'r--') legend
応答は両方の分岐で厳密に一致します。
入力引数
sys
— 動的システム
動的システムのモデル
動的システム。SISO または MIMO 動的システム モデルとして指定します。使用できる動的システムには次のようなものがあります。
genss
やuss
(Robust Control Toolbox) モデルなどの一般化された、あるいは不確かさをもつ LTI モデル (不確かさをもつモデルを使用するには Robust Control Toolbox™ ソフトウェアが必要です)。このようなモデルでは、状態変換は、モデルの数値部分の状態ベクトルにのみ適用されます。これらのモデルの分解の詳細については、
getLFTModel
と一般化モデルの内部構造を参照してください。同定された状態空間
idss
(System Identification Toolbox) モデル (同定されたモデルを使用するには System Identification Toolbox™ ソフトウェアが必要です)。
sys
が状態空間モデルの配列である場合、ss2ss
は変換 T
を配列内の各個別モデルに適用します。
アルゴリズム
ss2ss
は、状態空間モデルの状態ベクトル x に対して相似変換 を実行します。
各モデル形式について ss2ss
で返される変換を次の表にまとめます。
入力モデル | 変換後のモデル |
---|---|
次の形式の明示的な状態空間モデル: | |
次の形式の記述子 (暗黙的な) 状態空間モデル: | |
次の形式の同定された状態空間 ( | |
バージョン履歴
R2006a より前に導入R2021b: ss2ss
は、記述子状態空間モデルの異なる変換結果を返します。
記述子状態空間モデルの場合
ss2ss
は以下を返します。
以前は、以下の変換が返されていました。
R2021b: mechss
モデルでは、相似変換はサポートされなくなりました。
ss2ss
ではスパース 2 次 (mechss
) モデルはサポートされなくなりました。mechss
モデルで相似変換を実行すると、対称性が破棄され、明確な一般形式はありません。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)