WSMLink`
WSMLink`

WSMLinearize

WSMLinearizeは,バージョン11.3で試験的に導入されたSystemModelLinearizeに段階的に置き換えられつつある.

WSMLinearize["mmodel"]

平衡でモデル "mmodel" に線形化された状態空間を与える.

WSMLinearize["mmodel",{{{x1,x10},},{{u1,u10},}}]

状態値{x10,}と初期値{u10,}で線形化する.

詳細とオプション

  • WSMLinearizeは,Wolfram SystemModelerで設計された連続時間系を線形化する.
  • WSMLinearizeStateSpaceModelオブジェクトを返す.
  • WSMLinearize["mmodel",spec]は,spec に以下の記号的な値を許す.
  • "EquilibriumValues"WSMFindEquilibrium["mmodel"]を使う
    "InitialValues"WSMModelData["mmodel","GroupedInitialValues"]を使う
  • WSMLinearize["mmodel",vals,spec]spec を使って,vals の欠落値を加える.
  • デフォルトの spec は,"EquilibriumValues"であるとみなされる.
  • 結果のStateSpaceModel"mmodel"で定義されるように,状態 xi,入力 uj,出力 yk を持つ.
  • 状態,入力,出力のリストは,WSMModelData["mmodel",spec]から求めることができる.
  • "StateVariables"状態変数 xi
    "InputVariables"入力変数 uj
    "OutputVariables"出力変数 yk
  • WSMLinearizeは,微分代数方程式系を常微分方程式系に簡約し,結果の常微分方程式を線形化する.
  • 状態方程式 と出力方程式 を持つ常微分方程式系は,点 および で線形化される.
  • 線形化された系は,状態 ,入力 ,出力 を,状態方程式 および出力方程式 で持つ.行列は,で与えられる.これらはすべて および で評価される.
  • 返されたStateSpaceModelは,系 に相当する.
  • WSMNames["*.mmodel"]が一意的なマッチを与えるところでは,最短の一意的なモデル名 mmodel を使うことができる.
  • 与えられるオプション:
  • Method "NumericDerivative"線形化アルゴリズム用のメソッド
    WSMProgressMonitorAutomatic進捗の表示を制御する
  • オプションMethodが取り得る設定:
  • "NumericDerivative"SystemModelerの線形化を使う
    "SymbolicDerivative"StateSpaceModelの線形化を使う

例題

すべて開くすべて閉じる

  (4)

Wolfram SystemModeler Linkをロードする:

平衡付近でDCモーターモデルを線形化する:

指定の状態と入力の制約条件で,平衡付近での混合タンクモデルを線形化する:

モデルの図表現を入力として使う:

上の出力をコピーアンドペーストする:

スコープ  (13)

モデルタイプ  (5)

テキストのRLC回路モデルを線形化する:

RLC回路のブロック図モデルを線形化する:

非因果的RLC回路を線形化する:

微分代数方程式モデルを線形化する:

微分代数方程式を記号的に線形化する:

限定的な場合  (3)

入力を含まないモデルを線形化する:

状態を含まないモデルを線形化する:

出力を含まないモデルを線形化する:

線形化の値  (5)

平衡付近で線形化する:

初期値付近で線形化する:

指定の状態と入力の制約条件で,平衡付近において線形化を行う:

状態の制約条件で平衡付近において線形化を行う:

初期値を残りの値に使って,指定の部分的な状態と入力の付近で線形化する:

一般化と拡張  (1)

結果のStateSpaceModelでラベルを隠す:

オプション  (4)

Method  (4)

デフォルトで"NumericDerivative"メソッドが使われる:

メソッド"SymbolicDerivative"は,StateSpaceModelを使って系の方程式を線形化する:

いくつかのパラメータを記号のまま保ち,記号的に線形化する:

部分的に記号的な線形化点を使い,記号的に線形化する:

アプリケーション  (9)

線形化系の解析  (5)

モデルと,平衡点におけるその線形化からの応答を比べる:

平衡点付近で線形化する:

定常出力応答を非線形モデルと比べる:

y1出力を比べる:

系の行列の固有値からの線形化された系の安定性を検証する:

正の実部を持つ固有値があるので,系は不安定である:

出力応答のプロットも不安定な系を示唆している:

伝達関数の極から線形化された系の安定性を検証する:

正の実部を持つ極があるので,系は不安定である:

線形モデルを使って周波数解析を行う:

線形化された伝達関数 について TemplateBox[{{H, (, {ⅈ,  , omega}, )}}, Abs] をプロットして:

シミュレーションのデータ上のFourierを使って結果を確かめる:

から TemplateBox[{{H, (, {ⅈ,  , omega}, )}}, Abs] を計算する:

あるいは,固有値の虚部が共振ピークを返す:

線形化は,時間0において起る:

時間0で接続するスイッチで線形化を行う:

スイッチが時間0に接続されていない場合には,結果は異なる:

線形化系の制御器設計  (4)

リード線ベースの制御器をDCモーターについてその線形化に基づいて設計する:

PIリード線制御器の伝達関数を定義する:

開ループ伝達関数:

制御器パラメータを選ぶ:

選ばれたパラメータを使い,PIリード線制御器でループを閉じる:

極を配置して制御器を設計する:

閉ループの極を置く:

閉ループの状態空間モデルを計算する:

ステップ応答を示す:

線形二次(LQ)制御器を設計する:

状態と入力の重み行列を定義する:

LQ制御器のゲインを定義する:

閉ループの状態空間モデル:

閉ループの応答:

状態推定器を設計する:

推定器ゲインと推定器の状態空間モデルを計算する:

入力の単位ステップに対する状態と出力の応答:

観測器の状態応答:

それぞれの状態とその推定を比べる:

特性と関係  (8)

WSMModelDataを使って初期値付近で線形化する:

結果を比べる:

WSMFindEquilibriumを使って平衡付近で線形化する:

結果を比べる:

平衡点におけるモデルとその線形化からの応答を比べる:

平衡点付近で線形化する:

定常出力応答を非線形モデルと比べる:

第1出力を比べる:

非平衡点におけるモデルとその線形化からの応答を比べる:

指定点付近で線形化する:

定常出力応答を非線形モデルと比べる:

出力方程式を得る:

定常出力を得る:

第1出力を比べる:

TransferFunctionModelを使って,伝達関数表現に変換する:

ToDiscreteTimeModelを使って,線形化されたモデルを離散化する:

サンプル時間0.10を使って離散化する:

線形化された状態空間モデルは一意的ではない:

変数x1x2が宣言される順序を変える:

モデルは等しく,同一の伝達関数を持つ:

StateSpaceModelは,常微分方程式の系を線形化することができる:

近似の数値パラメータ値を使う:

同じ系のモデルを線形化するためにSystemModelerを使う:

考えられる問題  (1)

モデルによっては,記号的に線形化できないものもある:

"NumericDerivative"を使って数値的に線形化する: