ドキュメンテーション

目次

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

線形化したモデルの状態の順序

線形解析ツールを使用した線形化モデルの状態の順序の制御

以下の例では、線形化されたモデルの状態の順序を制御する方法を説明します。この状態の順序は、線形化の結果に表示されます。

  1. 線形化するモデルを開いて設定します。

    sys = 'magball';
    open_system(sys)
    sys_io(1)=linio('magball/Controller',1,'input');
    sys_io(2)=linio('magball/Magnetic Ball Plant',1,'openoutput');
    setlinio(sys,sys_io);
    opspec = operspec(sys);
    op = findop(sys,opspec);

    以上のコマンドは、プラントの線形化を指定し、定常状態の操作点を計算します。

  2. このモデル用に線形解析ツールを開きます。

    Simulink® モデル ウィンドウで、[解析][制御設計][線形解析] を選択します。

  3. [正確な線形化] ダイアログ ボックスのオプションを開きます。

    [正確な線形化] タブで [オプション] をクリックします。

  4. [状態の並べ替え] タブで [状態の並べ替えを有効にする] チェック ボックスをオンにします。

  5. [上に移動] および [下に移動] ボタンを使用して状態を並べ替えて指定します。

      ティップ   線形解析ツールが開いているモデルを変更するには、[モデルと同期] をクリックして状態のリストを更新します。

  6. モデルを線形化します。

    線形解析ツールで をクリックします。

    新しい線形化モデル linsys1[線形解析ワークスペース] に表示されます。

  7. 線形化の結果のダイアログ ボックスを開き、線形化されたモデルの状態の順序を表示します。

    [線形解析] タブをクリックします。[レポートの選択] リストの [結果の詳細を表示] を選択します。

    線形モデルの状態が、指定された順序で表示されます。

MATLAB コードを使用した線形化モデルの状態の順序の制御

以下の例では、線形化されたモデルの状態の順序を制御する方法を説明します。この状態の順序は、線形化の結果に表示されます。

  1. 線形化するモデルを読み込んで設定します。

    sys = 'magball';
    load_system(sys);
    sys_io(1)=linio('magball/Controller',1,'input');
    sys_io(2)=linio('magball/Magnetic Ball Plant',1,'openoutput');
    opspec = operspec(sys);
    op = findop(sys,opspec);

    以上のコマンドは、プラントの線形化を指定し、定常状態の操作点を計算します。

  2. モデルを線形化し、線形モデルの状態を表示します。

    linsys = linearize(sys,sys_io);
    linsys.StateName

    線形モデルの状態が既定の順序で表示されます。この線形モデルには、モデル全体の状態ではなく、線形化されたブロック内の状態のみ含まれています。

    ans = 
        'height'
        'Current'
        'dhdt'
    
  3. 状態の順序を定義します。

    stateorder = {'magball/Magnetic Ball Plant/height';...
                  'magball/Magnetic Ball Plant/dhdt';...
                  'magball/Magnetic Ball Plant/Current'};
  4. 再びモデルを線形化し、線形モデルの状態を表示します。

    linsys = linearize(sys,sys_io,'StateOrder',stateorder);
    linsys.StateName

    線形モデルの状態が、指定された順序で表示されます。

    ans = 
        'height'
        'dhdt'
        'Current'
この情報は役に立ちましたか?