Main Content

コマンド ラインを使用したモデルの一部の線形化の指定

線形化の対象として Simulink® モデルの一部を指定する場合、コマンド ラインで関数 liniosetlinio および getlinio を使用して線形解析ポイントを定義できます。解析ポイントは、モデルの線形化の入力、出力およびループ開始点を表します。この方法を使用すると、モデルを変更せずに複数の解析ポイント セットを指定できます。

あるいは、次の方法で解析ポイントを定義することもできます。

解析ポイントの指定

コマンド ラインで解析ポイントを指定するには、関数 linio を使用して線形化 I/O オブジェクトを作成します。モデル内のブロックの出力端子に解析ポイントを作成するには、次の構文を使用します。

io = linio(block,port,type);

ここで

  • block はブロックの絶対パスで、文字ベクトルとして指定します。

  • port は出力端子番号です。

  • type は解析ポイントのタイプで、次のいずれかとして指定します。

    • 'input' — 入力の摂動

    • 'output' — 出力の測定値

    • 'loopbreak' — ループの中断

    • 'openinput' — 開ループの入力

    • 'openoutput' — 開ループの出力

    • 'looptransfer' — ループ伝達

    • 'sensitivity' — 感度

    • 'compsensitivity' — 相補感度

解析ポイントのタイプの詳細については、モデルの一部を線形化するよう指定を参照してください。

解析ポイントを作成した後、ドット表記を使ってそのタイプを変更できます。たとえば、解析ポイントを開ループ出力に変更するには、次を使用します。

io.Type = 'openoutput';

モデル内のバス要素に解析ポイントを指定することもできます。例については、linio を参照してください。

複数の解析ポイントを指定するには、線形化 I/O オブジェクトのベクトルを作成します。たとえば、入力の摂動、出力の測定、ループ開始点を 1 つずつ含む解析ポイントのセットを作成します。

io(1) = linio(block1,port1,'input');
io(2) = linio(block2,port2,'output');
io(3) = linio(block3,port3,'loopbreak');

指定した解析ポイントを使ってモデルを線形化するには、関数 linearize を使用します。

Simulink モデルでの解析ポイントの保存

関数 setlinio を使用して、指定した解析ポイントを Simulink モデルに保存できます。

setlinio(mdl,io);

ここで、mdl は現在の作業フォルダー内または MATLAB® パス上にあるモデルの名前を指定する文字ベクトル、io は線形化 I/O オブジェクトのベクトルです。

io の解析ポイントは、モデルに保存されている解析ポイントをすべて上書きします。

あるいは、解析ポイントをモデル内に直接指定することもできます。詳細については、Simulink モデルでモデルの一部を線形化する指定を参照してください。

Simulink モデルからの解析ポイントの取得

モデルに保存した解析ポイントを使用して関数 linearize でモデルを線形化するには、まず関数 getlinio を使用して解析ポイントを抽出しなければなりません。

io = getlinio(mdl);

ここで、mdl は現在の作業フォルダー内または MATLAB パス上にあるモデルの名前を指定する文字ベクトルです。

参考

| | |

関連するトピック