ドキュメンテーション

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

定常状態の操作点のバッチ計算

この例では、findop コマンドを使用して、複数の操作点の仕様に対し操作点を検索する方法を説明します。操作点を使用してモデルをバッチ線形化し、モデルの動作の変化を調べることができます。

findop を呼び出すたびに、ソフトウェアは Simulink® モデルをコンパイルします。複数の仕様の操作点を検索するには、for ループ内で findop を繰り返し呼び出すのではなく、findop に操作点の仕様のベクトルを指定します。ソフトウェアはモデルのコンパイルを 1 回のみ実行して複数の操作点を計算します。これは特に、再コンパイルの繰り返しに時間がかかるモデルに効果的です。

  1. Simulink モデルを開きます。

    sys = 'scdspeed';
    open_system(sys)
  2. 操作点の仕様オブジェクトを作成します。

    opspec1 = operspec(sys);

    既定では、すべてのモデル状態が定常状態に指定されています。

  3. 出力仕様を設定します。

    blk = [sys '/rad//s to rpm'];
    opspec1 = addoutputspec(opspec1,blk,1);
    opspec1.Outputs(1).Known = true;
    opspec1.Outputs(1).y = 1500;
    

    opspec1 は、ブロックの出力の rad/s to rpm が 500 に固定されている定常状態の操作点を指定します。

  4. 追加の操作点の仕様を作成し、構成します。

    opspec2 = copy(opspec1);
    opspec2.Outputs(1).y = 2000;
    
    opspec3 = copy(opspec1);
    opspec3.Outputs(1).y = 2500;
    

    copy コマンドを使用すると、opspec1 を変更せずに編集できる独立した操作点の仕様が作成されます。ここで、仕様 opspec2 および opspec3 は、ターゲットの出力レベルを除いて opspec1 と同一です。

  5. 3 つの出力仕様をそれぞれ満たす操作点を検索します。

    opspecs = [opspec1,opspec2,opspec3];
    ops = findop(sys,opspecs);
    bdclose(sys)

    ベクトル opspecs で、3 つの操作点の仕様を findop に渡します。findop に操作点の仕様のベクトルを渡すと、1 回のモデルのコンパイルですべての操作点が検索されます。ops は、ベクトル内の 3 つの仕様に対応する、モデル scdspeed の操作点オブジェクトのベクトルです。

参考

|

関連する例

この情報は役に立ちましたか?