メインコンテンツ

mechssdata

R2026b

2 次スパース状態空間モデル データにアクセスする

    説明

    [M,C,K,B,F,G,D] = mechssdata(sys) は、スパース状態空間モデル sys の M、C、K、B、F、G および D 行列を返します。sys が mechss モデルでない場合、最初に mechss モデル形式に変換されます。

    システムに内部遅延がある場合、mechssdata は pade(sys,0) の行列を返します。これには、内部遅延のフィードバック ループが伴い、モデルは微分代数方程式 (DAE) で保持されます。その結果、行列 M、C、および K はスパース性を維持するためにフィードバック信号で拡張されるため、そのサイズは通常 sys の次数よりも大きくなります。

    例

    [M,C,K,B,F,G,D,ts] = mechssdata(sys) はサンプル時間 ts も返します。

    例

    ___ = mechssdata(sys,J1,...,JN) は、モデル配列 sys の J1,...,JN エントリのデータを抽出します。

    例

    例

    すべて折りたたむ

    この例では、連続時間 mechss モデル sys1 を含む sparseSOModels.mat について考えます。

    モデル sys1 をワークスペースに読み込み、mechssdata を使用してスパース行列を抽出します。

    load('sparseSOModels.mat','sys1');
    size(sys1)
    Sparse second-order model with 2 outputs, 2 inputs, and 299 degrees of freedom.
    
    [M,C,K,B,F,G,D] = mechssdata(sys1);

    行列は、double のスパース配列として返されます。

    この例では、離散時間 mechss モデル sys2 を含む sparseSOModels.mat について考えます。

    モデル sys2 をワークスペースに読み込み、mechssdata を使用してスパース行列を抽出します。

    load('sparseSOModels.mat','sys2');
    size(sys2)
    Sparse second-order model with 3 outputs, 3 inputs, and 108 degrees of freedom.
    
    [M,C,K,B,F,G,D,ts] = mechssdata(sys2);

    行列は、double のスパース配列として返されます。

    この例では、スパース 2 次モデル sys の 3 行 1 列の配列に含まれる特定のスパース 2 次状態空間モデルのスパース行列を抽出します。

    データを読み込み、配列内の 2 番目のモデルのスパース行列を抽出します。

    load('sparseSOModelArray.mat','sys');
    size(sys)
    1x3 array of sparse second-order models.
    Each model has 1 outputs, 3 inputs, and 1174 degrees of freedom.
    
    [M,C,K,B,F,G,D] = mechssdata(sys,1,2);

    入力引数

    すべて折りたたむ

    動的システム。SISO または MIMO 動的システム モデル、あるいは SISO または MIMO 動的システム モデルの配列として指定します。使用できる動的システムには、mechss、sparss、tf、ss、zpk モデルなどの連続時間または離散時間の数値 LTI モデルが含まれます。

    sys が mechss モデル オブジェクトでない場合は、最初に mechss を使用して 2 次スパース状態空間モデルに変換されます。2 次スパース状態空間モデルのデータ形式の詳細については、mechss のリファレンス ページを参照してください。

    アクセスするデータをもつ配列内のモデルインデックス。正の整数として指定します。sys における配列の次元数と同じ数のインデックスを指定できます。たとえば、sys がスパース モデルの 4 行 5 列の配列である場合、次のコマンドは配列のエントリ (2,3) のデータにアクセスします。

    [M,C,K,B,F,G,D] = mechssdata(sys,2,3);

    出力引数

    すべて折りたたむ

    質量行列。Nq 行 Nq 列のスパース行列として返されます。ここで、Nq はノードの数です。

    減衰行列。Nq 行 Nq 列のスパース行列として返されます。ここで、Nq はノードの数です。

    剛性行列。Nq 行 Nq 列のスパース行列として返されます。ここで、Nq はノードの数です。

    入力から状態への行列。Nq 行 Nu 列のスパース行列として返されます。ここで Nq はノードの数、Nu は入力の数です。

    変位から出力への行列。Ny 行 Nq 列のスパース行列として返されます。ここで Nq はノードの数、Ny は出力の数です。

    速度から出力への行列。Ny 行 Nq 列のスパース行列として返されます。ここで Nq はノードの数、Ny は出力の数です。

    入力から出力への行列。Ny 行 Nu 列のスパース行列として返されます。ここで Ny は出力の数、Nu は入力の数です。D は静的ゲイン行列とも呼ばれ、定常状態の条件下での入力に対する出力の比率を表します。

    サンプル時間。スカラーとして返されます。

    バージョン履歴

    R2020b で導入