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

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

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

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

  1. 線形化するモデルを開き、線形化 I/O と線形化用の操作点を指定することで設定を行います。この手順は、たとえば、平衡化された操作点での線形化で示されているように実行できます。コマンド ラインでモデルを事前設定するには、次のコマンドを使用します。

    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. 線形化結果ビューアーを有効にします。[線形解析] タブで、[結果ビューアー] をオンにします。

    このオプションがオンになると、モデルを線形化した際に結果ビューアーが表示され、状態の並べ替えを参照し確認できるようになります。

    ヒント

    [結果ビューアー] をオンにしない場合、または結果ビューアーを閉じた場合は、以前に線形化されたモデルの結果ビューアーを開くことができます。これを行うには、[プロットと結果] タブで [線形解析ワークスペース] の線形モデルを選択し、 [結果ビューアー] をクリックします。

  7. モデルを線形化します。たとえば、 [ボード線図] をクリックします。

    新しい線形化モデル linsys1[線形解析ワークスペース] に表示されます。線形化結果ビューアーが開き、モデルについての情報が表示されます。

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

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'