Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

モデル線形化器を使用した線形化したモデルの状態の順序の指定

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

  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[線形解析ワークスペース] に表示されます。線形化結果ビューアーが開き、モデルについての情報が表示されます。

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

コマンド ラインにおける線形化したモデルの状態の順序の指定

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

  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'