Main Content

getx0

初期条件を mechss オブジェクトから sparss オブジェクトにマッピング

R2020b 以降

    説明

    x0 = getx0(sys,q0,dq0) は、連続時間スパース 2 次モデル sys の変位 q0 および速度 dq0 の初期条件を使用して、等価のスパース 1 次モデルの一致する初期条件 x0 を計算します。q0dq0 が 0 の場合、2 番目と 3 番目の入力引数は省略できます。[sys.M;sys.G] 行列にゼロの列がない場合、出力は x0=[q0dq0]=[q(0)dqdt(0)] となります。

    一般的に、sparss モデルの状態は x=[qdq(jnz)] となります。ここで、jnz は、[sys.M;sys.G] の非ゼロ列のインデックスです。結果の状態数 nxnx=nq+numel(jnz)2nq です。ここで nqmechss オブジェクト sys のノードの数です。

    x0 = getx0(sys,q1,q2) は、離散時間システムの初期値 q1 = q[k]q2 = q[k+1] を使用して一致する初期条件を計算します。q0dq0 がゼロの場合、2 番目と 3 番目の入力引数は省略できます。mechss モデル sysM 行列および G 行列にゼロの列がない場合、出力は x0=[q1q2]=[q[k]q[k+1]] となります。

    すべて折りたたむ

    この例では、108 のノードをもつ連続時間スパース 2 次モデルについて考えます。行ベクトル q0dq0 は、それぞれ変位と速度の初期条件です。ベクトル q0dq0 は、sys 内のノードの数と同じサイズです。

    sparseSOC.mat のデータを読み込み、getx0 を使用して等価のスパース 1 次モデルの初期条件を求めます。

    load('sparseSOC.mat','sys','q0','dq0');
    x0 = getx0(sys,q0,dq0);
    size(x0)
    ans = 1×2
    
       216     1
    
    

    この例では、x0=[q0dq0]Continuous-time initial condition formula であるため、ベクトル x0 には 216 の状態が含まれています。

    この例では、7102 のノードをもつ離散時間スパース 2 次モデルについて考えます。行ベクトル q1q2 は、それぞれ k および k+1 タイム ステップの初期条件です。ベクトル q1q2 は、sys 内のノードの数と同じサイズです。

    sparseSOD.mat のデータを読み込み、getx0 を使用して等価の離散時間スパース 1 次モデルの初期条件を求めます。

    load('sparseSOD.mat','sys','q1','q2');
    x0 = getx0(sys,q1,q2);
    size(x0)
    ans = 1×2
    
           14204           1
    
    

    この例では、x0=[q1q2]Continuous-time initial condition formula であるため、ベクトル x0 には 14204 の状態が含まれています。

    入力引数

    すべて折りたたむ

    スパース 1 次モデルに変換される連続時間または離散時間のスパース 2 次モデル。mechss モデル オブジェクトとして指定します。

    詳細については、mechss のリファレンス ページを参照してください。

    変位ベクトルの初期値。長さ Nq の行ベクトルとして指定します。ここで Nq は連続時間 2 次スパース モデル sys 内の状態の数です。

    速度ベクトルの初期値。長さ Nq の行ベクトルとして指定します。ここで Nq は連続時間 2 次スパース モデル sys 内の状態の数です。

    k の状態ベクトルの初期値。長さ Nq の行ベクトルとして指定します。ここで Nq は連続時間 2 次スパース モデル sys の状態の数です。つまり、q1 = q[k] です。

    k の状態ベクトルの初期値。長さ Nq の行ベクトルとして指定します。ここで Nq は連続時間 2 次スパース モデル sys の状態の数です。つまり、q2 = q[k+1] です。

    出力引数

    すべて折りたたむ

    等価のスパース 1 次モデルのマッピングされた初期条件。double の配列として返されます。mechss オブジェクトの質量行列 M と速度から出力への行列 G にゼロの列が含まれない場合は、次のようになります。

    • x0=[q0dq0]=[q(0)dqdt(0)] (連続時間システムの場合)。

    • x0=[q1q2]=[q[k]q[k+1]] (離散時間システムの場合)。

    バージョン履歴

    R2020b で導入